Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Schemat bazy - kto rzuci okiem?
Forum PHP.pl > Forum > Bazy danych > MySQL
Boshi
Cześć, może ktoś rzucić okiem i powiedzieć co jest dobrze, co jest źle ?
System będzie służył do rezerwacji miejsc w kinie.

nospor
Nie mam za bardzo czasu teraz na to patrzec dluzej, ale na szybko rzuca mi sie w oczy ze rozbijasz date na dwa pola: dzien i godzina. Po co? Przeciez to powinno byc jedno pole z typem DateTime
Pyton_000
Do tego dodaj klucz Unique na email i username, żeby nie można było się zarejestrować 2x na te same dane bo będzie kuku smile.gif

Tak poza tym wydaje się ok.
Boshi
Tak wiem, muszę dziś zacząć już tworzyć bazę dlatego chcę się upewnić by potem nie było kwiatków.

Nospor- racja powinoo być powle DateTieme.
IProSoft
Ja dodam tylko od strony poprawnosci nazewnictwa ( ja takie stosuję dla wygody ):
- movie zamiast film,seanse , jak już po angielsku to wszystko
- nazwy tabel z małej litery, podkreślnik nie myślnik do rozdzielania
- skoro user_id, to to room_id zamiast id_room itp

KR2615
Cytat(nospor @ 3.11.2015, 09:52:37 ) *
Nie mam za bardzo czasu teraz na to patrzec dluzej, ale na szybko rzuca mi sie w oczy ze rozbijasz date na dwa pola: dzien i godzina. Po co? Przeciez to powinno byc jedno pole z typem DateTime

Ja w tym widzę jakiś sens, np. jeśli kino oferuje seanse o kilku stałych godzinach, można potem jednym zapytaniem stworzyć statystyki, która godzina senasu jest najpopularniejsza albo generuje największe zyski.
nospor
Przeciez moze to samo zrobic DateTime
Boshi
Odkopię trochę temat.

Tak się zastanawiam teraz. Czy aby na pewno tablea Room powinna mieć datę, nie wystarczy by seans miał ?

Tak wygląda baza już z typami.



Zastanawiam się jak to połączyc teraz.

1 Dodaje room
2 Dodaje miejsca
3 Dodaje film
4 dodaje senas?

Jeżeli użytkownik zarezerwuje jakiś seans to do tabeli rezerwacja przypisuje owego usera a do tabeli reservation_place dodaje id rezerwacji, id place i id room? to ma sens skoro id place przechowuje id room?
Daty będą walidowane aby się nie pokrywały w tych samych salach.


nospor
Czemu w ROOM masz w ogole id_movie? Przeciez to tabela seans laczy movie i room. W tabeli room ma byc tylko id i nazwa pokoju i to wszystko.

Length w movie ma byc INT - dlugosc podaje sie w minutach i jest to raczej liczba calkowita

podobnie z reservation_place i reservation przekombinowales. po co tam w ogole te dwie tabele a nie jedna?
Boshi
Sugerowałem się tym co napisał Pyton smile.gif

No więc tak: Zmienię typ length- nie wiem czemu tam float wsadziłem, pewnie coś kombinowałem..

Jeżeli chodzi o rezerwacje, to mówisz, że po prostu dać jedną tabelę łączącą? czyli reservation_place (w ogóle nazwa jakaś taka...) i dodać tam po prostu usera jeszcze i skasować id_reservation oraz zamiast id_room będzie id_seans?

I jeszcze jedno pytanie. Mamy np pokój(sala jak zwał tak zwał) nr 1, ma on 100 miejsc. Nie wiem czy dobrze myślę, ale dla 4 pokoi będzie 400 rekordów w tabeli place? czy znów mam zaćmę? Dla każego pokoju muszę mieć 100 miejsc?

EDIT; Tak to wygląda teraz. Wydaje mi się, że będzie ok?

Pyton_000
To chyba nie ja Ci sugerowałem coś biggrin.gif Albo ja mam zaćmę mózgu :|
Boshi
Chyba jednak zaćma pyton biggrin.gif Zobacz swój drugi post. "Wydaje się być ok" biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.