Otóż problem wygląda następująco:
Tworzę prosty system rezerwacji miejsc w danej sali. Każde kolejne miejsce, to kolejna liczba całkowita, którą chcę zapisywać do bazy danych. Jedno zgłoszenie rezerwacji to minimalnie jedno, a maksymalnie dziesięć zajętych miejsc. Tabela rezerwacji wyglądałaby następująco (okrojona):
id_rezerwacji |
id_seansu |
zarezerwowane_miejsca |
1 |
10 |
10 11 12 |
2 |
10 |
70 71 |
3 |
11 |
123 124 |
4 |
11 |
90 |
5 |
11 |
1 2 3 4 |
6 |
12 |
15 16 |
Jak widać zarezerwowane miejsca trafiałyby do bazy oddzielone spacjami. Dzięki czemu będę mógł zrobić grupową konkatenację (GROUP_CONCAT()) dla wierszy o takim samym id_seansu. Otrzymany string byłby eksplodowany w php do tablicy i na tej podstawie sprawdzałbym już zajęte miejsca na dany seans.
Moje pytanie dotyczy tego, jaka jest inna możliwość rozwiązania kwestii zapisu zarezerwowanych miejsc?
Operowanie na stringach (GROUP_CONCAT()) wydaje mi się trochę okrężną drogą.
Słyszałem o tabelach zagnieżdżonych, czyli w każdym polu "zarezerwowane_miejsca" istniałaby jednokolumnowa tabela przechowująca osobne miejsce w osobnym wierszu. Nie wiem nawet czy to ma sens. Prosiłbym o jakieś podpowiedzi. Z góry dziękuję.