1

我需要一个 mysql 表来包含静态和动态数据,因此第一个数据是标准信息,例如姓名电子邮件地址等

Person 1| name| address| age|work record--->  within-> work record: experience|Qualifications
person 2| name| address| age|work record
person3 | name| address| age|work record 

所以第 1 个人可能只有一列经验,第 2 个人可能有 5 列,所以我需要一个新维度来避免为每个人创建单独的表格。这可以在mysql中完成吗?

4

1 回答 1

2

这样做的正确方法是为经验和资格设置第二个(和第三个)表。(如果您要存储的数据相似,您可以将这两个抽象到同一个表中)

然后,您将使用与“人员”表的 1:n 关系,使用人员表的主键作为经验和资格表中的外键。

这些表可能看起来像这样:

PERSON table:
-------------
PersonID (Primary Key)
Name
Address
Age

QUALIFICATION table:
--------------------
QualificationID (Primary Key)
PersonID (Foreign key to Person table)
Qualification-field1
Qualification-field2
Qualification-fieldn

EXPERIENCE table:
-----------------
ExperienceID (Primary Key)
PersonID (Foreign key to Person table)
Experience-field1
Experience-field2
Experience-fieldn

使用约束可以确保您不能拥有引用不存在的 PERSON 记录的 EXPERIENCE 记录。

于 2012-07-29T11:59:07.227 回答