Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив2 / курсач docx283 / Kursach_gori_ty_v_adu_33.docx
Скачиваний:
63
Добавлен:
07.08.2013
Размер:
128.1 Кб
Скачать
    1. Фізичне проектування

Після того, як база даних повністю спроектована її можна зберегти у СУБД Oracle. Кожна сутність відповідає таблиці, атрибути сутності відповідають полям таблиці.

Створення таблиці ВОДІЙ

CREATE TABLE `DRIVER`(

`DRIVER_PK` NUMBER(10) PRIMARY KEY UNIQUE NOT NULL,

`F_NAME` VARCHAR2(100) NOT NULL,

`S_NAME` VARCHAR2(100) NOT NULL,

`T_NEME` VARCHAR2(100) NOT NULL,

`SEX` CHAR(1) NOT NULL CHECK(`SEX` IN ('f', 'm')),

`BIRTH` DATE NOT NULL,

`NUM_PASSPORT` VARCHAR2(10) NOT NULL,

`REGISTRATION` VARCHAR2(100) NOT NULL,

`NUM_IDENTIFICATION` NUMBER(10) NOT NULL,

`DATE` DATE NOT NULL,

`NUMBER` VARCHAR2(10) NOT NULL

);

Створення таблиці ТИП АВТОМОБІЛЯ

CREATE TABLE `TYPE`(

`TYPE_PK` NUMBER(10) PRIMARY KEY UNIQUE NOT NULL,

`BODY` VARCHAR2(20) NOT NULL CHECH(`BODY` IN('Седан','Уніврсал','Хетчбет','Купе','Лімузин','Мінівен','Таун-кар','Комби','Лифтбек','Кабріолет','Родстер','Фаетрон','Ландо','Брогам','Тарга','Спайдер','Пікап','Фургон')),

`ENGINE` VARCHAR2(20) NOT NULL CHECH(`ENGINE` IN('Двохтактні','Чотирьотактні','Двохциліндрові','Чотирьохциліндрові','Шестициліндрові','Восьмициліндрові')),

`WEIGHT` NUMBER(10) NOT NULL,

`CAPACITY` NUMBER(10) NOT NULL,

`FUEL` VARCHAR2(5) NOT NULL CHECK(`FUEL` IN('А-92','А-95','А-98','Дизель','Газ'))

);

Створення таблиці АВТОМОБІЛЬНИЙ НОМЕР

CREATE TABLE `NUMBER`(

`NUMBER_PK` NUMBER(10) PRIMARY KEY UNIQUE NOT NULL,

`TYPE` VARCHAR2(10) NOT NULL CHECK(`TYPE` IN('Транзитні','Постійні')),

`NUMBER` NUMBER(8) NOT NULL,

`DATE` DATE NOT NULL

);

Створення таблиці АВТОМОБІЛЬ

CREATE TABLE `CAR` (

`CAR_PK` NUMBER(10) PRIMARY KEY UNIQUE NOT NULL,

`TYPE_FK` NUMBER(10) NOT NULL REFERENCES TYPE(TYPE_PK) ON DELETE SET NULL,

`NUMBER_FK` NUMBER(10) NOT NULL REFERENCES NUMBER(NUMBER_PK) ON DELETE SET NULL,

`DRIVER_FK` NUMBER(10) NOT NULL REFERENCES DRIVER(DRIVER_PK) ON DELETE SET NULL,

`COUNTRY` VARCHAR2(100) NOT NULL,

`DATE` DATE NOT NULL,

`NUM_ENGINE` VARCHAR2(20) NOT NULL,

`NUM_BODY` VARCHAR2(20) NOT NULL,

`COLOR` VARCHAR2(50) NOT NULL

);

Створення таблиці КЕРУВАННЯ

CREATE TABLE `DRIVE_CAR`(

`CAR_FK` NUMBER(10) NOT NULL REFERENCES CAR(CAR_PK) ON DELETE CASCADE,

`DRIVER_FK` NUMBER(10) NOT NULL REFERENCES DRIVER(DRIVER_PK) ON DELETE CASCADE

);

Створення таблиці СПІВРОБІТНИКИ

CREATE TABLE `EMPLOEE`(

`EMPLOEE_PK` NUMBER(10) PRIMARY KEY UNIQUE NOT NULL,

`F_NAME` VARCHAR2(100) NOT NULL,

`S_NAME` VARCHAR2(100) NOT NULL,

`T_NEME` VARCHAR2(100) NOT NULL,

`POST` VARCHAR2(20) NOT NULL,

`RANK` VARCHAR2(20) NOT NULL CHECK(`RANK` IN('Мл. Сержант','Сержант','Ст. Сержант','Старшина','Прапорщик','Ст. Прапорщик','Мл. Лейтенан','Лейтенант','Ст. Лейтенант','Капітан','Майор','Підполковник','Полковник'))

`BIRTH` DATE NOT NULL,

`BATTALION` NUMBER(10) NOT NULL

);

Створення таблиці РОЗШУК

CREATE TABLE `SEARCH`(

`CAR_FK` NUMBER(10) NOT NULL REFERENCES CAR(CAR_PK) ON DELETE CASCADE,

`DATE` DATE NOT NULL,

`TYPE` VARCHAR2(300) NOT NULL

);

Створення таблиці ТЕХНІЧНИЙ ПАСПОРТ

CREATE TABLE `TECHNICAL_CERTIFICATE`(

`CAR_FK` NUMBER(10) NOT NULL REFERENCES CAR(CAR_PK) ON DELETE CASCADE,

`EMPLOEE_FK` NUMBER(10) NOT NULL REFERENCES EMPLOEE(EMPLOEE_PK) ON DELETE CASCADE,

`DATE` DATE NOT NULL,

`NUMBER` NUMBER(10) NOT NULL,

`EXPIRATION_DATE` DATE NOT NULL CHECK(`EXPIRATION_DATE`>`DATE`)

);

Створення таблиці СТАТТЯ

CREATE TABLE `ARTICLE`(

`ARTICLE_PK` NUMBER(10) PRIMARY KEY UNIQUE NOT NULL,

`NUMBER` NUMBER(5) NOT NULL CHECK(`NUMBER`>0),

`DESC` VARCHAR2(300) NOT NULL,

`PUNISHMENT` VARCHAR2(100) NOT NULL

);

Створення таблиці ШТРАФ

CREATE TABLE `FINE`(

`FINE_PK` NUMBER(10) PRIMARY KEY UNIQUE NOT NULL,

`CAR_FK` NUMBER(10) NOT NULL REFERENCES CAR(CAR_PK) ON DELETE CASCADE,

`DRIVER_FK` NUMBER(10) NOT NULL REFERENCES DRIVER(DRIVER_PK) ON DELETE CASCADE,

`EMPLOEE_FK` NUMBER(10) NOT NULL REFERENCES EMPLOEE(EMPLOEE_PK) ON DELETE SET NULL,

`FINE` VARCHAR2(100) NOT NULL,

`DATE` DATE NOT NULL,

`ARTICLE_FK` NUMBER(10) NOT NULL REFERENCES ARTICLE(ARTICLE_PK) ON DELETE CASCADE

);

Створення таблиці ШТРАФ-МАЙДАНЧИК

CREATE TABLE `AREA`(

`CAR_FK` NUMBER(10) NOT NULL REFERENCES CAR(CAR_PK) ON DELETE CASCADE,

`PLACE` NUMBER(5) NOT NULL CHECK(`PLACE`>0),

`DATE` DATE NOT NULL,

`FINE_FK` NUMBER(10) REFERENCES FINE(FINE_PK) ON DELETE SET NULL

);

Створення таблиці СТРАХОВКА

CREATE TABLE `INSURANCE`(

`CAR_FK` NUMBER(10) NOT NULL REFERENCES CAR(CAR_PK) ON DELETE CASCADE,

`FIRM` VARCHAR2(50) NOT NULL,

`TYPE` VARCHAR2(50) NOT NULL CHECK(`TYPE` IN('ОСАГО','КАСКО')),

`PRICE` NUMBER(10, 2) NOT NULL,

`DATE` DATE NOT NULL

);

Соседние файлы в папке курсач docx283