Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> uzytkownicy a dane logowania
goroteb
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 1
Dołączył: 16.03.2009

Ostrzeżenie: (0%)
-----


Witam,
Mam pewien problem. Otoż, załóżmy, że mam dwie tabele:

dane_autentykacyjne: id_da (PK), login, haslo, rola
uzytkownicy: id_uzytkownik(PK), da_id(FK), imie, nazwisko, ulica, miasto, nr domu etc (sporo tego)

tylko jedna rola: klienci ma wpisy w tabeli uzytkownicy, o użytkonikach z innymi rolami (admin, sprzedawca etc) przechowujemy tylko dane w tabeli dane_autentykacyjne. Tak więc tabela uzytkownicy jest niepotrzebna dla wszystkich oprócz jednej ról.

Czy da się to jakoś ładniej zmontować, bez NULLI?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Ja się zastanawiam nad jednym... Skoro robisz podział danych w ten sposób, to czy id_uzytkownik(PK), da_id(FK) nie są identyczne? No chyba że dopuszczasz by wielu userów łączyło się za pomocą tych samych danych lub jeden użytkownik miał wiele różnych ról i każda z nich inny login i hasło. To raz. A pytanie inne to po co cokolwiek zmieniać jeszcze? Zwyczajnie zakładasz ten rekord w tabeli użytkownicy tylko gdy ktoś jest klientem. A to przecież właśnie dobra droga i prawidłowa. Robisz normalnie JOINy jak chcesz, a jeśli już po stronie skryptu wykryjesz, że ktoś nie jest klientem, to wiesz, że i tak w ewentualnych dodatkowych kolumnach napotkasz nulle. Twoje podejście (poza zdublowanymi kluczami, o czym wspomniałem) jest jednak jak najbardziej poprawne i nie unikniesz nulli w kolumnach które nie istnieją. Możesz jedynie próbować je "ukryć" poprzez IFNULL i wpisywanie wtedy pustego stringa czy innej wartości gdzie trzeba, bądż IF i uzupełnienie kolumn, ale nie widzę sensu tego zbytnio.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 15:07