Właśnie walczę z problemem, podziału tabeli użytkowników na mniejsze. Wszystko dlatego, że w tabeli mają być dwa typy użytkowników, dla przykładu student i wykładowca. Oba typy mają mieć takie same kolumny z informacją o użytkowniku, przy czym dla wykładowców ma być o kilka kolumn więcej z ustawieniami konta (~6 kolumn z danymi typu ENUM 'Y', 'N' opisujące opcje w stylu "wyślij powiadomienie email kiedy nadejdzie nowa wiadomość", przy czym studenci wykorzystują tylko ~2 z nich).
I teraz 4 dopuszczalne rozwiązania:
- 1 tablica "uzytkownicy"
gdzie wszystkie kolumny opcji niedostępnych dla studentów mają wartość NULL (raczej wykluczam że to poprawne)
- 2 tablice "studenci" i "wykładowcy"
gdzie studenci mają tylko ~2 kolumny ustawień, a wykładowcy ~6 (z tego ~2 są identyczne jak te u studentów)
- 2 tablice "uzytkownicy" i "ustawienia"
gdzie tablica ustawienia zawiera klucze obce wg. ID wykladowcow, ale w tablicy uzytkowników też muszą znaleźć się ~2kolumny ustawień które dotyczą wszystkich użytkowników
- 3 tablice "uzytkownicy", "ustawienia_s" (dla studentów), "ustawienia_w" (dla wykladowcow)
Które z tych rozwiązań jest najbardziej poprawne?