Релациска шема (со мапирачка трансформација)
Ознаки
- Примарните клучеви се означени со bold и underline
- Надворешните клучеви се означени со bold и * до заграда стои на кои табели референцираат
- Задолжителни атрибути, односно not null со bold
Табели
- Users(user_id, user_username, user_password, user_phone_number ,user_name, user_surname, user_email, user_role )
- Employee(user_id*(Users),employee_id)
- Client(user_id*(Users),client_id)
- Genre(genre_id, genre_name)
- Movie(movie_id, movie_name, movie_age_category,movie_production, movie_film_director, movie_cast,movie_time_duration)
- Firm(firm_id, firm_city, firm_adress, firm_name)
- Auditorium(auditorium_id,firm_id*(Firm),auditorium_name, auditorium_capacity)
- Секундарен клуч: firm_id е референца кон Firm и има not null constraint поради тотално учество на Auditorium во релацијата has
- Movieprojection(projection_id,movie_id*(Movie), projection_movie_start, projection_movie_end, projection_screening_date, projection_type, projection_price)
- Секундарен клуч: movie_id е референца кон Movie и има not null constraint поради тотално учество на MovieProjection во релацијата has
- Works_in (firm_id*(Firm),user_id*(Employee),works_from,works_to)
- Композитен примарен клуч:(firm_id,user_id)
- Payment_type(payment_id, payment_type)
- Payment(payment_id,payment_type_id*(Payment_type),user_id*(Client),reservation_id*(Reservation),payment_date)
- Секундарен клуч: payment_type_id е референца кон Payment_type и има not null constraint поради тотално учество на Payment во релацијата is
- Секундарен клуч: user_id е референца кон Client и има not null constraint поради тотално учество на Paymentt во релацијата pays
- Секундарен клуч: reservation_id е референца кон Reservation и има not null constraint поради тотално учество на Payment во релацијата for
- Seat(seat_id,auditorium_id*(Auditorium),seat_number, seat_row_number)
- Композитен примарен клуч:(seat_id, auditorium_id)
- Слаб клуч клуч: seat_id
- Секундарен клуч: auditorium_id е референца кон Auditorium и има not null constraint поради тотално учество на Seat во релацијата inside.
- Reservation(reservation_id,payment_type_id*(Payment_type),user_id*(Client),(seat_id,auditorium_id)*(Seat),projection_id*(MovieProjection),reservation_end_date)
- Секундарен клуч: payment_type_id е референца кон Payment_type и има not null constraint поради тотално учество на Reservation во релацијата paid
- Секундарен клуч: user_id е референца кон Client и има not null constraint поради тотално учество на Reservation во релацијата has
- Секундарен клуч: projection_id е референца кон MovieProjection и има not null constraint поради тотално учество на Reservation во релацијата for
- Секундарен клуч: (seat_id,auditorium_id) е референца кон Seat и има not null constraint поради тотално учество на Reservation во релацијата for
- Controles (user_id*(Employee),projection_id*(MovieProjection))
- Композитен примарен клуч:(employee_id, projection_id)
- Is(movie_id*(Movie),genre_id*(Genre))
- Композитен примарен клуч:(movie_id, genre)
- Gives(projection_id_*(MovieProjection),auditorium_id*(Auditorium),seat_limitation)
- Композитен примарен клуч:(projection_id, auditorium_id)
DDL скрипта за бришење на табелите и креирање на табелите
DML скрипта за полнење на табелите со податоци
Релациски дијаграм изваден од DBeaver
Last modified
3 years ago
Last modified on 01/20/22 15:41:40
Attachments (4)
- kreiranje.sql (6.3 KB ) - added by 3 years ago.
- polnenje.sql (6.2 KB ) - added by 3 years ago.
- schema.png (91.9 KB ) - added by 3 years ago.
- schema1.png (91.9 KB ) - added by 3 years ago.
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.