Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]optymalne przechowywanie profili użytkowników
Forum PHP.pl > Forum > Bazy danych > MySQL
mdx
Cześć,

Mam 2 rodzaje użytkowników, "firma" i "czlowiek". Firma i człowiek moga logować się do tej samej aplikacji i podstawowe funkcjonalności mają te same. Cechy jednak mają całkowicie odmienne.

Mam dwa pomysły, nie wiem, który będzie lepszy dla dalszego rozwoju aplikacji przy zachowaniu najwyższej wydajności.

1.)
users
usr_id
usr_login
usr_password
usr_type
...

people
ppl_usr_id (nie można juz dać klucza obcego??)
ppl_birth_date
ppl_sex
...

companies
com_usr_id (nie można juz dać klucza obcego??)
com_vat_in
com_industry

2.)

users
usr_id
usr_login
usr_password
usr_type enum('com','ppl');

user_profiles
usp_usr_id (fk)
usp_name
usp_value

i wypełnić danymi typu:

usp_usr_id = 1, usp_name = 'industry', usp_value='produkcja'
usp_usr_id = 2, usp_name = 'sex', usp_value='male'
usp_usr_id = 2, usp_name = 'birth_date', usp_value='22-12-2012'

Proszę o opinie.
erix
Kod
peoples

Może najpierw podszlifuj angielski. tongue.gif

Cytat
Mam 2 rodzaje użytkowników, "firma" i "czlowiek". Firma i człowiek moga logować się do tej samej aplikacji i podstawowe funkcjonalności mają te same. Cechy jednak mają całkowicie odmienne.

Zdecydowanie drugie. Zechcesz zmienić uprawnienia, wystarczy zmiana pola, a nie przenoszenie rekordu.
marins
A ja to bym rozwiazał tak

users
usr_id
usr_login
usr_password
usr_type

users_data
ppl_usr_id UNIQUE
ppl_data_1
ppl_data_2

wtedy w obu tabelach masz tylko po jednym wpisie o danym id.
a data_1 i data_2 mozesz później z poziomu php dowolnie formatować itp itd.

przy zmianie uprawnien nalezy zmienic tylko usr_type i potem ewentualnie dane ppl
mdx
Cytat(erix @ 29.07.2009, 11:26:13 ) *
Może najpierw podszlifuj angielski. tongue.gif

winksmiley.jpg sciana.gif

Dzięki za opinie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.