Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Czy warto dzielić dane użytkownika na profile i konta?
gcdreak
post 18.01.2011, 00:05:14
Post #1





Grupa: Zarejestrowani
Postów: 365
Pomógł: 8
Dołączył: 16.12.2008

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


Witam,
Mam pytanie dotyczące teorii tworzenia serwisów internetowych.
Czy powinno się dzielić dane użytnowników na profile i konta? Były by one reprezentowane przez dwie osobne tabele.
Tabela konta przechowywała by jedynie e-mail, hasło i ew, jakies tokeny, czy pytania dotyczące odzyskania hasła - mówiąc krócej - podstawowe dane zebrane podczas rejestracji.
W drugiej znajdowały by się inne informacje, jak imie, nazwisko, płeć, data urodzenia, link do avataru.
Co sądzisz o takim podziale? Jak Ty to robisz?

Pozdrawiam
Go to the top of the page
+Quote Post
emajl22
post 18.01.2011, 00:07:59
Post #2





Grupa: Zarejestrowani
Postów: 273
Pomógł: 21
Dołączył: 28.11.2010

Ostrzeżenie: (10%)
X----


Ale po co coś takiego? Nie widzę w ogóle sensu w tym co napisałeś. Jedna tabela, w której trzymasz wszystko co dotyczy użytkownika, w zupełności wystarczy. Przynajmniej ja tak uważam.


--------------------
Go to the top of the page
+Quote Post
tehaha
post 18.01.2011, 00:20:46
Post #3





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


można podzielić, ale nie w taki sposób co opisałeś, to zależy od przypadku, jeżeli masz bardzo dużo kolumn to możesz je logicznie podzielić na tabele, ale jeżeli masz tylko login, hasło, e-mail, imie, nazwisko, płeć, data urodzenia, link do avataru to trzymaj w jednej
Go to the top of the page
+Quote Post
erix
post 18.01.2011, 00:41:48
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




No tak, ale wszyscy chyba zapomnieli o tabeli properties:

USERS:
ID, nick...

PROPERTIES
user, property, value

kuma? winksmiley.jpg


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
thek
post 18.01.2011, 09:33:51
Post #5





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Erix... To jest fajne rozwiązanie z dynamicznie zmienianą userowi liczba zajętych kolumn (brak nulli i innych śmieci) w przypadku posiadania ich dużej ilości, ale niesie z soba problemy natury wielokrotnego UPDATE, gdyż modyfikacja kilku rzeczy wymaga kilku zapytań tego typu zamiast jednego. Oba rozwiązania są dobre, ale zależne od przypadku. Raz lepiej zastosować jedno, innym razem drugie. Ogólnie podział na profil, users czy inne tabele (tzw. partycjonowanie pionowe) jest dobre gdy masz wiele kolumn i chcesz to logicznie podzielić na bloki danych funkcjonalnych. Z małą ilością kolumn wydzielanie specjalnie tylko po to by wydzielić -> sztuka dla sztuki. jest wiele rzeczy, które powinno się robić, ale z pewnych względów nie zawsze ma to sens. Podział o którym mówisz jest tu dobrym przykładem. Mogą zajść bowiem różne przypadki
1) Mała liczba kolumn w users - nie ma sensu dzielić
2) Mała liczba, ale wiele kolumn jest pustych - można zastosować properties podane przez erixa
3) Większa liczba kolumn - można wydzielić bloki funkcjonalne. Osobno dane firmy, osobno profil czy dane kontaktowe. To czy wydzielone to będzie do osobnej tabeli jako 1 rekord (jak proponujesz) czy jako osobne właściwości (erix) jest już zależne od tego co chcesz robić z nimi. Może być tak, że zastosujesz dla jednej tabeli rozwiązanie swoje, a dla innej erixa. Nic temu nie przeszkadza. Zależy od przeznaczenia, częstotliwości odczytów i zapisów do bazy, możliwej rozszerzalności tabeli (dodanie kolumny dla wszystkich vs dodanie po prostu rekordu userowi o danej nazwie i wartości dla properties ). Tu konieczna jest analiza zachowania się systemu.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 5.07.2025 - 05:44