Sprawdzenie modelu bazy danych

0

Witam mam projekt do wykonania i prosiłbym jakiś specjalistów o sprawdzenie, bo chciałbym zacząć już implementować, a cały czas coś zmieniam.
Firma turystyczna sprzedająca imprezy typu wycieczki/wczasy
Miejscem wyjazdu/pobytu mogą być różne kraje
Liczba miejsc na każdą wycieczkę jest ograniczona
Z każdą imprezą mogą być związane pewne usługi/atrakcje dodatkowe
Liczba miejsc na usługi/atrakcje dodatkowe jest ograniczona
Klientami mogą być osoby indywidualne lub firmy
Klient ma możliwość dokonania rezerwacji (rezerwacja jest bezpłatna i jest ważna przez
określoną liczbę dni)
Klient ma możliwość wykupienia imprezy
Klient ma możliwość rezerwacji i/lub wykupienia usługi/atrakcji dodatkowych (pod
warunkiem że rezerwuje/wykupuje imprezę główną
Z punktu widzenia organizatora imprezy istotna jest informacja o danych osobowych
uczestników imprezy, oraz jakie usługi dodatkowe wykupił dany uczestnik
Za wykupione imprezy/usługi klient otrzymuje fakturę
Płatność może odbywać się gotówką lub przelewem

Model bazy:
http://img37.imageshack.us/img37/3674/bazah.png

Dla doświadczonej i wypoczętej po świętach osoby nie powinno to długo zająć. Dziękuje z góry.

0
  1. Dlaczego kluczem podstawowym tabeli Wycieczka jest ID wycieczki i ID państwa? Masz zamiar dodawać rekordy w taki sposób:
    1 | Polska
    1 | Niemcy
    1 | Turcja
    1 | Szwecja
    2 | Polska
    3 | Polska
    4 | Polska
    1 | USA
    2 | Niemcy
    1 | Słowacja

To samo się tyczy tabel Klient i Zamowienia.

  1. Zrezygnowałbym z relacji 1-do-1

  2. Jeśli dobrze rozumiem znaczenie tabeli wycieczka_has_atrakcje (atrakcje które można dokupić do danej wycieczki) to zamowienie_has_atrakcje powinieneś połączyć z wycieczka_has_atrakcje, a nie z atrakcje - dzięki temu nie będzie można zamówić sobie karnetu na stoki narciarskie do wycieczki do Egiptu ;)

Jak oczyścisz trochę ten diagram, to może się coś jeszcze znajdzie

0

Ok, poprawiłem, po porządkowałem już, znacznie lepiej to wygląda. Czekam na dalsze sugestie.

0

Prawie OK. Tylko teraz w tabeli wycieczka_has_atrakcje łączysz wycieczkę z atrakcjami i zamówieniami. Przez to wycieczka do Egiptu ma dodatkową atrakcję "nurkowanie" dopiero wtedy, gdy ktoś to nurkowanie zamówi.

Ja to widzę tak:

[atrakcje] ---------- [atrakcje_wycieczki] ---------- [wycieczki]
                               |
                               |
                               |
                               |
                               |
                 [zamowione_atrakcje_wycieczki]
                               |
                               |
                               |
                               |
                               |
                          [zamowienia]
0

Ehhh, no błędy jak wstyd. Dzięki wielkie Kicok.

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