
2.2. Теперь ознакомимся с Case – средством под названием Erwin
AllFusion ERwin Data Modeler (ранее ERwin) — CASE-средство для проектирования и документирования баз данных, которое позволяет создавать, документировать и сопровождать базы данных, хранилища и витрины данных. Модели данных помогают визуализировать структуру данных, обеспечивая эффективный процесс организации, управления и администрирования таких аспектов деятельности предприятия, как уровень сложности данных, технологий баз данных и среды развертывания.
Создание хранимого отображения
Хранимым отображением называется отображение конкретного аспекта модели с удобным для презентации расположением, масштабом и цветовыми эффектами
Создаем сущности, и связи между ними заметим, что на диаграмме присутствует, как и связи 1 ко Многим, так и многие ко многим.
Теперь создаем атрибутивную модель, т.е. модель, содержащую все сущности в 3-ей нормальной форме со всеми атрибутами и связями
Здесь мы задали все первичные ключи в наших сущностях.
Вот тут мы отмечаем в наших сущностях все атрибуты, а так же показываем первичные и составные ключи.
Что бы перевести данные в базу данных Access надо сделать преобразование многие ко многим при помощи встроенного мастера преобразование и диаграмма примет вид
SLQ-запросы для создания базы
CREATE TABLE Доставка
(Приоритет smallint NULL ,
Местоположение varchar(20) NULL ,
Место_Выдачи varchar(20) NULL ,
Идентификатор_Заказов smallint NULL ,
id_Продукции smallint NULL ,
НомЗаказ smallint NOT NULL
)
go
ALTER TABLE Доставка
ADD CONSTRAINT XPKДоставка PRIMARY KEY CLUSTERED (НомЗаказ ASC)
go
CREATE NONCLUSTERED INDEX XIE1Доставка ON Доставка
(
Место_Выдачи ASC,
Местоположение ASC,
Приоритет ASC
)
go
CREATE TABLE Заказы
(
СпосОплат varchar(20) NULL ,
ТДостав varchar(20) NOT NULL ,
Идентификатор_Заказов smallint NULL
)
go
ALTER TABLE Заказы
ADD CONSTRAINT XPKЗаказы PRIMARY KEY CLUSTERED (ТДостав ASC)
go
CREATE TABLE Кленты
(
id_Продукции smallint NOT NULL ,
ФИО varchar(20) NULL ,
ДатаРож datetime NULL ,
Адрес varchar(20) NULL ,
НомерКарты smallint NULL )
go
ALTER TABLE Кленты
ADD CONSTRAINT XPKКленты PRIMARY KEY NONCLUSTERED (id_Продукции ASC)
go
CREATE NONCLUSTERED INDEX XIE1Кленты ON Кленты
(
ФИО ASC,
ДатаРож ASC,
Адрес ASC
)
go
CREATE TABLE Кленты_Заказы
(
id_Продукции smallint NOT NULL ,
ТДостав varchar(20) NOT NULL ,
НомКлиеЗак smallint NOT NULL
)
go
ALTER TABLE Кленты_Заказы
ADD CONSTRAINT XPKКленты_Заказы PRIMARY KEY NONCLUSTERED (НомКлиеЗак ASC)
go
CREATE TABLE Продукция
(
Идентификатор_Продукции smallint NOT NULL ,
Вселенная varchar(20) NULL ,
Название varchar(20) NULL ,
НомСерии smallint NULL ,
ЧислоСтраниц smallint NULL
)
go
ALTER TABLE Продукция
ADD CONSTRAINT XPKПродукция PRIMARY KEY NONCLUSTERED (Идентификатор_Продукции ASC)
go
CREATE NONCLUSTERED INDEX XIE1Продукция ON Продукция
(
Вселенная ASC,
НомСерии ASC,
ЧислоСтраниц ASC
)
go
CREATE TABLE Продукция_Заказы
(
Идентификатор_Продукции smallint NOT NULL ,
ТДостав varchar(20) NOT NULL ,
НомПродукЗак smallint NOT NULL
)
go
ALTER TABLE Продукция_Заказы
ADD CONSTRAINT XPKПродукция_Заказы PRIMARY KEY NONCLUSTERED (НомПродукЗак ASC)
go
CREATE TABLE Склад
(
Идентификатор_Заказов smallint NOT NULL ,
ВремПост datetime NULL ,
ВремОжид datetime NULL
)
go
ALTER TABLE Склад
ADD CONSTRAINT XPKСклад PRIMARY KEY NONCLUSTERED (Идентификатор_Заказов ASC)
go
ALTER TABLE Доставка
ADD CONSTRAINT R_16 FOREIGN KEY (Идентификатор_Заказов) REFERENCES Склад(Идентификатор_Заказов)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go
ALTER TABLE Доставка
ADD CONSTRAINT R_17 FOREIGN KEY (id_Продукции) REFERENCES Кленты(id_Продукции)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go
ALTER TABLE Заказы
ADD CONSTRAINT R_14 FOREIGN KEY (Идентификатор_Заказов) REFERENCES Склад(Идентификатор_Заказов)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go
ALTER TABLE Кленты_Заказы
ADD CONSTRAINT Заказывает FOREIGN KEY (id_Продукции) REFERENCES Кленты(id_Продукции)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go
ALTER TABLE Кленты_Заказы
ADD CONSTRAINT Ожидает FOREIGN KEY (ТДостав) REFERENCES Заказы(ТДостав)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go
ALTER TABLE Продукция_Заказы
ADD CONSTRAINT Оформляют FOREIGN KEY (Идентификатор_Продукции) REFERENCES Продукция(Идентификатор_Продукции)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go
ALTER TABLE Продукция_Заказы
ADD CONSTRAINT Запрашивают FOREIGN KEY (ТДостав) REFERENCES Заказы(ТДостав)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go