работа с mysql и подводные камни

DriverCat
На сайте с 10.04.2008
Offline
116
568

Может вопрос и глупый, но хотелось бу услышать мнение опытных людей.

есть форма с выпадающим списком. Значение, выбранное в выпадающем списке, будет записываться в mysql таблицу. Так вот как лучше сделать - в <option> прописать сами значения, например м. Автозаводская, либо присвоить id и записывать в таблицу id. А в другой таблице хранить соответсвия этим id самих значений. Просто на многих сайтах видел именно id в качестве опций в выпадющих списках. Есть ли все таки подводные камни, если я в форме сразу пропишу значение?

kil
На сайте с 03.04.2006
Offline
84
kil
#1

Тяжело сказать.

В зависимости от того, что вы в дальнейшем планируете с этими данными делать.

T.R.O.N
На сайте с 18.05.2004
Offline
314
#2

DriverCat,

зачем все в одну кашу. Печенье - отдельно... мухи - отдельно.

Почему Вы считаете что id в <option> (HTML) и id (* + мускул) имеют одинаковую природу и воще связаны?

Для удобства обработки на стороне клиента, выбирается тот вариант записи option, который удобней. А как он связан с БД и связан-ли вообще .... вопрос

БД проектируется так, чтобы максимально удобно и с минимальным количеством сложных запросов, получать результат.

Клиентская часть - пишется для юзеров, которым глубоко на...ть как у вас построена база.

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
vvvvv
На сайте с 04.01.2010
Offline
17
#3

Значения могут поменяться. И Вам придется шерсить базу на предмет изменений всех значений.

А если сделать отдельную таблицу, то изменения надо будет вносить только в одном месте.

Поэтому с точки зрения нормализации базы данных правильнее будет вариант "присвоить id и записывать в таблицу id. А в другой таблице хранить соответсвия этим id самих значений."

[Удален]
#4

Из этих 2-х вариантов для большинства задач я бы выбрал вариант с id.

И нормализовать базу проще, и размер страницы меньше, и скорость выполнения запросов в некоторых случаях выше и в случае расширения проблем меньше.

autosubmit добавил 26.03.2010 в 04:32

Хотя, я не настолько опытный, чтобы рассказывать, как надо.

[Удален]
#5

зависит от колва записей в результирующей таблице и ее природе, если их там десятки тысяч, то id, елси 20-100 штук, то похеру, я бы даже выбрал не id, ибо проблем меньше :)

зы: высокая нормализация не всегда есть гут

[Удален]
#6

Смотря что это за список.

Если это список по которому в последствии будет выборка/поиск, регулярное добавление/переименовывание, то лучше ID если это просто данные (например как на форуме "страна проживания") то лучше не удалять гланды через анальное отверстие, а просто делать "открытым текстом".

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий