Prośba o ocenę schematu bazy danych kina + Zapytanie SQL, liczace wolne miejsca w kinie

0

Witam,
tak jak w temacie prośba o ocenę schematu bazy danych kina. W tabeli bilety zapomniałem dodać kolumny (ilosc_biletow).
Dodatkowo mam jeszcze problem z zapytaniem sql. Chcialbym obliczyc ilosc wolnego miejsca podczas danego seansu (czyli ilosc_miejsc w sali - (suma zatwierdzonych rezerwacji + bilety)). Nie wiem za bardzo jak się za to zabrać. Próbowałem skorzystać z SELECT sum() ale nwm jak zrobić, żeby liczyło dla konkretnych sal, a nie dla wszystkich razem

1

Można by się przyczepić do takich drobnych rzeczy jak:

  • ilość zarezerwowanych miejsc jako typ integer 11-znakowy (nie ma takiej sali kinowej o takiej ilości miejsc),
  • kolumna dzien w sensach jest trochę niejednoznaczna lepiej nazwać to data_seansu, data jakoś tak,
  • jeżeli będziemy wyświetlać 3 filmy reżysera X to będziemy mieli 3 wpisy w bazie - nadmiarowość można usunąć tworząc tabelę reżyserzy i dodawać tam rekordy,
  • system informatyczny wykorzystujący tą strukturę raczej się nie sprawdzi w realnym świecie ponieważ nie mogę wybrać miejsc, które rezerwuje, ani które mam miejsce na bilecie - jedynie sprawdzę czy nie zarezerwowano (kupiono bilety) na wszystkie miejsca.

Co do drugiej części pytania to podaj to zapytanie, które stworzyłeś.

0

Dzięki za uwagi!

Niżej kod:

 
SELECT se.id_seansu,( sa.ilosc_miejsc - ((SELECT SUM(ilosc_biletow) FROM bilety b WHERE b.id_seansu = se.id_seansu ) + (SELECT SUM(ilosc_zarezerwowanych_miejsc) FROM rezerwacje r WHERE stan_rezerwacji = TRUE AND r.id_seansu = se.id_seansu))) AS 'wolne_miejsca' FROM seanse se, sale sa WHERE se.id_sali = sa.id_sali 

Chciałbym, żeby tak to wygladało:

nr.seansu wolne_miejsca
1 22
2 50
3 120
4 64

0

Dzięki za podpowiedź pozdro.

0

Taka wskazówka odnośnie możliwego schematu (typy danych są kierunkowe).
Oczywiście trzeba sprawdzić czy wszystkie potrzebne założenia z procesów obsługi zostały przewidziane.
kino.png

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