Разработка концептуальной схемы базы данных




Синтез концептуальной схемы. Концептуальная схема реляционной БД, как правило, описывается диаграммой «сущность–связь» (ERD, ER-диаграмма), предназначенной для разработки модели данных и обеспечивающей стандартный способ определения данных и отношений между ними. Фактически с помощью ERD осуществляется детализация хранилищ данных проектируемой системы, а также документируются сущности системы и способы их взаимодействия, включая идентификацию объектов (сущностей), свойств этих объектов (атрибутов) и отношений с другими объектами (связей).

ER-диаграммы были введены Ченом (Chen) и получили дальнейшее развитие в работах Баркера (Barker). Рассмотрим нотацию ER-диаграммы, предложенную Баркером, так как в основном она используется при описании КС в современных СУБД (например, в Oracle).

Сущность (Entity).Сущность на ER-диаграмме представляется прямоугольником любого размера, содержащим имя сущности, список имен атрибутов (возможно неполный) и указатели ключевых атрибутов (знак # перед именем атрибута).

Связь (Relationship).Связь в нотации Баркера является бинарной, т.е. представляет собой линию, соединяющую две сущности (А и В).Для связи должны быть определены:

имя связи со стороны сущности А и сущности В;

обязательность связи. Если любой экземпляр сущности А обязательно должен быть связан с каким-либо экземпляром сущности В, то прилегающая к прямоугольнику А половина линии – сплошная, в противном случае она – пунктирная.

Множественность связи. Для множественной связи М линия присоединяется к прямоугольнику сущности в трех точках, для одиночной связи – в одной точке.

Из имени связи следует, что клиент владеет кредитной картой, а кредитная карта принадлежит клиенту. При включении в БД записи «Клиент» клиент может и не иметь кредитную карту (связь является необязательной – может быть). При включении в БД записи «Кредитная карта» она должна быть связана с каким-либо клиентом (связь является обязательной – должен быть). При установлении связи многие CASE-средства автоматически добавят в сущность «Кредитная карта» ключ сущности «Клиент». Это обеспечит при включении в БД записи «Кредитная карта» ее связь с записью «Клиент» по атрибуту «Код клиента». Каждый клиент может владеть одной или более кредитной картой (связь 1: М). При этом каждая кредитная карта должна принадлежать только одному клиенту (связь М:l). В табл. 11.1 приведены основные типы связей в нотации Баркера.

 

Таблица 11.1. Основные типы связей

 

 

Окончание табл. 11.1

 

 

Супертип (Supertype) и подтип (SubType) сущности (категоризация).Часто сущности имеют пересекающийся набор атрибутов. В этом случае общую часть атрибутов помещают в сущность-супертип, а отличающиеся части атрибутов помещают в сущности-подтипы.

Например, сущности «Физическое лицо» и «Юридическое лицо» имеют общие атрибуты «Адрес», «Телефон», «Факс». Поэтому эти атрибуты можно объединить в сущность-супертип «Клиент». Остальные атрибуты можно описать в сущностях-подтипах. В базе данных будут храниться три сущности: «Клиент», «Физическое лицо», «Юридическое лицо». Основное преимущество использования супертипов и подтипов заключается в том, что СУБД автоматически обеспечивает ссылочную целостность (с помощью триггеров):

после удаления записи-супертипа удаляются все связанные с ней записи-подтипов;

после обновления ключа записи-супертипа обновляются ключи всех связанных с ней записей-подтипов;

после включения записи-подтипа проверяется, есть ли запись-супертип с соответствующим ключом;

после обновления ключа записи-подтипа проверяется, есть ли запись-супертип с тем же ключом.

Следует отметить, что разработка КС БД – процесс творческий. Автоматизировать эту работу практически невозможно, так как при этом требуется учитывать много неформальных параметров. CASE-продукты предоставляют только средства описания КС.

Ниже приведены примеры разработки ER-диаграмм.

Пример описания КС БД с помощью средства CASE*Designer. В CASE*Designer (Oracle) разработка ER-диаграммы ведется в нотации Баркера, рассмотренной выше. Рассмотрим пример разработки КС (ER-диаграммы) БД «БДЗ. Ценные бумаги», которая была введена при описании потоков данных (см. рис. 10.3).

 

Рис. 11.1. ER-диаграмма со связями и атрибутами

 

1. Выберите пункт меню Techniques/Entity Diagrammer. На экране появится окно Entity Relationship Diagrammer.

Чтобы построить диаграмму, выберите пункт меню Diagram/New. CASE*Designer запросит имя новой ER-диаграммы и размеры страницы, которую вы должны позиционировать в окне Entity Relationship Diagrammer.

2. Инструментальным средством Entity можно добавить к ER-диаграмме сущности, которые на рис. 11.1 обозначены прямоугольниками. При этом сущности «Эмитент» и «Торговая площадка» являются подтипами супертипа «Организация». Затем инструментальными средствами M:l, M: M и 1:1 описывают связи между сущностями.

3. Для ввода имен атрибутов выберите на диаграмме сущностей пункт меню Forms/Attribute Definition. После описания всех атрибутов ER-диаграмма будет иметь вид, представленный на рис. 11.1.

4. Чтобы сохранить ER-диаграмму и выйти из Entity Relationship Diagrammer выполните пункты меню Diagram/Save и Diagram/Quit.

Пример описания концептуальной схемы с помощью пакета Erwin. После запуска пакета Erwin на экране появляется основное окно пакета.

В окне инструментов Erwin Toolbox отображаются следующие кнопки:

выбор объекта или группы объектов на ER-диаграмме;

перемещение объекта на ER-диаграмме;

определение независимой сущности;

определение зависимой сущности;

построение связи, определяющей зависимую сущность как подтип (совокупность подтипов является неполной);

построение связи, определяющей зависимую сущность как подтип (совокупность подтипов является полной);

построение идентифицирующей связи;

построение неидентифицирующей связи;

построение связи «многие-ко-многим»;

отображение на экране поясняющего текста.

Следует отметить, что нотация (изображение) ER-диаграммы в пакете Erwin несколько отличается от нотации Баркера. В табл. 11.2–11.4 представлены отличия нотаций Баркера и пакета Erwin.

 

Таблица 11.2. Отличия в обозначении сущностей

 

 

Таблица 11.3. Отличия в обозначении связей

 

 

Необходимо отметить, чтобы на ER-диаграмме отображались идентификаторы связи: ее имя, признаки Р и Z (см. табл. 11.3), следует установить опции Option/Show Display Menu, Display/VebPhrase и Display/Cardinality.

Используя инструментальные средства Erwin, можно построить КС БД «БДЗ. Ценные бумаги» на уровне сущностей и связей (рис. 11.2).

Чтобы определить атрибуты какой-либо сущности, следует отметить эту сущность на диаграмме, щелкнуть правой клавишей мыши и выбрать пункт Entity Attribute. После описания атрибутов всех сущностей на экране отображается ER-диаграмма со связями и атрибутами.

Чтобы сохранить ER-диаграмму и выйти из Erwin выберите пункты File/Save и File/Exit.

 

Таблица 11.4. Отличия в обозначениях супертипов и подтипов

 

Рис. 11.2. ER-диаграмма со связями, но без атрибутов



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: