Witam. Miałbym pytanie dotyczące projektowania baz danych. Załóżmy, że mam np. 3 typy kont administrator, klient i pracownik. Konta te posiadają wspólne pola takie jak np. imię, nazwisko, pesel, email, ale np. konto klienta posiada dodatkowo pola z adresem takie jak miasto, ulica, a konto pracownika dodatkowo jeszcze pole stanowisko. Moje pytanie jest, jak lepiej zaprojektować to w bazie? Tworzyć jedną tabelę user ze wszystkimi polami i w przypadku tworzenia admina, nadmiarowe pola wypełniać nullami? Czy rozbić to na 3 tabele admin, klient i pracownik?
Jeszcze jedno pytanie, załóżmy, że dwa typy kont mają możliwość zarządzania pewnym zasobem np. dodawaniem, usuwaniem i edycją jakiegoś wpisu w bazie. Czy zazwyczaj tworzy się jakąś tabelę, która np. przechowuje informacje o tym, że dany użytkownik dokonał jakichś operacji na danym wpisie? Załóżmy, że mamy konto lekarza i sekretarki, oba konta mogą dodawać, usuwać i edytować wizyty. Czy tworzyć dodatkową tabelę odnotowującą zdarzenia, że np. sekretarka ABCD dodała wizytę itp?