- •Методы и средства проектирования информационных систем и технологий проектирования структуры базы данных с использованием erwin
- •1. Цель и задачи работы
- •2. Подготовка к выполнению работы
- •3. Основные теоретические положения проектирования структур баз данных
- •4. Общие принципы работы в eRwin
- •4.1. Соглашения
- •4.2. Рабочий стол eRwin
- •5 Концептуальное проектирование
- •5.1. Создание сущностей
- •5.2. Построение связей
- •5.3 Создание категорий
- •6. Логическое проектирование
- •7. Физическое проектирование
- •8. Задание
- •9. Содержание отчета
- •Контрольные вопросы
- •Список используемой литературы
5 Концептуальное проектирование
5.1. Создание сущностей
Сущности на концептуальной схеме могут быть зависимыми и независимыми. На диаграмме любая сущность изображается прямоугольником. Над ним располагается имя сущности. Прямоугольник разбит на две части: верхняя - область первичного ключа; нижняя - область остальных атрибутов. При построении сущности прямоугольник первоначально пустой, а имя имеет вид E/n (например, Е/1, Е/2 и т.д.).
Чтобы построить независимую сущность, нужно щелкнуть на соответствующей пиктограмме из набора специальных инструментов, а затем щелкнуть на поле диаграммы в том месте, где должна располагаться создаваемая сущность. Для построения зависимой сущности нужно выбрать инструмент «Зависимая сущность» и щелкнуть на поле диаграммы. Заметим, что прямоугольник, изображающий такую сущность, имеет скругленные углы. При построении диаграммы практически нет необходимости непосредственно задавать зависимые сущности, так как ERwin преобразует обычные сущности в зависимые при организации связей или разбиении на категории.
Если проектировщика не устраивает положение сущности на поле, то нужно выбрать пиктограмму «Указать на объект» из набора специальных инструментов и перетащить сущность на новое место. Для удаления выделенной сущности воспользуйтесь клавишей Delete на клавиатуре. Изменить размеры прямоугольника, изображающего сущность, можно, выбрав пункт главного меню Option / Entity Size. Пункт меню Option / Layout применяется для упорядочения положения сущностей на поле.
Теперь определим имя сущности и характерные для нее атрибуты. Для этого служит пункт Entity-Attribute из меню, всплывающего по правому щелчку мыши. В поле Entity Name открывшегося редактора вводится название сущности. Используя переключатель, можно изменить зависимость сущности. Поле редактирования Primary Key предназначено для ввода наименований атрибутов, составляющих первичный ключ. В поле Non-Key Attributes вводятся неключевые атрибуты. Заметим, что в обоих случаях для отделения атрибутов друг от друга используется клавиша Enter на клавиатуре. На рис. 2 приведен пример независимой сущности.
Рис. 2 - Независимая сущность
Для добавления расширенного описания сущности (Definition) и общего просмотра всех сущностей воспользуйтесь пунктом Report / Entity Browser.
В ERwin существует возможность манипулирования отдельными атрибутами. Для этого выберите пиктограмму «Манипулирование атрибутами». В таком режиме можно:
Удалить атрибут. Для этого выделите отдельный атрибут и нажмите Delete на клавиатуре.
Переместить атрибут внутри сущности. Для этого выделите атрибут и, не отпуская клавиши мыши, переместите его на нужное место. Заметим, что таким образом можно перемещать атрибуты как внутри ключевой и неключевой областей, так и между ними.
Переместить атрибуты между сущностями. Методика этого действия аналогична предыдущей. Если при перемещении атрибута нажата клавиша Ctrl, то он скопируетеся в другую сущность.
5.2. Построение связей
Рассмотрим построение связей типа «один ко многим». Для этого выбрать из набора специальных инструментов соответствующую пиктограмму, затем щелкнуть последовательно на родителе и потомке. Идентифицирующая связь изображается сплошной линией и черной точкой у прямоугольника, отображающего потомка. Такая связь характеризуется перенесением первичного ключа родителя в состав идентификатора потомка. На рис. 3 изображена идентифицирующая связь «один ко многим».
Рис.3. – Идентифицирующая связь
Неидентифицирующая связь строится аналогичным образом. Она изображается пунктирной линией и ромбом у прямоугольника, отображающего родителя. Такой ромб означает, что существование родителя необязательно, т.е. поле внешнего ключа может иметь значение nul. Построение неидентифицирущей связи в ERwin характеризуется перенесением первичного ключа родителя в состав неключевых атрибутов потомка. На рис.4 приведена неидентифицирующая связь.
Рис. 4. - Неидентифицирующая связь
Как уже отмечалось, проектирование связи «многие ко многим» приводит к возникновению новой сущности. Пример построения связи этого типа между сущностями first и second приведен на рис. 5.
Рис. 5. - Связь вида "многие ко многим"
Просмотреть и изменить описание связи можно, используя пункт Relationship из меню, всплывающего по правому щелчку мыши на связи. В открывшемся окне указываются:
Название связи (поле Verb Phrase).
Тип связи (Relationship Type): идентифицирующая (Identifying) или неидентифицирующая (Non-Identifying).
Кардинальность связи (Cardinality). ERwin позволяет задать нижеприведенные виды связей.
Ноль, один или более. Наличие такой кардинальности не вносит дополнительных обозначений в диаграмму.
Один или более. Подобные связи обозначаются буквой Р около прямоугольника, отображающего потомка.
Ноль или один. Кардинальность обозначается буквой Z.
Заданная. В этом случае поле Exactly должно содержать число, характеризующее кардинальность. Такая связь обозначается числом у прямоугольника, отображающего потомка.
Возможность существования Null - значений (переключатель Nulls).
Роль внешнего ключа. В этом случае название роли записывается в поле Role Name. При этом поле Foreign Key редактора содержит конструкцию <имя роли>.<имя первичного ключа родителя>.
Если на диаграмме не отображены имена или кардинальности связи, то необходимо поставить указатели напротив пунктов Display / Verb Phrase и Display /Cardinality.
Для удаления связи нужно выбрать пиктограмму «Указать на объект», щелкнуть на соответствующей связи и нажать Delete на клавиатуре.
