Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
303
Добавлен:
11.05.2015
Размер:
3.89 Mб
Скачать

3.2.15. Процесс создания модели бд в Sparx ea

Создаём новый проект…

Рисунок 3.2.15.1 – Создание нового проекта в Sparx EA

Указываем, что в проекте будет БД (обратите внимание: Sparx EA позволяет создавать очень много интересных и полезных компонентов проекта).

Рисунок 3.2.15.2 – Выбор компонентов проекта в Sparx EA

В «шаблонной» схеме уже есть две таблицы. Можно редактировать их (и добавлять новые), а можно их удалить и начать всё «с нуля».

Рисунок 3.2.15.3 – Удаление шаблонной части схемы в Sparx EA

Добавляем сущность (таблицу)…

Рисунок 3.2.15.4 – Добавление сущности в Sparx EA

Указываем имя таблицы и вид СУБД…

Рисунок 3.2.15.5 – Указание параметров сущности в Sparx EA

В контекстном меню таблицы выбираем «Attributes»…

Рисунок 3.2.15.6 – Переход к созданию атрибутов сущности в Sparx EA

Указываем все необходимые свойства атрибута и нажимаем «Save»…

Рисунок 3.2.15.7 – Создание атрибутов сущности в Sparx EA

После добавления всех атрибутов таблица «Students» примет вот такой вид…

Рисунок 3.2.15.8 – Сущность в Sparx EA

После создания всех таблиц получаем такую схему…

Рисунок 3.2.15.9 – Схема БД в Sparx EA без связей

Для установки связи между таблицами используем инструмент «Association»…

Рисунок 3.2.15.10 – Установка связи между сущностями в Sparx EA

Теперь связь нужно «настроить»…

Рисунок 3.2.15.11 – Установка параметров связи между сущностями в Sparx EA

Долгая и мучительная работа с этим контекстным меню покажет, что мы кое-что забыли. Возвращаемся к редактированию таблицы «Students» и вручную добавляем атрибут gr_id (integer). Теперь указываем его в качестве поля внешнего ключа, ещё немного играем с настройками связи (тип линии, кардинальность и т.п.)

Примечание: в Sparx EA в отличие от ErWin связи нужно проводить ОТ ДОЧЕРНЕЙ СУЩНОСТИ К РОДИТЕЛЬСКОЙ.

В итоге мы получим вот такое…

Рисунок 3.2.15.12 – Связь между сущностями в Sparx EA

Продолжая в том же духе, создаём (вручную!) промежуточную таблицу для связи M-M между «Students» и «Subjects», устанавливаем связи и т.д.

Наконец, когда схема готова (обратите внимание, Sparx EA не делает различия между логическим и физическим уровнем схемы), её можно экспортировать в SQL-скрипт, пригодный для генерации реальной БД в, например, MySQL.

Выполняем такие действия…

Рисунок 3.2.15.13 – Генерация схемы БД в Sparx EA

Рисунок 3.2.15.14 – Экспорт схемы БД в Sparx EA в файл

И, наконец, получаем готовый аккуратный скрипт в диалекте SQL нужной нам СУБД (в данном случае – MySQL).

Вот первые несколько строк скрипта для генерации БД, создание модели которой мы рассматривали…

И, наконец, получаем готовый аккуратный скрипт в диалекте SQL нужной нам СУБД (в данном случае – MySQL).

Вот первые несколько строк скрипта для генерации БД, создание модели которой мы рассматривали…

DROP TABLE IF EXISTS Students;

DROP TABLE IF EXISTS Subjects;

DROP TABLE IF EXISTS Groups;

CREATE TABLE Students

( st_id INTEGER NOT NULL,

st_fio VARCHAR(200) NOT NULL,

st_birthdate INTEGER,

st_address VARCHAR(50),

st_isbudget BIT NOT NULL DEFAULT 1,

gr_id INTEGER,

PRIMARY KEY (st_id),

KEY (gr_id));

CREATE TABLE Subjects

( sb_id INTEGER NOT NULL,

sb_name VARCHAR(250),

PRIMARY KEY (sb_id));

CREATE TABLE Groups

( gr_id INTEGER NOT NULL,

gr_code VARCHAR(10),

PRIMARY KEY (gr_id));

ALTER TABLE Students ADD CONSTRAINT FK_Students_Groups

FOREIGN KEY (gr_id) REFERENCES Groups (gr_id);