在数据库中存储动态字段的最佳实践

时间:2019-01-21 09:30:53

标签: mysql sql database database-design rdbms

我有一个带有输入字段的表单,该字段可以根据用户需要重复多次。例如。 -教育资格字段,用户只能输入1个教育资格或添加10个,这是将其存储在数据库中的最佳方法。我知道我可以在PHP中序列化它们或将在这些字段中输入的数据转换为JSON,然后将其存储。但是我知道这不是理想或最佳实践。谁能指导我实现最佳方法?

"Dyanamic Form Input Example"

2 个答案:

答案 0 :(得分:1)

我假设您正在使用表PersonDetails来存储人的详细信息。不要在此表中存储教育详细信息,因为存在一对多关系(一个人可以有许多教育详细信息行)。创建另一个表EducationQualification来存储每个教育资格,并使用'personId'链接两个表。另外,您还可以在“ EducationQualification”表的“ personId”列中创建外键约束。

create table PersonDetails(personId integer primary key, name varchar(30));
insert into PersonDetails(personId,name) values(1, "praveen");
insert into PersonDetails values(2, 'naga');
insert into PersonDetails values(3, 'surya');

create table EducationQualification(QualificationID integer primary key, QualificationName varchar(30), personId integer);
insert into EducationQualification values (1, 'schooling', 1);
insert into EducationQualification values (2, 'degree', 1);
insert into EducationQualification values (3, 'postgraduate', 2);
insert into EducationQualification values (4, 'graduate', 2);

答案 1 :(得分:0)

您好创建一个表用户和一个表user_qualificatin,用户表中的useId是user_qualification表中的外键,例如,您可以将此ID设置为autoincrement,并在附加新的限定时递增。

相关问题