Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kursova_kintseva.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
3 Мб
Скачать
☆

Фізичне проектування

База даних спроектована для її збереження у СКБД Oracle, яка підтримує реляційну модель даних і є об’єкто-реляційною СКБД. Ця СКБД має дуже розвинені можливості по створенню та супроводу баз даних, оскільки володіє найбільш розвиненою системою типів даних, можливостями індексування полів, що дозволяє одержувати доступ до даних за мінімальний час, а також функціями по забезпеченню підтримки цілісності даних між реляційними таблицями, що дозволяє розробнику мінімізувати тимчасові витрати на створення бази даних, а кінцевому користувачеві витрати на підтримку цілісності збережених даних і одержання даних з бази даних. Робота з базою даних підтримується за допомогою реляційної мови запитів SQL.

Логічна модель бази даних легко відображається в реляційну фізичну модель, оскільки логічна модель була побудована з використанням реляційної структури даних. Крім того, логічна модель була приведена у третю нормальну форму, тому усі відношення представляються у фізичній моделі окремими таблицями. Ніякі злиття відношень в одну таблицю для підвищення ефективності виконання окремих класів запитів не виконуються у зв’язку з тим, що такі класи запитів не були знайдені. У результаті отримано дванадцять таблиць реляційної бази даних, де кожне відношення прямо відповідає окремій таблиці, атрибути кожного відношення стають полями цієї таблиці, а первинні ключі відношень стають первинними ключами таблиць.

Скрипти створення бази даних

Створення таблиці ВУЗ «UNIVERSITY»

CREATE TABLE UNIVERSITY (

Uniq integer CONSTRAINT uni_prk PRIMARY KEY,

ShName varchar(10),

LName varchar(50) UNIQUE NOT NULL,

Addr varchar(50),

Rector varchar(30) UNIQUE NOT NULL);

Створення таблиці ІНСТИТУТ «INSTITUTE»

CREATE TABLE INSTITUTE (

Iniq integer CONSTRAINT ins_prk PRIMARY KEY,

ShName varchar(10),

LongName varchar(50) UNIQUE NOT NULL,

Director varchar(30) UNIQUE NOT NULL,

Uniq integer CONSTRAINT ins_uni_frk REFERENCES UNIVERSITY(Uniq));

Створення таблиці ФАКУЛЬТЕТ «FACULTY»

CREATE TABLE FACULTY (

Funiq integer CONSTRAINT fac_prk PRIMARY KEY,

ShName varchar(10),

LName varchar(50) UNIQUE NOT NULL,

Dekan varchar(30) UNIQUE NOT NULL,

Uniq integer CONSTRAINT fac_uni_frk REFERENCES UNIVERSITY(Uniq),

Iniq integer CONSTRAINT fac_ins_frk REFERENCES INSTITUTE(Iniq),

FKType char(1) CONSTRAINT fac_fkt_chk CHECK (FKType IN (’У’, ’І’)));

Створення таблиці КАФЕДРА «DEPARTMENT»

CREATE TABLE DEPARTMENT (

Duniq integer CONSTRAINT dep_prk PRIMARY KEY,

ShName varchar(10),

LName varchar(50) CONSTRAINT dep_nam_unq UNIQUE NOT NULL,

Mgr varchar(30) CONSTRAINT dep_hed_unq UNIQUE NOT NULL,

Funiq integer CONSTRAINT dep_fac_frk REFERENCES FACULTY(Funiq) NOT NULL);

Створення таблиці СПЕЦІАЛЬНІСТЬ «specialty»

CREATE TABLE SPECIALTY

(

SpecUniq varchar(10) CONSTRAINT spe_prk PRIMARY KEY,

LName varchar(50) CONSTRAINT spe_ln_unq UNIQUE NOT NULL,

LangLearn varchar(50) CONSTRAINT lang_spec CHECK (LangLearn IN (’En’, ’Ru’, ‘Ua’)),

NumStud integer,

Duniq integer CONSTRAINT spec_dep_dfk REFERENCES DEPARTMENT(Duniq) NOT NULL);

);

Створення таблиці ЗАЯВА «statement»

CREATE TABLE STATEMENT

(

StatUniq varchar(10) CONSTRAINT stat_prk PRIMARY KEY,

DataStat data NOT NULL,

FormStudy varchar(50) CONSTRAINT form_study_stat CHECK (FormStudy IN (’D’, ’Z’, ‘DYST’)),

SpecUniq varchar(50) CONSTRAINT stat_spec_spk REFERENCES specialty(SpecUniq) NOT NULL,

MemUniq integer CONSTRAINT stat_mem_mpk REFERENCES MEMBER_COMMISSION(MemUniq) NOT NULL,

MatrUniq integer CONSTRAINT stat_matr_mpk REFERENCES matriculant(MatrUniq) NOT NULL

);

Створення таблиці ЧЛЕН КОМІСІЇ «mEMBER_COMMISSION»

CREATE TABLE MEMBER_COMMISSION

(

MemUniq integer CONSTRAINT mem_prk PRIMARY KEY,

LName varchar(30) CONSTRAINT lname_mem NOT NULL,

Name varchar(20) CONSTRAINT name_mem NOT NULL,

PatroName varchar(20) CONSTRAINT pname_mem NOT NULL,

Addr varchar(20) CONSTRAINT addr_mem NOT NULL,

Birthday data NOT NULL,

Year integer CONSTRAINT year_enter_mem NOT NULL,

Sex varchar(1) CONSTRAINT sex_mem CHECK (Sex IN (’W’, ’M’)),

Passport varchar(10) CONSTRAINT passp_mem UNIQUE NOT NULL,

Tel varchar(15) CONSTRAINT tel_mem UNIQUE NOT NULL,

PostMem varchar(10) CONSTRAINT post_mem CHECK (PostMem IN (‘Assistant’, ‘docent’, ‘Dr’, ‘director’, ‘dekan’)),

StatUniq varchar(10) CONSTRAINT mem_stat_spk REFERENCES statement(StatUniq) NOT NULL,

InterUniq integer CONSTRAINT mem_inter_ipk REFERENCES INTERVIEW(InterUniq) NOT NULL

);

Створення таблиці ВСТУПНИК «matriculant»

CREATE TABLE matriculant

(

MatrUniq integer CONSTRAINT matr_prk PRIMARY KEY,

LName varchar(30) CONSTRAINT lname_matr NOT NULL,

Name varchar(20) CONSTRAINT name_matr NOT NULL,

PatroName varchar(20) CONSTRAINT pname_matr NOT NULL,

Addr varchar(20) CONSTRAINT addr_matr NOT NULL,

Birthday data NOT NULL,

Year integer CONSTRAINT year_enter_matr NOT NULL,

Sex varchar(1) CONSTRAINT sex_matr CHECK (Sex IN (’W’, ’M’)),

Passport varchar(10) CONSTRAINT passp_matr UNIQUE NOT NULL,

Tel varchar(15) CONSTRAINT tel_matr UNIQUE NOT NULL,

Hostel varchar(1) CONSTRAINT hostel_matr CHECK (Hostel IN (’Y’,’N’)),

StatUniq varchar(10) CONSTRAINT matr_stat_spk REFERENCES statement(StatUniq) NOT NULL,

NumbSchCert integer CONSTRAINT matr_numb_cert_spk REFERENCES SCHOOL_CERTIFICATE(NumbSchCert) NOT NULL,

CertNum integer CONSTRAINT matr_cert_num_cpk REFERENCES certificate(CertNum) NOT NULL,

FinUniq integer CONSTRAINT matr_fin_fpk REFERENCES FINANCE_TYPE(FinUniq) NOT NULL,

InterUniq integer CONSTRAINT matr_inter_ipk REFERENCES INTERVIEW(InterUniq) NOT NULL

);

Створення таблиці СЕРТИФІКАТ ЗНО «certificate»

CREATE TABLE certificate

(

CertNum integer CONSTRAINT cert_num_prk PRIMARY KEY,

Year integer CONSTRAINT year_cert NOT NULL,

ValidYear integer CONSTRAINT vlid_year_cert NOT NULL,

MatrUniq integer CONSTRAINT cert_matr_mpk REFERENCES MATRICULANT(MatrUniq) NOT NULL,

Subject integer CONSTRAINT cert_sub_spk REFERENCES SUBJECTS(Subject) NOT NULL

);

Створення таблиці АТЕСТАТ «SCHOOL _CERTIFICATE»

CREATE TABLE SCHOOL _CERTIFICATE

(

NumbSchCert integer CONSTRAINT sch_cert_num_prk PRIMARY KEY,

Year integer CONSTRAINT year_sch_cert NOT NULL,

SchName varchar(40) CONSTRAINT sch_name NOT NULL,

Director varchar(30) CONSTRAINT dir_sch NOT NULL,

DataIssue data NOT NULL,

Medal varchar(1) CONSTRAINT medal_schcert CHECK (Medal IN (’Y’,’N’)),

MatrUniq integer CONSTRAINT sch_cert_matr_mpk REFERENCES MATRICULANT(MatrUniq) NOT NULL,

Subject integer CONSTRAINT sch_cert_sub_spk REFERENCES SUBJECTS(Subject) NOT NULL

);

Створення таблиці ДИСЦИПЛІНА «SUBJECTS»

CREATE TABLE SUBJECT

(

Subject varchar(10) UNIQUE NOT NULL,

ValueNum integer CONSTRAINT val_num_sub NOT NULL,

ValueStr varchar(100) CONSTRAINT val_sub_sub NOT NULL,

CertNum integer CONSTRAINT sub_cert_cpk REFERENCES CERTIFICATE(CertNum)

NOT NULL,

NumbSchCert integer CONSTRAINT sub_num_schcert REFERENCES SCHOOL _CERTIFICATE(NumbSchCert) NOT NULL

);

ALTER TABLE SUBJECT add CONSTRAINT los_poi_chk CHECK(Point BETWEEN 100 AND 200);

Створення таблиці ВИД ФІНАНСУВАННЯ «FINANCE_TYPE»

CREATE TABLE FINANCE_TYPE

(

FinUniq integer CONSTRAINT fin_type_prk PRIMARY KEY,

FinType varchar(10) CONSTRAINT fin_type CHECK (FinType IN (’Budget’, ’Contract’)) NOT NULL,

MatrUniq integer CONSTRAINT fin_type_matr_mpk REFERENCES MATRICULANT(MatrUniq) NOT NULL

);

Створення таблиці СПІВБЕСІДА «INTERVIEW»

CREATE TABLE INTERVIEW

(

InterUniq integer CONSTRAINT inter_prk PRIMARY KEY,

InterData data NOT NULL,

ResultInter varchar(1) CONSTRAINT res_inter CHECK (ResultInter IN (’Y’,’N’)) NOT NULL,

MatrUniq integer CONSTRAINT inter_matr_mpk REFERENCES MATRICULANT(MatrUniq) NOT NULL,

MemUniq integer CONSTRAINT inter_mem_mpk REFERENCES mEMBER_COMMISSION(MemUniq) NOT NULL

);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]