Schemat bazy danych dla kina

0

user image

Jak myślicie, czy taki schemat bazy jest poprawny? Szczególnie chodzi mi o to, że z zamówienia wiem jaki jest seans, a więc także i sala i nic więcej.

Dopiero z biletów, które wiedzą do jakiego zamówienia są dowiaduję się o id miejsca oraz dodatkowo znowu o sali.

Czy w taki sposób do powinno wyglądać, czy należałoby to jakoś zmodyfikować?

Mam także problem z ustaleniem gdzie wsadzić cenę za bilet, która jest zależna od wymiaru filmu oraż czy ulga jest ustawiona na true (mam więc tylko 4 możliwości więc po co na sztywno wpisywać wartości)

Pozdrawiam

0

Sprecyzowany obrazek:
user image

0

Wg mnie taki schemat bazy nie jest poprawny lub raczej nieprawidłowy - nie dostrzegam relacji: np. film-seans jaka to relacja?! podobnie w innych przypadkach. Nie dostrzegam również tabel, które by pomogły rozwiazać problem związany z funkcjonowaniem tej bazy.
Wg mnie pogubiłeś się przy określaniu relacji. Z zadania powinieneś wykoncypować strukturę tabel tak, aby odzwierciedlała potrzeby i było najłatwiej (dla ambitnych i przewidyjących rozwijanie projektu efektywnie) tę strukturę oprogramować. Powienieneś na razie odłączyć klient i zamowienie, a skupić się na prawie porawnej strukturze film seans sala miejsce (wg mnie brakuje mi tabeli miejsca, gdzie można określić pulę miejsc dostępnych na sali).

0

user image
Moja druga propozycja, wywaliłem klienta bo nie zawsze będzie potrzebny w zamówieniu (kupując przy kasie nie podajemy swoich danych), zmieniłem powiązanie między biletem a miejscem, dołożyłem informację o cenie biletów w tabeli wymiar (od wymiaru zależy cena, każdy tytuł ma tę samą cenę, więc mamy 4 możliwości, ulgowy 2d/3d, normalny 2d/3d).
Martwi mnie połączenie między zamówieniem a biletami bo jest tutaj obustronna obligatoryjność, nie wiem jak mam to obejść, nie chcemy przecież stworzyć zamówienia bez biletów, bilety nie mogą także istnieć bez swojego zamówienia. Dodatkowo bilet wie już ze swojego zamówienia na jaki seans ma być (dane zamówienie dotyczy tylko 1 seansu), więc nie ma po co dodawać do biletu pola IdSeansu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1