woj_tas
16.06.2011, 09:29:38
Witam,
w dynamicznie tworzonym formularzu potrzebuje mieć możliwość wpisania czterech typów danych:
- varchar
- text
- int
- float
Pytanie jak to przechowywać w bazie. Czy wrzucać wszystkie te dane do kolumny typu text czy może zrobić 4 kolumny, dla każdego typu osobną?
Rozwiązanie I:
id | form_id | value (type text) | type
---------------------------------------
Rozwiązanie I:
id | form_id | value_int | value_float | value_varchar | value_text | type
---------------------------------------
Co o tym myślicie?
uupah5
16.06.2011, 10:41:22
Cytat(woj_tas)
Co o tym myślicie?
rób jak Ci wygodnie *). nie ma co medytować.
*) nie z punktu samego przechowywania, bo to pseudoproblem, ile z punktu widzenia dalszego przetwarzania tych danych
askone
16.06.2011, 11:09:47
Ciekawe w jakim formularzu w jednym polu mogą się pojawić 4 różne typy wartości?? Osobiście zastosowałbym odmienne podejście z wykorzystaniem dwóch tabel. W pierwszej tabeli zdefiniowałbym wszystkie pola (id, nazwa, label, typ wartości, itp). W drugiej byłyby przechowywane wartości z formularzy, kolumny (id, id_form, id_pola, value).
W miarę prosty sposób można wtedy pobierać informacje z formularzy w powiązaniu z typami pól.
Pozdrawiam