управляемые базой данных поля (идентификаторы полей) - PullRequest
0 голосов
/ 19 апреля 2011

Мне нужно настроить все поля в базе данных моего веб-сайта, чтобы я мог отслеживать уровни полей и назначать валидации / типы полей и т. Д. Для каждого типа поля.Текущая схема:
L_SystemFields
sys_field_id
name

L_Fields
field_id
sys_field_id (от fk до L_SystemFields)
имя

Это позволяет мне связать это:
Поле 1 = Имя пользователя на странице входа в систему
Поле 2 = Имя пользователя на странице регистрации

Теперь оба поля технически совпадают - 'имя пользователя'поэтому они имеют одинаковые sys_field_id & name в L_SystemFields.Но для отслеживания полей им нужен уникальный идентификатор, поэтому они имеют разные field_id и имя в L_fields, например username1, username2.

Вопрос заключается в следующем: в форме html что я извлекаю - field_id, sy_field_id, name (из L_SystemFields) или name (из L_Fields) или что-то еще?Насколько я знаю, имена полей должны быть уникальными для каждой страницы, что работает в этом случае, но не будет работать в случае, когда у меня есть несколько одинаковых полей на странице, такой как профиль пользователя, где я могу добавить несколько колледжей, которые я посещал.В таком случае, как назвать поля и какие значения использовать?

1 Ответ

1 голос
/ 19 апреля 2011

Предположим, что вы не извлекаете схему базы данных для соответствия форме HTML.Вы хотите, чтобы ваше приложение было легко изменить в будущем.Привязка дизайна базы данных к вашей HTML-форме была бы болезненной в будущем.Это также позволит вам реализовать v2 или другой интерфейс (мобильное приложение, приложение для настольного компьютера и т. Д.) Независимо от вашей первоначальной реализации HTML.

Рассмотрите возможность реализации дизайна базы данных first .Достигните 2-й или 3-й нормальной формы, как считаете нужным.

В общем, дайте имя / идентификатор вашим элементам HTML, чтобы они имели смысл.Разные элементы на разных страницах (контакт против профиля против регистрации) не обязательно должны иметь уникальные имена.

Непонятно, почему вам нужно включить / украсить ваше поле с их field_type_ID.

<input type="text" id="customerEmail_1" />
<input type="text" id="homePhone" />

Для кратных:

<input type="text" id="customerEmail_2" /> //etc

Если вам нужны кратные, другой вариантбудет использовать и стиль <textarea>.

...