2013-02-26 4 views
0

Я проектирую сайт, который имеет множество форм. Существует около 20 различных форм, и каждая форма имеет свои собственные поля. Поэтому я хотел бы знать, какой лучший дизайн таблицы mysql предназначен для хранения текстовых элементов для каждой формы. Такие элементы, как метки полей, шаблонные тексты, ошибки и т.д. valudationЛучший дизайн таблицы mysql при хранении информации о форме?

My design now is that i have one table with the following columns: 

Id areaName label placeholdertext errormsg 

Для одного из моих форм я затем загружаю все строки, которые имеют areaName равно «имя», «возраст» и «гендер» (получение три ряда для трех полей, которые я вставляю в форму шаблона.Но это лучший способ сделать это? Я рассматриваю возможность создания мультиязыковой установки, название областиName _en для поддержки английского языка.

+0

Возможно, вам понадобится модель базы данных EAV –

+0

Да. Итак, у меня будет язык_ид и с этого идентификатора языка, а form_id будет извлекать всю информацию, используемую в форме? –

ответ

0

Наиболее важным соображением будет то, как ваши данные организованы и свяжутся логически, т.е. какие отношения существуют. Далее, дело доходит до того, насколько велика ваша коллекция. Если вы, например, программируете приложение facebook, где хотите сохранить город пользователя, и вы ожидаете 10000 пользователей, не рекомендуется хранить это местоположение в виде текстового поля в той же таблице. У вас будет поле «location_id» и отдельная таблица «местоположение» и свяжите эту информацию с помощью идентификатора. Таким образом, вы сохраняете каждый город только один раз, а затем ссылаетесь на него.

Я считаю, что ваш дизайн БД зависит от многих факторов: скорости, размера, простоты разработки, личных предпочтений.

+0

будет ли кто-нибудь проголосовать за эту заботу, чтобы объяснить, почему PLS? –

0

с этим не было бы действительно общий «лучший» способ сделать это. Лично я пользуюсь

позволяет редактировать любую форму с панели управления в любое время, и вы можете локализовать их, просто добавив input_locale в конец forms_inputs.

0

Я бы сохранил данные в соответствии с его логикой. Как я сделал бы отдельную таблицу для хранения личных данных пользователей (UserId, FirstName, MidName, LastName, BirthDate, Gender, UserLanguage, Timestamp). Другие данные должны храниться в других таблицах и могут быть подключены к таблице «« Пользователь »через UserId ключ. Заметьте, что я не сохранил «возраст», потому что он устареет менее чем через год. Хранить дату рождения (Дата рождения). Для многоязыковой настройки просто используйте UTF-8 и сохраните идентификатор языка (например, «eng» или «spa» и т. Д.) В каждой строке, чтобы вы всегда знали, на каком языке он. Например, таблица для хранения ваших данных формы будет выглядеть так: MyFormId, UserId, Label, PlaceholderText, ErrorMsg, LangId, Timestamp.

Смежные вопросы