![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 13.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
jestem w trakcie tworzenia aplikacji która ma ułatwić zarządzanie klubem sportowym. Zacząłem od porządnego zaprojektowania struktury bazy danych i zastanawia mnie pewna kwestia.. Mianowicie w bazie muszą być przechowywane informacje o osobach, które posiadają różne "statusy" i tym samym różne dane będą przechowywane na ich temat. Mniej więcej takie "typy" osób powinny być przechowywane w bazie: (IMG:http://oi49.tinypic.com/21buquv.jpg) Jak widać każda z tych typów różni się od siebie kilkoma kolumnami (imie i nazwisko powtarza się wszędzie). Po którce wyjaśnie o co chodzi... Użytkownik jest to osoba która jest w klubie i posiada swoje konto. Administrator tez jest uzytkownikiem więc pewnie wystarczy dodać pole boolowskie 'admin' i sprawa będzie załatwiona (może to być jedna wspólna tabela). Natomiast zawodnik jest innym rodzajem użytkownika, tzn nie posiada konta w bazie na które moze się zalogowac do systemu, ale jest osobą która przyjechała na organizowane zawody, np. lekkoatletyczne i jest ona wprowadzana do systemu aby nadac jej numer identyfikacyjny dzięki któremu bedzie wiadomo w jakich konkurencjach taka osoba brała udzial oraz jakie wyniki osiągnęla, aby na końcu móc przygotować tabele z końcowymi wynikami wszystkich zawodników.. Trzeba tutaj dodać, że każdy użytkownik (posiadający konto w systemie) jest niejako "automatycznie" zawodnikiem, ale nie każdy zawodnik jest uzytkownikiem.. Dodatkowo należy uwzględnich taką sytuację, że zawodnik nie posiadający dotychaczas swojego konta, zechce je założyć i stanie się użytkownikiem.. Może wiecie jak takie informacje zazwyczaj zapisuje się w bazie danych albo jak Wy byście to zrobili ? Czy tworzy się osobne tabele dla uzytkownika i zawodnika ? (ale wtedy powstaje redundancja danych i problem z "transformacją" zawodnika do uzytkownika) Pozdrawiam i czekam na sugetie.. Michał |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 13.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
@markonix - dzięki za odpowiedz i utwierdzenie w podejściu do sprawy..
Ogólnie nakreśliłem taki schemat: (IMG:http://s9.postimage.org/fmz666ogf/users_K.png) Nie jest on super kompletny (bo zabrakło sędziego), ale chodziło o koncepcje.. Moje pytania/wątpliwości... - Na powyższym schemacie rozrysowałem admina i uzytkownika osobo, ale w sumie czy w sumie nie wystarczylo by dodać dodatkową kolumnę, w której sygnalizowałoby się admina ? ( z tym, że adminów będzie z 2-3-ech a uzytkowników kilkudziesięciu..) - patrzac na ten schemat wydaje mi się, że brakuje jednoznacznego identyfikatora danej osoby.. Wpadłem na pomysł, aby wprowadzić kolumnę PESEL (do tabeli Person), która zapewni unikalność danej osoby.. z tym, że myślałem również o zastosowaniu peselu jako loginu danego uzytkownika... Co radzicie? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 09:44 |