- •Проектирование баз данных. Лекция 1. Введение. Банки и базы данных. Архитектура субд.
- •Хранимая база данных (Внутренняя модель)
- •Понятие проектирования баз данных. Различные подходы к проектированию бд.
- •Различные подходы к проектированию данных.
- •Сетевая модель данных.
- •Лекция 2.
- •Реляционные операции над отношениями.
- •Лекция 3. Аномалии хранения данных.
- •Функциональная зависимость.
- •Концептуальное проектирование данных. Нормализация. Понятие функциональной зависимости. Теорема Хита.
- •Теорема Хита.
- •Лекция 4. Пятая нф. Универсальное отношение. I и II нф.
- •Первая нормальная форма.
- •Вторая нормальная форма.
- •Третья нормальная форма. Транзитивные зависимости.
- •Лекция 5. Нормальная форма Бойса-Кодда. Четвертая нормальная форма. «Перенормализованные» модели данных.
- •Четвертая нормальная форма.
- •«Перенормализованные» модели данных.
- •Пример проектирования бд.
- •Отношение “Аптека”
- •Отношение “Лекарство”
- •Отношение “Наличие лекарств”
- •Отношение “Поставщик”
- •Отношение “Лицензия поставщика”
- •Отношение “Запрос на поставку”
- •Лекция 6. Проектирование в терминах «Сущность – связь»
- •Сущности и связи.
- •Классификация связей
- •Предварительные отношения для бинарных связей степени 1:1.
- •Лекция 7. Предварительные отношения для степени связи 1:n и m:n.
- •Предварительные отношения для степени связи m:n.
- •Лекция 14. Предварительные отношения для связей высших порядков. Использование ролевых отношений.
- •Студент
- •Использование ролевых отношений.
- •Рабочий
- •Подчиненный
- •Лекция 8. Развитой пример применения e-r проектирования.
- •Сопоставление методик нормализации и e-r проектирования. Физическое проектирование.
- •Физическое проектирование.
- •Ограничения целостности.
- •Заключение.
Лекция 8. Развитой пример применения e-r проектирования.
Рассмотрим пример, приведенный в разделе «Пример проектирования БД». В том разделе мы строили модель данных, описывающую деятельность аптекоуправления, используя алгоритм нормализации. Теперь же покажем, что E-R методика приводит к тому же результату.
Опираясь на очевидные соображения и определение сущности как объекта, существующего в предметной области, выделим сущности из постановки задачи. Результатом станут три сущности : Аптека (первичный ключ - № аптеки), Лекарство (код лекарства) и Поставщик (ГНИ). Как следует из описания предметной области, все эти сущности связаны между собой. (см. диаграмму …).
В диаграмме на рис.35 , как и в последующих диаграммах, использованы обозначения атрибутов, принятые в таблице 1. Каждая из сущностей передается отдельным отношением; первичным ключом является идентификатор экземпляра сущности.
Далее для построения информационной модели необходимо проанализировать связи между таблицами. В зависимости от степени связи и класса принадлежности принимается решение о механизмах реализации этих связей в модели.
Аптека
Поставщик
Лекарство
Рис. 35 . E-R диаграмма для задачи о деятельности аптекоуправления.
Связи «Лицензия» и «Наличие» являются бинарными. Если ввести предположение, что один поставщик может поставлять несколько лекарств и несколько поставщиков могут поставлять одно лекарство (те же соображения относятся и к аптекам), то степень этих связей - M:N. Классы принадлежности сущностей можно определить из следующих соображений. Каждая лицензия должна выдаваться конкретному поставщику для работы с определенным лекарственным препаратом. Можно представить себе ситуацию, в которой некоторые поставщики не имеют лицензий для работы с определенными препаратами, и на некоторые лекарства могут не быть выданы лицензии. Это позволяет говорить, что класс принадлежности сущностей «Поставщик» и «Лекарство» в связи «Лицензия» является необязательным.
Эти рассуждения можно интерпретировать и для связи «Наличие». Впрочем, стоит отметить, что рассуждения о классе принадлежности носят скорее академический характер, поскольку структура предварительных отношений для M:N связей не зависят от класса принадлежности. Согласно приведенным выше правилам, в этом случае связь моделируется с помощью отдельного отношения, первичным ключом которого является комбинация ключей двух связываемых сущностей.
Связь «Запрос» является тернарной. Вне зависимости от степени и классов принадлежности такая связь моделируется отдельным отношением, первичным ключом которого является комбинация ключей всех трех связываемых сущностей. Поскольку для всех связей строятся отношения, то эти отношения могут хранить и дополнительные (неключевые) атрибуты. Так, отношение для связи «Наличие» должно иметь атрибут для хранения величины остатка данного препарата и т.д.
Окончательный вид модели данных представлен на рис. 36.
Из диаграммы 2 видно, что полученные в результате процедуры E-R проектирования структуры баз данных совпадают с приведенными в таблицах 3-8. На этом этап построения концептуальной модели заканчивается.
Аптека
Поставщик
Лекарство
Рис. 36 . Окончательный вид E-R диаграммы для задачи о деятельности аптекоуправления.
