- •Работа №6 Автоматизированное проектирование баз данных на основе метода er-диаграмм.
- •1. Общие сведения об AllFusion Erwin Data Modeler 4.1.
- •1.1. Структура процесса моделирования в Erwin.
- •1.2. Создание логической модели бд.
- •1.2.1. Сущности и атрибуты
- •1.2.2. Связи
- •1.3. Создание физической модели и генерация схемы бд.
- •1.4. Уровни отображения er-диаграммы.
- •1.5. Прямое и реверсное проектирование.
- •2. Примеры разработки модели бд с помощью eRwin
- •2.1. Прямое проектирование
- •2.1.1. Постановка задачи
- •2.1.2. Создание логической модели бд
- •2.1.3. Создание физической модели бд и генерация схемы бд
- •2.2. Реверсное проектирование.
- •Упражнение №1
- •Контрольное задание.
- •Требования к отчету:
- •Контрольные вопросы:
1.2. Создание логической модели бд.
С точки зрения пользователя ERwin, процесс создания логической модели данных заключается в визуальном редактировании ER-диаграммы. Диаграмма ERwin строится из трех основных блоков: сущностей, атрибутов и связей.
1.2.1. Сущности и атрибуты
На диаграмме сущность изображается прямоугольником. В зависимости от режима представления диаграммы прямоугольник может содержать имя сущности, ее описание, список ее атрибутов и другие сведения. Основная информация, описывающая сущность, включает:
атрибуты, составляющие первичный ключ;
неключевые атрибуты;
тип сущности (независимая/зависимая).
Первичный ключ (Primary Key) − это атрибут или набор атрибутов, уникально идентифицирующий экземпляр сущности. Если несколько наборов атрибутов могут уникально идентифицировать сущность, то выбор одного из них осуществляется разработчиком на основании анализа предметной области и учета следующих требований к первичному ключу:
первичный ключ не должен принимать пустые (NULL) значения;
первичный ключ не должен изменяться в течение времени;
размер первичного ключа должен минимальным.
При этом если разработчик считает, что какой-либо из оставшихся наборов будет часто использоваться для доступа к сущности, то он может объявить его вторичным ключом (AlternateKey).
В ERwin можно также составлять группы атрибутов, которые не идентифицируют уникально экземпляры сущности, но часто используются для доступа к данным. Они получили название инверсных входов (Inversion Entry). Одни и те же атрибуты сущности могут входить в несколько различных групп ключей.
Рассмотрим вышесказанное на примере сущности СОТРУДНИК:
СОТРУДНИК
Табельный номер |
Фамилия (АК1) (IE1) Имя (АК1) Отчество (АК1) Дата рождения (АК1) Должность (IE1) |
ОТДЕЛ
Номер отдела |
Название отдела (АК1) |
Среди всех атрибутов данной сущности на роль первичного ключа могут претендовать <табельный номер> и группа атрибутов <фамилия>, <имя>, <отчество>, <дата рождения> (последний необходим, т.к. на предприятии могут работать полные тезки). Очевидно, что по соображениям размера в качестве первичного ключа следует выбрать <табельный номер>.
На диаграмме атрибуты, составляющие первичный ключ, располагаются в верхней части и отделяются от прочих (не входящих в первичный ключ) горизонтальной линией.
Группа атрибутов <фамилия>, <имя>, <отчество>, <дата рождения> может быть вторичным ключом. Вторичные ключи обозначаются на диаграмме символами АКn (n=1,2, …), заключенными в скобки:
Однако вряд ли кто-либо, пытающийся найти информацию о сотруднике, будет искать по его имени или дате рождения, а вот <фамилия> и <должность> будет достаточно часто использоваться для этих целей. Поэтому на основе этих атрибутов было бы логично создать инверсный вход. Инверсный вход обозначается на диаграмме символами IEn (n=1,2, …), заключенными в скобки.
