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