ВУЗ: Томский государственный университет систем управления и радиоэлектроники
Категория: Учебное пособие
Дисциплина: Базы данных
Добавлен: 28.11.2018
Просмотров: 7736
Скачиваний: 53
101
Рассмотрим в качестве примера предметную область библиотеки вуза, в
которой имеется сущность «Читатель» с атрибутами (Код, ФИО, Дата рожде-
ния, Тип). Очевидно, что в качестве читателей библиотеки могут выступать как
студенты, так и преподаватели вуза, имеющие разные наборы атрибутов. Таким
образом, сущности «Преподаватель» и «Студент» можно считать подтипами
супертипа «Читатель». Важно отметить, что сущности типа «Категория» возни-
кают только в тех ситуациях, когда подтипы имеют отличающийся друг от дру-
га набор атрибутов. Например, на рисунке 4.14 у преподавателей имеются та-
кие атрибуты, как «Должность», «Кафедра», «Ученая степень», а у студентов –
«Факультет», «Номер группы» и т. д.
Рис. 4.14 – Пример связи типа «Категория»
Для реализации связи типа «Категория» первичный ключ сущности-
супертипа мигрирует в область первичных ключей всех сущностей подтипа,
участвующих в этой связи. При этом первичный ключ сущности подтипа не
имеет других атрибутов, кроме мигрировавших. Все связи между супертипом и
подтипами относятся к виду 1:1.
В некоторых случаях все сущности связи типа «Категория» объединяют в
единую, содержащую полный набор атрибутов всех сущностей-подтипов. Это
может делаться с целью упрощения дальнейшего проектирования и реализации
запросов к будущим таблицам. Такая ситуация поможет уменьшить общее чис-
ло записей в БД, тем не менее важным недостатком может стать возрастание
занимаемого данными объема. Следствием подобной реализации будет наличие
Преподаватель
Код (ПК)
Кафедра
Должность
Ученая степень
Студент
Код (ПК)
Факультет
Номер группы
Читатель
Код (ПК)
ФИО
Дата рождения
Тип
102
некоторого числа пустых ячеек, для которых в любом случае будет выделена
память. Примером подобной реализации служит таблица 4.8, полученная путем
объединения сущностей «Читатель», «Преподаватель» и «Студент».
Таблица 4.8 – Реализация связи типа «Категория»
Код
ФИО
Дата
рождения
Тип
Ка-
федра
Долж-
ность
Ученая
сте-
пень
Фа-
куль-
тет
Номер
груп-
пы
1
Иванов
Сергей
Петрович
14.05.1988 ст.
ЭТ
116
2
Петров
Иван
Сергеевич
27.01.1989 ст.
ВС
598
3
Сергеев
Илья
Борисович
15.11.1963 пр. ЭМИС
ст.
преп.
4
Семенов
Иван
Дмитрие-
вич
01.06.1974 пр.
АОИ
доцент
к.т.н.
5
Алексеев
Семен Оле-
гович
05.10.1993 ст.
Экон.
446
6
Белов Петр
Иванович
01.11.1988 ст.
ЭТ
116
4.3.3 Методология проектирования на основе ER-моделей
Основная суть проектирования состоит в последовательном переходе в
представлении информации о предметной области от описательной формы к
форме, близкой к модели базы данных. В качестве основной методологии про-
ектирования, иллюстрирующей подход, основанный на использовании
ER-диаграмм, далее используется стандарт моделирования данных IDEF1X, ко-
торый представляет информацию в виде трех уровней логических моделей:
1) модель зависимости сущностей;
2) модель, основанная на ключах;
3) полноатрибутная модель.
Модель уровня сущностей является моделью нижнего уровня и применя-
ется для работы проектировщика информационной системы с экспертами про-
103
ектируемой системы. Модель включает сущности и связи между ними, которые
отражают основные объекты и их взаимодействие в предметной области, и до-
пускает присутствие всех типов связей (определенных, неопределенных, типа
«Категория»). Графическое представление этой модели называется ER-
диаграммой.
Модель, основанная на ключах, является дальнейшим развитием ER-
модели и содержит более подробное представление данных. Она содержит опи-
сание всех сущностей, связей между ними, первичных и внешних ключей. Эта
модель не допускает наличия неопределенных связей и требует их предвари-
тельного преобразования в определенные связи. Модель является переходным
звеном от модели уровня сущностей к полному описанию предметной области.
Графическое представление этой модели называется KB-диаграммой (Key
Based Diagram).
Полноатрибутная, или полностью определенная, модель является даль-
нейшим развитием модели уровня ключей и представляет собой законченное
описание предметной области. Модель содержит описание всех сущностей,
связей и атрибутов предметной области. Построением этой модели завершается
процесс инфологического проектирования, а модель в дальнейшем может быть
использована при построении готовой базы данных. Графическое представле-
ние этой модели называется FA-диаграммой (Full Attributed Diagram).
В соответствии с методологией стандарта IDEF1X построение итоговой
ER-диаграммы любой предметной области состоит в последовательном постро-
ении всех трёх моделей поэтапно. Рассмотрим процесс построения модели
предметной области на примере построения базы данных «Торговая компания».
Этап 1. Построение модели зависимостей сущностей
Первым шагом проектирования на данном этапе является составление
предварительного списка сущностей. Сначала на основе анализа предметной
области определяются так называемые кандидаты в сущности. Для этого выяв-
ляют экземпляры объектов предметной области с одинаковыми характеристи-
ками и объединяют их в одну сущность-кандидат.
Для того чтобы выбрать среди объектов, являющихся кандидатами, соб-
ственно сущности, разработчик модели должен относительно каждого кандида-
та ответить положительно на следующие вопросы:
• Можно ли описать этот объект, т. е. можно ли получить о нем инфор-
мацию?
104
• Имеет ли этот объект характеризующие его свойства?
• Можно ли получить информацию об этих свойствах?
• Можно ли выделить несколько образцов этого объекта, т. е. набор эк-
земпляров этого объекта с одинаковыми свойствами?
• Можно ли отличить один образец этого объекта от другого, т. е. име-
ется ли у объекта свойство (группа свойств), определяющее уникаль-
ность каждого образца этого объекта?
Если некоторые из этих вопросов будут иметь отрицательный ответ, то,
возможно, данного кандидата нужно рассматривать лишь в качестве атрибута
другой сущности.
Результат работы на данном этапе проектирования можно оформить в ви-
де таблицы (табл. 4.9). Здесь требуется отметить, что не все сущности из спис-
ка, составленного на первом этапе проектирования, могут остаться в пуле сущ-
ностей к концу этапа № 3. Кроме того, на следующих фазах проектирования в
пул могут быть добавлены новые сущности.
Таблица 4.9 – Пул сущностей первого этапа
№
Имя сущности
Описание сущности
1. Покупатель
Лицо, купившее у компании товары
2. Товар
Предметы, продаваемые компанией
3. Накладная
Документ, оформленный на единовремен-
ную закупку некоторого количества разных
товаров одним клиентом
В нашем примере анализ предметной области показал, что Торговая ком-
пания занимается оптовой продажей товаров покупателям. На каждого покупа-
теля в обязательном порядке оформляется документ – накладная на список
приобретенных покупателем товаров.
После составления списка сущностей необходимо выявить всевозможные
бинарные связи между ними. Каждой выявленной связи назначаются имя, ко-
торое является глаголом или глагольной фразой, а также тип связи – 1:1, 1:М,
М:N (определенная/неопределенная). На данном этапе не всегда можно опреде-
лить, является связь идентифицирующей или неидентифицирующей, а потому
такое решение откладывается на последующие этапы проектирования.
Кроме того, для каждой из сущностей – участниц связи необходимо
определить, является ли сущность родительской, или дочерней в указанной свя-
105
зи. Выбор родительских и дочерних сущностей влияет на определение глаголь-
ных имен связей. В случаях определенных связей имя связи является глаголом
или глагольной фразой, связывающей имена сущностей – участниц связей в
направлении от родительской к дочерней. В случае неопределенной связи имя
связи задается либо двумя глаголами, которые связывают имена сущностей в
обоих направлениях связи, либо в одном из выбранных проектировщиком
направлений.
Последним шагом этапа является создание ER-диаграммы предметной
области, полученной на основе имеющегося пула сущностей и выявленных
между сущностями связей. Диаграмма Торговой компании приведена на рисун-
ке 4.15.
Рис. 4.15 – ER-диаграмма Торговой компании
В нашем примере имеются связи между сущностями «Покупатель» и
«Накладная», а также между сущностями «Накладная» и «Товар». Каждый по-
купатель может получить много накладных, делая закупки в разные дни, но
каждая накладная оформляется только на одного покупателя. В данном случае
связь между сущностями определенная, или «один-ко-многим».
Во втором случае связь является неопределенной, или вида «многие-ко-
многим», ведь каждая накладная может содержать много товаров, и каждый то-
вар может быть указан в разных накладных.
Этап 2. Построение модели уровня ключей
Модель уровня ключей, или модель, основанная на ключах, является
дальнейшим развитием модели зависимостей сущностей. На втором этапе ос-
новной задачей проектировщика является определение всех первичных и внеш-
них ключевых полей каждой сущности. Для достижения такой цели на данном
этапе необходимо осуществить следующие действия:
• для каждой сущности выбрать первичный ключ;
Покупатель
Накладная
Получает
Товар
Содержит
М
М
М
1