Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodatkowe pole czy osobna tabela archiwum
Forum PHP.pl > Forum > Bazy danych > MySQL
Riggs
Witam,
projektuję system obsługi użytkowników. Każdy użytkownik ma generowany unikalny login (oraz ID, wiadomo). Dodałem możliwość usuwania użytkowników ale potrzebuję wiedzieć przy generacji loginów jakie loginy są już wykorzystane. Rozważam 2 warianty:
a) dodatkowe pole w tabeli users typu boolean wskazujące czy użytkownik jest zarchiwizowany (brak możliwości logowania) czy też aktywny
cool.gif dodatkowa tabela w bazie zawierająca login użytkownika, jego stare id i inne poboczne informacje.

Potrzebne jest mi to do tego aby uzyskać informację o powiązanych z danym użytkownikiem operacjach.

Proszę o Wasze porady, nie potrafię określić czy użytkowników będzie w bazie mniej niż tysiąc czy też będą ich setki tysięcy wink.gif dlatego szukam optymalnego rozwiązania. Może do bazy z 10 000 rekordów nie warto w ogóle martwić się dodatkową tabelą?
kaminskp
Proponował bym w tabeli user pole status i wartośc 0 lub 1 jak się domyślasz to 0-zakaz dostępu 1-aktywny.
Lepiej informacje o urztkownikach mieć w jednej tabeli.
Crozin
W większości przypadków dobrze jest za wszelką cenę unikać usuwania jakichkolwiek danych z bazy. Dodaj kolumnę deleted_at/archived_at typu DATETIME, która będzie zawierać datę usunięcia/zarchiwizowania obiektu, bądź NULL w przypadku gdy istnieje.
Riggs
Ok, sposób Crozina podoba mi się (ze znacznikiem czasowym). Jeżeli potrzebował będę archiwizacji to się po prostu usunie stare rekordy które pole deleted będą miały != NULL
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.