Разработка логического и физического уровней модели данных с помощью CASE-средства, страница 3

Программный код

CREATE TABLE Должности

(

КодДолжности         INTEGER NOT NULL,

Наименование         varchar(50) NULL

);

ALTER TABLE Должности

ADD PRIMARY KEY (КодДолжности);

CREATE TABLE Факультет

(

КодФакультета        INTEGER NOT NULL,

Наименование         VARCHAR(20) NULL

);

ALTER TABLE Факультет

ADD PRIMARY KEY (КодФакультета);

CREATE TABLE Кафедры

(

КодКафедры           INTEGER NOT NULL,

КодФакультета        INTEGER NOT NULL,

ТипКафедры           VARCHAR(20) NULL,

НаименованиеКафедры  varchar(70) NULL

);

ALTER TABLE Кафедры

ADD PRIMARY KEY (КодКафедры);

CREATE TABLE Дисциплины

(

КодДисциплины        INTEGER NOT NULL,

Наименование         varchar(70) NULL,

Курс                 INTEGER NULL,

Семестр              INTEGER NULL

);

ALTER TABLE Дисциплины

ADD PRIMARY KEY (КодДисциплины);

CREATE TABLE Сотрудники

(

КодСотрудника        INTEGER NOT NULL,

ФИО                  varchar(50) NULL,

КодДолжности         INTEGER NOT NULL,

КодДисциплины        INTEGER NULL

);

ALTER TABLE Сотрудники

ADD PRIMARY KEY (КодСотрудника);

CREATE TABLE Дата_рождения

(

КодДатыРождения      INTEGER NOT NULL,

КодСотрудника        INTEGER NOT NULL,

ГодРождения          INTEGER NULL

);

ALTER TABLE Дата_рождения

ADD PRIMARY KEY (КодДатыРождения);

CREATE TABLE Преподаватели

(

КодПреподавателя     INTEGER NOT NULL,

ФИО                  varchar(70) NULL,

КодДисциплины        INTEGER NOT NULL,

Наименование         varchar(70) NULL,

КодКафедры           INTEGER NOT NULL

);

ALTER TABLE Преподаватели

ADD PRIMARY KEY (КодПреподавателя);

CREATE TABLE Закрепление_дисциплин

(

КодЗакрепления       INTEGER NOT NULL,

КодПреподавателя     INTEGER NOT NULL,

КодДисциплины        INTEGER NOT NULL,

Семестр              varchar(50) NULL,

Год                  VARCHAR(20) NULL

);

ALTER TABLE Закрепление_дисциплин

ADD PRIMARY KEY (КодЗакрепления);

CREATE TABLE Специальности

(

КодСпециальности     INTEGER NOT NULL,

КодКафедры           INTEGER NOT NULL,

Наименование         varchar(70) NULL,

Дисциплины           varchar(100) NULL,

КодДисциплины        INTEGER NOT NULL

);

ALTER TABLE Специальности

ADD PRIMARY KEY (КодСпециальности);

CREATE TABLE Учебная_нагрузка

(

КодНагрузки          INTEGER NOT NULL,

КодСпециальности     INTEGER NOT NULL,

КодДисциплины        INTEGER NOT NULL,

КоличествоЛекции     INTEGER NULL,

КоличествоПрактик    INTEGER NULL,

КоличествоЛабораторных INTEGER NULL,

Семестр              INTEGER NULL,

Год                  INTEGER NULL,

КодКафедры           INTEGER NOT NULL

);

ALTER TABLE Учебная_нагрузка

ADD PRIMARY KEY (КодНагрузки);

ALTER TABLE Кафедры

ADD FOREIGN KEY R_1 (КодФакультета) REFERENCES Факультет (КодФакультета);

ALTER TABLE Сотрудники

ADD FOREIGN KEY R_9 (КодДолжности) REFERENCES Должности (КодДолжности);

ALTER TABLE Сотрудники

ADD FOREIGN KEY R_14 (КодДисциплины) REFERENCES Дисциплины (КодДисциплины);

ALTER TABLE Дата_рождения

ADD FOREIGN KEY R_10 (КодСотрудника) REFERENCES Сотрудники (КодСотрудника);

ALTER TABLE Преподаватели

ADD FOREIGN KEY R_5 (КодДисциплины) REFERENCES Дисциплины (КодДисциплины);

ALTER TABLE Преподаватели

ADD FOREIGN KEY R_6 (КодКафедры) REFERENCES Кафедры (КодКафедры);

ALTER TABLE Закрепление_дисциплин

ADD FOREIGN KEY R_7 (КодПреподавателя) REFERENCES Преподаватели (КодПреподавателя);

ALTER TABLE Закрепление_дисциплин

ADD FOREIGN KEY R_8 (КодДисциплины) REFERENCES Дисциплины (КодДисциплины);

ALTER TABLE Специальности

ADD FOREIGN KEY R_3 (КодКафедры) REFERENCES Кафедры (КодКафедры);

ALTER TABLE Специальности

ADD FOREIGN KEY R_4 (КодДисциплины) REFERENCES Дисциплины (КодДисциплины);

ALTER TABLE Учебная_нагрузка

ADD FOREIGN KEY R_11 (КодСпециальности) REFERENCES Специальности (КодСпециальности);

ALTER TABLE Учебная_нагрузка

ADD FOREIGN KEY R_12 (КодДисциплины) REFERENCES Дисциплины (КодДисциплины);

ALTER TABLE Учебная_нагрузка

ADD FOREIGN KEY R_13 (КодКафедры) REFERENCES Кафедры (КодКафедры);

Вывод: AllFusion ERwin Data Modeler - CASE-средство для проектирования и документирования баз данных, которое позволяет создавать, документировать и сопровождать базы данных, хранилища и витрины данных. Erwin позволяет экспортировать и импортировать структуру баз данных в (из) различные(-ых) СУБД (Access,SQL-Server и др.). Модели, созданные при проектировании в СУБД Access и SQL Server практически одинаковы за исключением некоторых различий (например различное отображение типов связей)