Jakie dane przechowywać w bazie na temat użytkowników?

0

Witam. Projektuję sobie bazę danych i mam pewien dylemat. Załóżmy, że mam 3 typy kont admin, pracownik i klient. Wiadomo na temat klienta muszę przechowywać wszystkie dane: login, hasło, imię, nazwisko, pesel, email, telefon, adres. Zastanawiam się jakie dane przechowywać dla kont zarządzających systemem czyli pracownik i admin. Czy tylko login i hasło? Czy może dodać jakieś dokładniejsze dane typu imię, nazwisko? Pesel to chyba nie potrzebny. Chciałbym się dowiedzieć jak to wygląda w prawdziwych systemach, jeśli ktoś miał styczność. Dotąd zwykle i do administrator dodawałem imię, nazwisko itd. Teraz jednak zastanawiam się czy nie nadmiarowo i niepotrzebnie to robiłem?

0

zrób jedną tabelkę np.
accounts(id, login, haslo, imie, nazwisko, pesel, email, telefon, adres itd.... + uprawnienia)

moze byc osobna tableka uprawnienia i relacje albo jak to prosty system np. w tabelce account enum Permission mapowane w sql na stringa. wydaje mi się, że tak.

3

klienci to klienci - oni potrzebują zazwyczaj znacznie więcej danych. Natomiast operator (czy to admin czy user - to już determinują uprawnienia) to przede wszystkim id, login, hasło i nazwa (imię i nazwisko). Dodatkowo może być np. zdjęcie, email, gg, skype.

Łączenie klientów i operatorów to nie jest dobry pomysł - to są zupełnie inne obiekty biznesowe

2

Administrator, operator i klient - wszyscy mają loginy, hasła, daty ostatniego logowania i tego typu informacje diagnostyczne, więc wszystkich bym trzymał w relacji Users. Z nią powiązałbym 1:1 relację CustomerDetails i w niej znajdowałyby się dane specyficzne dla klientów. Złączenie między tymi relacjami odbywałoby się oczywiście na podstawie UserId.

1 użytkowników online, w tym zalogowanych: 0, gości: 1