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

Validators

Field’s content

Field’s name

Type, length

Note

ID

validator_id

N

PK

Name

model_name

C(25)

Mandatory field

Date of technocal inspection

date_tech_inspec

D

Mandatory field

Ready for use

rdy_for_use

C(3)

Mandatory field

Transport

transport_id

N

Foreign key

TranspCond

Field’s content

Field’s name

Type, length

Note

ID

transpcond_id

N

PK

Transport

transport_id

N

FK

Conductor

conductor_id

N

FK

TranspDrive

Field’s content

Field’s name

Type, length

Note

ID

transpdrive_id

N

PK

Transport

transport_id

N

FK

Drivers

driver_id

N

FK

StopRoute

Field’s content

Field’s name

Type, length

Note

ID

stoproute_id

N

PK

Routes

route_id

N

FK

Stops

stop_id

N

FK

transport

transport_id

N

FK

Normalization:

•1NF:

Order to lead to the first normal form :

I deleted repetitions of Driver in Transport by creating a new entity Driver.

• 2NF:

I deleted all the partial dependence and did order to now I have a table there is not partially dependent entities. Now my table is fully consistent with the second normal form. Ideleted many-to-many between “Transport” and “Conductor”, and create new entities “TranspCond”.

I did delete many-to-many between “Route” and “Stop”, and create new entities “StopRoute”.

• 3NF:

To lead to the third normal form, I deleted all the transitive dependencies.

For example I had Autopark attributes in Transport entity.

I created a new Autopark entity.

4. Physical design

Create our entities using PostgreSQL as a code. Set all the attributes for each entity, so we can set additional restrictions, such that the column name is not equal to zero (not null), etc. Give to each attribute data type ( Int, varhar, time, date, etc). Sets the maximum length for string lines.

create table Autopark(

Autopark_id integer primary key,

Autopark_name varchar(25) Not Null

);

create table Driver(

Driver_id integer primary key,

Driver_Name varchar(50),

Driver_Surname varchar(50),

Date_birth date,

Class_driving varchar(25),

Exp varchar(25),

Salary integer not null,

Address varchar(25),

Telephone_number varchar(30),

E_mail varchar(25)

);

create table Conductor(

Conductor_id integer primary key,

Conductor_Name varchar(50),

Conductor_Surname varchar(50),

Date_birth date,

Salary integer not null,

Address varchar(25),

Telephone_number varchar(30),

E_mail varchar(25)

);

create table Route(

Route_id integer primary key,

Start_point varchar(25),

Final_point varchar(25),

Interval_length integer

);

create table Stop(

Stop_id integer primary key,

Stops_name varchar(25)

);

create table Breakage(

Breakage_id integer primary key,

Breakage_date date,

Breakage_discription varchar(50)

);

create table Transport(

Transport_id integer primary key,

Model_name varchar(25) not null,

Type varchar(25),

Mileage integer,

Date_tech_inspec date,

Ready_for_use varchar(25),

Number_seats integer not null,

Total_capacity integer not null,

Have_validator varchar(25),

Autopark_id integer,

Route_id integer,

foreign key (Route_id) references Route(Route_id),

foreign key (autopark_id) references Autopark(autopark_id)

);

create table Validator(

Validator_id integer primary key,

Model_name varchar(50),

Date_tech_inspec date,

Ready_for_use varchar(25),

Transport_id integer,

foreign key(Transport_id) references Transport(Transport_id)

);

create table TranspCond(

Transpcond_id integer,

Transport_id integer,

Conductor_id integer,

foreign key(Transport_id) references Transport(Transport_id),

foreign key(Conductor_id) references Conductor(Conductor_id)

);

create table TranspDrive(

Transpdrive_id integer,

Transport_id integer,

Driver_id integer,

foreign key(Transport_id) references Transport(Transport_id),

foreign key(Driver_id) references Driver(Driver_id)

);

create table StopRoute(

Stoproute_id integer,

Transport_id integer,

Route_id integer,

Stop_id integer,

foreign key(Transport_id) references Transport(Transport_id),

foreign key(Route_id) references Route(Route_id),

foreign key(Stop_id) references Stop(Stop_id)

);

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