wiki:RelationalDesign

Version 21 (modified by 196021, 3 years ago) ( diff )

--

Релациска шема (со мапирачка трансформација)

Ознаки

  • Примарните клучеви се означени со 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 скрипта за бришење на табелите и креирање на табелите

kreiranje.sql

DML скрипта за полнење на табелите со податоци

polnenje.sql

Релациски дијаграм изваден од DBeaver

No image "schema_v04.png" attached to RelationalDesign

Attachments (4)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.