mam 4 rodzaje użytkowników i każdy ma konkretnych danych, ale także udostępniać dane komun, jak username
, password
..relacyjnych baz danych rodzaje wielokrotnego użytkowników
Moja pierwsza myśl jest stworzenie głównego users
stół user_type
kolumna. Następnie, podczas wysyłania zapytań o dane użytkownika, mogę najpierw wybrać ich user_type
, a następnie, w zależności od output
, uruchomić inne zapytanie, aby pobrać określone dane "typu użytkownika". Nie lubię tego, ponieważ chciałbym pobrać wszystkie dane związane z użytkownikiem za pomocą jednego zapytania i najlepiej za pomocą kluczy obcych.
Drugą ideą jest, aby nie mieć kolumny user_type
w tabelii zamiast tego używać klucza obcego, który z konkretnej tabeli typu użytkownika wskaże wiersz tabeli głównej users
. Podoba mi się to trochę lepiej, ale myślę, że będę musiał uruchomić N zapytań, gdzie N to liczba typu użytkownika za każdym razem, gdy potrzebuję pobrać dane użytkownika.
Czy są jeszcze jakieś opcje? Jaka byłaby dobra praktyka w takim przypadku?
Dziękujemy
Jeśli rozumiem cię, po prostu trzeba użyć klauzuli JOIN w SQL. Coś jak "WYBIERZ" OD UŻYTKOWNIKÓW POŁĄCZENIE UDOSTĘPNIENIA user_details D WŁĄCZ U.id = D.user_id GDZIE U.id =? ' –
Czy użytkownik może być więcej niż jednym typem naraz? –
@Catcall nie w tym scenariuszu użytkownik może mieć tylko jeden typ, ale jestem ciekawy, jakie są możliwości w obu przypadkach – silkAdmin