Lepiej robic tabele slownikowa z 3 rekordami?
Czy lepiej pole typu enum?
Zaczalem preferowac pole enum ale z wartosciami jasno opisujacymi, zadne tam cyferki
znaczenia ktorych trzeba bedzie wszedzie pamietac.
Czyli u mnie jest :
Status ENUM('wyslano', 'zwrot', 'przeczytane')
Rekordow kilkadziesiat tysiecy.
Dobra czy zla praktyka ?
W tym przypadku dobra, ale na przyszłość proponuję p.c.bazy-danych
artur
> Co jest lepiej robic w sytuacjach jak ta :
> pole status, 3 wartosci (wyslano, zwrot, przeczytane).
>
> Lepiej robic tabele slownikowa z 3 rekordami?
> Czy lepiej pole typu enum?
Wszystko zależy do czego tego używasz ... jeśli oprócz nazwy jest to
powiązane np. z możliwością edycji albo czymś więcej to lepiej używać
słownika.
Wg. mnie takie "długie" ENUM są niefunkcjonalne bo:
a) żrą więcej miejsca niż literowe skróty
b) słownik to nie tylko lista słów - bardzo często pociąga to za sobą
dodatkowe właściwości np. kolejność etapów realizacji itd. czy aktywność
poszczególnych wierszy.
Przykładowo masz słownik określający zlecenie w sklepie i dopuszczalne
wartości to: nowe, zamknięte, w_trakcie_weryfikacji, w_magazynie, wysłane,
rozliczone. Tworząc słownik możesz każdemu z tych pól przypisać liczbowy
etap realizacji np. nowe(0), zamknięte(50), .... rozliczone(100). W tym
momencie pisząc aplikację możesz zostawiać warunek liczbowo tj. np. możesz
edytować zlecenie dopóki etap<50 ... i nie interesuje cię że w przyszłości
dodasz jeszcze 5 etapów pomiędzy. Nie wiem czy przykład dobry ale chyba
oddaje wyższość słowników przy czymś poważniejszym.
--
--------------------------------
Opinie wygłaszane na newsach są moim prywatnym
zdaniem nie mającym nic wspólnego z jakimkolwiek
byłym, obecnym lub przyszłym moim pracodawcą.