Baza danych wypożyczalnia schemat

0

Witam.
Jestem na bardzo podstawowym poziomie jeśli chodzi o DB muszę narysować schemat relacyjnej bazy do takiego zadania:
Baza danych dla wypożyczalni jachtów, każdy jacht ma wyposażenie, klient może należeć lub nie do klubu (jeśli należy – to ma zniżki), klient wypożycza jacht wraz z wyposażeniem, cena jest wyliczana na podstawie sumy ceny wynajmu jachtu i wszystkich składników wyposażenia
Proszę o pomoc, podpowiedź, cokolwiek co pomoże mi rozwiązać ten temat.

0

Czyli musisz uwzględnić takie encje:

  • jacht
  • wyposazenie
  • klient
  • klub
  • wypozyczenie

relacje:
jacht - 1:n - wyposazenie
jacht - m:n (lub 1:n, zależy co chcesz osiągnąć) - wypozyczenie
wypozyczenie - n:1 - klient
klient - n:1 - klub
przy czym niektóre będą opcjonalne ;).

Coś pominąłem? ;)...

0

Czy wyposażenie jest na stałe do jachtu przypisane i podczas wypożyczania nie można go zmodyfikować?
Domyślam się że chodzi o wyposażenie typu: butla gazowa, śpiwory etc. A to chyba nie musi być na stałe przypisane do jachtu. To jest część oferty.
Przynależność do klubu, to wg mnie tylko flaga mówiąca czy klient X jest członkiem jachtklubu, który wypożycza jacht. Oczywiście jeśli system ma obsługiwać tylko jeden jachtklub, bo jeśli dowolną liczbę to faktycznie jak napisał sMatthew musisz mieć encję kluby. Jednak propozycja "klient - n:1 - klub" jest niewłaściwa, powinno być n:n, bo klient przecież może być członkiem kilku jachtklubów.

klient - n - jachtklub
wypożyczenie - n:1 - klient
wypożyczenie - n:1 - jacht
wypożyczenie - n:n - wyposażenie

wg mnie jacht nie musi być w relacji z wyposażeniem, bo to są elementy ruchome/opcjonalne przy wypożyczaniu. Chyba że się mylę i są to elementy integralne i klient musi wypożyczyć zestaw - jacht+zdefiniowane wyposażenie.

ewentualnie jacht+wyposażenie może stanowić ofertę
oferta - n:1 - jacht
oferta - n:n - wyposażenie
Oferta ma całkowitą cenę, może mieć także informację o wys. zniżki dla członka klubu. Cena oferty może być inna niż wynika to z sumy ceny jachtu i wyposażenia, więc łatwo dajesz możliwość tworzenia ofert promocyjnych i dlatego zniżka ze względu na członkostwo powinna być różnicowana, żeby nie okazało się że do oferty promocyjnej będzie klub jeszcze dokładał dla członków. Możesz mieć też flagę mówiącą dla kogo jest oferta (członkowie, nie członkowie, wszyscy), dzięki temu możesz tworzyć specjalne oferty tylko dla członków.
Poza tym nie wyklucza to samodzielnego doboru jacht+wyposażenie i wyliczenie wartości wypożyczenia jako sumy składowych. Dlatego wypożyczenie nie wiąże się z ofertą, ewentualnie może być relacja oferta - 1:n - wypożyczenie, ale nieobowiązkowa.

Ceny mogą zmieniać się w czasie, czy różnicuje się je w zależności od sezonu i warto to przewidzieć i wydzielić je do osobnej tabeli z widełkami czasowymi ich obowiązywania.

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