Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Uzytkownicy, role, ich wlasciwosci i ActiveRecord
marcini82
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marcini82
post
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?
Go to the top of the page
+Quote Post
sf
post
Post #3





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Wydaje mi się, że powinieneś rozdzielić to na trzy części: pracownicy, uczniowie oraz rodzice. Co do pracowników robisz osobną tabelę, w której są ich uprawnienia. Jeśli jakiś nauczyciel jest także rodzicem to dublujesz niestety dane.

Ten post edytował sf 11.03.2007, 12:48:49
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 04:22