![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 1 Dołączył: 20.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam problem z zamodelowaniem sytuacji, w ktorej system ma uzytkownikow, a kazdy uzytkownik moze posiadac jedna lub wiecej rol. Wezmy dla przykladu szkole: moga byc tu takie role jak: nauczyciel, administrator, rodzic, uczen, bibliotekarz... Przy czym nauczyciel moze byc jednoczesnie bibliotekarzem, rodzicem czy administratorem. Ale to nie taki problem - najgorsze jest to, ze oprocz wspolnych wlasciwosci (takich jak imie, nazwisko, PESEL), dodatkowo nauczyciel posiada jakies wlasciwosci (np. dataZatrudnienia, zarobki), ktorych nie moze posiadac rodzic... Jakie klasy mozna by stworzyc w takim przypadku (Osoba, Rola itp... (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ) i jak to wszystko zapisac w bazie danych? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 1 Dołączył: 20.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jedna z opcji: trzymanie wszystkich mozliwych pol w jednej tabeli Osoba, i wstawianie tam NULLi gdzie te dane nie istnieja. Marnotrastwo miejsca w bazie ale spelni twoje wymagania. Tez to rozwazalem i to na pewno lepsze niz alternatywna struktura tabel, jaka sobie wymyslilem, w ktorej do wyciagniecia danych trzeba by bylo robic zlaczenie 6 tabel (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Lepiej juz zmarnowac miejsce niz pojechac po wydajnosci. Cytat Ja bym utworzył klasę Osoba, która by dziedziczyła po klasie: Nauczyciel, Administrator, Rodzic, Uczen i tak dalej... Rozumiem, ze mialo byc odwrotnie? No ok, zalozmy ze tworze klase Osoba i jej klasy potomne: Rodzic, Nauczyciel, Administrator itp., a w bazie danych tabele Osoby, ze wszystkimi mozliwymi polami, jakie tylko moze posiadac ktoras z rol. Ale jak tu uwzglednic, ze jedna osoba moze wystepowac w dwoch rolach? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 02:41 |