Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[mysql] enum a tabela slownikowa

60 views
Skip to first unread message

smerf

unread,
Oct 4, 2007, 3:25:43 PM10/4/07
to
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?

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 ?

Artur Muszyński

unread,
Oct 5, 2007, 4:33:17 AM10/5/07
to
smerf pisze:

W tym przypadku dobra, ale na przyszłość proponuję p.c.bazy-danych

artur

JerzyM

unread,
Oct 7, 2007, 9:25:00 AM10/7/07
to
Dnia 4-10-07 21:25, smerf napisał(a):

> 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ą.

0 new messages