Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Użytkownik, płeć - ENUM, SET czy po prostu INT?
Forum PHP.pl > Forum > Bazy danych
Apocalyptiq
Jaka jest dobra praktyka co do przechowywania informacji typu płeć - z tego co wiem o typach zmiennych mysql'a, są takie jak ENUM i SET - jest też coś takiego w C++ - po prostu w danej kolumnie mogą wystepować TYLKO wpisane przez nas ciągi znaków, np. "male" i "female", ale czy to użyteczne jest? Bo jednak często co do takich sytuacji widzę w bazach danych normalne inty - może jednak lepszą praktyką jest zostanie przy nich? :-)
wookieb
Jak ci wygodniej. Ale zastosowanie wartosci liczbowej w bazie bedzie jednak troszke szybsze. 1 i 0 w zupełnosci wystarczy. Ba
2,3,4... mozesz oznaczyc kolejno męski homo, żeński homo, bi, trans meski, trans zenski itd smile.gif czyli w skrócie zwierzęta ludzkie smile.gif
maly_swd
ENUM i SET beda w bazie przechowywane i tak jako liczby...
tzn jest budowany index wartosci i im przypisywany klucz \, ktory jest trzymany w bazie.. wiec szybkosc szukania bedzie taka sama albo i wieksza:)
Juz nie pamietak ktore pole ma z gory okreslane dane jakie mozna wstawic (chyba to bylo set)

http://dev.mysql.com/tech-resources/articl...t-datatype.html
http://dev.mysql.com/doc/refman/5.0/en/enum.html

*ps jesli sie myle to prosze poprawic
Apocalyptiq
Dzięki za linki, przetestuje ten SET w akcji :-)
magnus
Najbardziej akademicko poprawne byłoby zrobienie osobnej tabeli-słownika i połączenie jej relacją biggrin.gif

Ja tam od zawsze używam zwykłego CHAR(1) - K/M i po sprawie. Fakt, że w skryptach lepiej na wszelki wypadek stosować strtoupper() przy porównaniach, ale nie jest to jakaś duża niedogodność.
I w razie jeśli trzeba umieścić trochę więcej możliwości, to też daje radę (G/L... trochę więcej problemu z bi- i trans- żeby odróżnić - można np. B, C oraz T, S) biggrin.gif
pgrzelka
miejcie na uwadze to że po kilku miesiącach ktoś może chcieć ten skrypt edytować i wtedy szybciej się zorientuje jeśli pole będzie enum
phpion
Pole typu SET dla płci smile.gif hehe dobre dobre smile.gif aczkolwiek nie jedne cuda już się na tym świecie działy biggrin.gif

PS: ja był dał ENUMa.
pyro
Cytat(phpion @ 25.05.2009, 18:59:34 ) *
Pole typu SET dla płci smile.gif hehe dobre dobre smile.gif aczkolwiek nie jedne cuda już się na tym świecie działy biggrin.gif

PS: ja był dał ENUMa.


Obojnaki też się zdarzają winksmiley.jpg ale tez bym dal enuma
zzeus
Jeśli masz zamiar rozwijać skrypt lepiej dać ENUM, bo jeśli dasz INT to za kilka miesięcy nie będziesz pamiętał jaka cyferka jest przypisana do jakiej płci, a tak masz wszystko jasne od razu.
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.