== Релациска шема (со мапирачка трансформација) === Ознаки - Примарните клучеви се означени со underline - Сите задолжителни клучеви се болдирани - Надворешните клучеви се означени со * и во заграда стои на кои табели референцираат === Табели - Payment_type('''__payment_id__''', ''payment_type'') - Payment('''__payment_id__''',''payment_type_id*''(Payment_type), ''payment_date'',''client_id*''(Client)) * Секундарен клуч: payment_type_id е референца кон Payment_type и има not null constraint поради тотално учество на Payment во релацијата is. * Секундарен клуч: user_id е референца кон Client и има not null constraint поради тотално учество на Paymentt во релацијата pays. - Reservation('''__reservation_id__''', '''reservation_end_date''', '''payment_type_id*'''(Payment_type),'''client_id*'''(Client)) * Секундарен клуч: 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. - Client('''client_id''','''user_id*'''(Users)) - Seat('''__seat_id__''','''auditorium_id*'''(Auditorium),'''projection_id*'''(Movieprojection), '''seat_number''', '''seat_row_number''','''seat_limitation''') * Композитен примарен клуч:(seat_id, auditorium_id) * Слаб клуч клуч: seat_id * Секундарен клуч: auditorium_id е референца кон Auditorium и има not null constraint поради тотално учество на Seat во релацијата inside. * Секундарен клуч: projection_id е референца кон MovieProjection со релацијата allows - Auditorium('''__auditorium_id__''','''__firm_id__*'''(Firm),'''auditorium_name''', '''auditorium_capacity''') * Секундарен клуч: firm_id е референца кон Firm и има not null constraint поради тотално учество на Auditorium во релацијата has - Firm('''__firm_id__''', '''firm_city''', '''firm_adress''', '''firm_name''') - Movieprojection('''__projection_id__''','''__auditorium_id__*'''(Auditorium),'''__movie_id__*'''(Movie), '''projection_movie_start''', '''projection_movie_end''', '''projection_screening_date''', '''projection_type''', '''projection_price''') * Секундарен клуч: auditorium_id е референца кон Auditorium и има not null constraint поради тотално учество на MovieProjection во релацијата gives. * Секундарен клуч: movie_id е референца кон Movie и има not null constraint поради тотално учество на MovieProjection во релацијата has. - Employee('''employee_id''','''user_id*'''(Users)) - Genre('''__genre_id__''', '''genre_name''') - Movie('''__movie_id__''', '''movie_name''', '''movie_age_category''','''movie_production''', '''movie_film_director''', '''movie_cast''','''movie_time_duration''') - User('''__user_id__''', '''user_username''', '''user_password''','''user_phone_number''','''user_name''', '''user_surname''', '''user_email''', '''user_role''') - Works_in ('''__firm_id__*'''(Firm),'''__employee_id*'''(Employee),'''works_from''','''works_to''') * Композитен примарен клуч:(firm_id,employee_id) - Controles ('''__employee_id__*'''(Employee),'''__projection_id__*(MovieProjection)) * Композитен примарен клуч:(employee_id, projection_id) - Is('''__movie_id__*'''(Movie),'''__genre_id__*(Genre)) * Композитен примарен клуч:(movie_id, genre) == DDL скрипта за бришење на табелите и креирање на табелите '''[attachment:kreiranje.sql]''' == DML скрипта за полнење на табелите со податоци '''[attachment:polnenje.sql]''' == Релациски дијаграм изваден од DBeaver [[Image(wiki:RelationalDesign:schema_v06.png)]]