- •Литература
- •Кортежные переменные и правильно построенные формулы
- •Реляционное исчисление доменов
- •1.Структура бд
- •2. Описание нашей базы данных
- •3. Данные и взаимосвязи
- •3.1 Объекты
- •3.3. Отношение один-ко-многим
- •3.5 Отношение многий-ко-многим
- •3.6 Отношение один-к-одному
- •4. Руководство по нормализации
- •2 Семестр
- •1.Ограничения реляционных баз данных.
- •2.Постреляционные субд.
- •3.Объектно-ориентированные субд.
- •4.Объектно-ориентированная парадигма.
- •5.Объектно-ориентированные субд.
- •7.Объектно-реляционные субд.
- •Литература: Концептуальное моделирование. Пример построения модели "сущность-связь"
- •2.Бинарные связи
- •3.N - арные связи.
- •4.Иерархические связи.
- •А) плотный индекс; б) разреженный индекс.
1.Структура бд
Процесс, в ходе которого решается, какой вид будет у вновь создаваемой базы данных, называется проектированием базы данных (database design). Работа по проектированию базы данных включает выбор
• таблиц, которые будут входить в базу данных,
• столбцов, принадлежащих каждой таблице,
• взаимосвязей между таблицами и столбцами.
Конструирование базы данных связано с построением ее логической структуры. В реляционной модели логическая структура базы абсолютно не зависит от ее физической структуры и способа хранения. Логическая структура также не определяется тем, что видит у себя на экране конечный пользователь (это могут быть виртуальные таблицы, созданные разработчиком (подробно об этом — в главе 9) или прикладными программами).
Конструирование баз данных на основе реляционной модели имеет ряд важных преимуществ перед другими моделями.
• Независимость логической структуры от физического и пользовательского представления.
• Гибкость структуры базы данных — конструктивные решения не ограничивают ваши возможности выполнять в будущем самые разнообразные запросы.
Так как реляционная модель не требует от вас описания всех возможных связей между данными, вы можете впоследствии задавать запросы о любых логических взаимосвязях, содержащихся в базе, а не только о тех, которые планировались первоначально. (В этой главе под словом "вы" мы подразумеваем разработчика базы данных.)
С другой стороны, реляционные системы не имеют никаких встроенных защитных механизмов против некорректных структурных решений и не умеют различать хорошую структуру базы данных от посредственной. К тому же не существует автоматизированных средств, которые могли бы заменить вас в процессе принятия структурных решений.
Краткий и в большей степени практический, нежели теоретический, материал этой лекции призван помочь вам в разработке баз данных средней сложности. Вы познакомитесь с основной терминологией, так что в случае необходимости, сможете впоследствии разобраться и в более сложных материалах, касающихся разработки баз данных. Основные принципы остаются неизменными, независимо от того, какую базу данных вы разрабатываете — простую или сложную.
Если вы работаете в однопользовательской системе, вероятнее всего, структура вашей базы данных будет достаточна проста, так что с помощью этой главы вы сможете без труда в ней разобраться.
Если вы работаете в многопользовательской системе, вопросы структуры и создания базы данных будут находиться в компетенции специалиста. Так обязательно будет, если ваши приложения используют данные, важные для других пользователей и всей вашей организации.
В этой лекции в качестве примера мы будем использовать базу данных bookbiz- Чтобы освоить материал этой главы и разобраться в структуре базы bookbiz, вам потребуется изучить команду SQL CREATE и познакомиться с процессом определения данных.
2. Описание нашей базы данных
База данных bookbiz содержит информацию о не существующей на самом деле компании, занимающейся издательской деятельностью и имеющей три дочерних издательства. В ней представлены данные, которые могут потребоваться редакторам, менеджерам и другим сотрудникам компании — информация о книгах, их авторах, редакторах, о финансовом состоянии компании. На их основе можно получать самые разнообразные отчеты, например о текущих продажах, сравнивать книги разных издательств, узнать, какие редакторы работали с какими авторами и т.д.
Пользователи базы данных bookbiz могут задавать самые разные запросы:
Кто из авторов проживает в Калифорнии? Какие книги стоят больше $9.95? Кто написал самое большее количество книг? И т.д.
Разрабатывая базу данных, даже не пытайтесь представить себе, какой из запросов будет наиболее важным для будущих пользователей вашего детища. Исследуйте их потребности на основе имеющегося у вас набора данных и личных бесед с пользователями.
Важной областью исследований являются бизнес-правила и политика вашей организации, которые могут оказывать влияние на данные. База данных bookbiz учитывает следующие особенности:
• автор может написать несколько книг;
• книга может быть написана несколькими авторами;
• порядок фамилий авторов на первой странице является критической информацией, так как влияет на получаемый ими гонорар;
• редактор может работать над несколькими книгами, и в каждой книге может быть несколько редакторов;
• в заказе на покупку может быть перечислено несколько книг.