Wpis z mikrobloga

#programowanie #sql

Projektuje system, gdzie mam tabelę z osobami, osoba może być użytkownikiem (user), osoba może przynależeć do zespołu, i osoba może się zgłosić na imprezę. Osoba też musi płacić składki, składki może płacić w kilku ratach, a składka jest określana indywidualnie dla każdej osoby na każdy rok, czy taki projekt bazy ma sens? Czy coś pominąłem?

http://i.imgur.com/2Tqiz.png
  • 10
@mpisz: Po pierwsze, tabela zespoły z osobami w żaden sposób nie jest powiązana. Jeśli jedna osoba może być tylko w jednym zespole, to w tabeli osoby powinieneś dodać pole id_zesp. Jeśli w każdym zespole może być wiele osób i każda osoba może być w wielu zespołach, to powinieneś dodać jakąś tabelę wiążącą osoby z zespołami.

Po drugie, przemyśl jeszcze raz opracowanie tabel na wpłaty i składki.
@Wozyack: mam tam pole dru_id, fakt, pomyłka.. :)

Właśnie te składki mi chodzą po głowie i dlatego tu pytam.. bo nie mogę nic bardziej logicznego wymyślić.. osoba może być X lat, no i przez te X lat może płacić składki w wielu ratach, a składki mogą być indywidualne dla osoby na każdy rok... no nie wiem jak to lepiej rozpisać.. :)
@Wozyack: Po trzecie, zamiast tabeli users, dodaj do tabeli osoby pole boolean "is_user". A adres najlepiej rozbić na dokładne dane - miasto, ulica, numer domu i mieszkania, kod pocztowy.
@mpisz: A nie lepiej powiązać Ci składkę z wpłatą? Wtedy łatwo sprawdzisz czy za dany rok wszystko zostało wpłacone. Teraz nie masz za bardzo jak tego zrobić.
@mpisz: No i każda wpłata dotyczy składki w danym roku tak? Jeśli wpłata będzie miała Id składki to banalnie sprawdzisz czy delikwent wpłacił całą składkę za dany rok.
@Yahoo_: No tak, podczas rejestracji wpłat chcę oznaczać na jaki rok jest to wpłata, plus muszę powiązać wpłatę z imieniem i nazwiskiem, a nie ze składką.... chyba jednak projekt sam się broni, więc powinno być ok. ;)

@Wozyack: @Yahoo_: Dzięki za rzut okiem :)