2016-12-29 4 views
0

Я занимаюсь созданием многоступенчатой ​​формы заявки, содержащей 7 разделов, таких как «ваши данные», «ваши финансовые обстоятельства», «предыдущая история» 'и т. д.Создание многоэтапных веб-форм - одна таблица DB или несколько таблиц

Я хотел бы сохранить пользователей в конце каждого раздела - то есть на submit/continue - но я не уверен, использовать ли одну огромную таблицу (есть много полей!) или перерыв данные разбиваются на несколько таблиц на основе разделов.

Я склоняюсь к последнему, потому что он кажется более логичным и упорядоченным, однако я не уверен, как связать таблицы так, чтобы данные были связаны с каждым пользователем, который заполняет форму?

Я работал только на отдельных веб-форм страница/таблицы в прошлом один децибел с одной таблицей (например, ниже), который собирает данные от конкуренции какой-то:

CREATE TABLE user_data ( 
id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, 
firstName VARCHAR(255) NOT NULL, 
lastName VARCHAR(255) NOT NULL, 
postcode VARCHAR(255) NOT NULL, 
telephoneNumber VARCHAR(255) NOT NULL, 
emailAddress VARCHAR(255) NOT NULL, 
dateTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP); 

Так что это новая область для меня, любая помощь/указатели будут очень признательны!

ответ

1

Поскольку вы используете мастер и детали здесь, я не уверен, как вы можете хранить всю информацию в одной большой таблице. В этом случае для одного пользователя будет многократная история. Это означает, что вы должны использовать отношения «один ко многим» в этом случае. Вы не представили много деталей. Тем не менее, я хотел бы знать, как вы разрабатываете схему таблиц, используя только одну таблицу.

+0

Я обновил свой вопрос для вас, Прабир. Вы говорите: «Для одного пользователя будет несколько историй», но я не понимаю, как это было бы, потому что каждый новый человек, который заполняет веб-форму, создавал бы новую запись в базе данных по всем таблицам, если только были какой-то системой входа, которую я мог бы приписать пользователю каждой заполненной веб-форме? Этот проект не будет использовать систему входа в систему, в основном это просто многоэтапная веб-форма. Думаю, мне нужно более подробно разобраться в отношениях между таблицами. –

+0

Какую информацию я могу предоставить вам, чтобы дать вам лучшее представление о том, чего я пытаюсь достичь? –

+0

Ваша таблица user_data идеальна. Теперь создайте таблицу «user_history» с user_id как внешним ключом. В этой таблице может быть дополнительная колонка для «описания», «даты» и т. Д. В вашем случае вы упомянули, что у вас нет механизма входа. Это означает, что веб-страница не имеет информации о том, какой пользователь выполнил вход в систему. Тогда у вас должен быть какой-то другой механизм, чтобы узнать user_id. Вы можете предоставить функцию поиска для пользователя. Затем пользователь выбирает пользователя и обновляет информацию этого пользователя по всем таблицам. –

1

Если у вас есть тип данных коллекции в виде (как таблицы) у вас есть два выбор:

  1. Создание одного до нескольких таблиц для каждого типа коллекции
  2. хранения данных в программном обеспечении читаемых формиата как JSON в текстовом поле базы данных.