对于向表中添加字段感到困惑

时间:2012-02-06 10:59:37

标签: database-design

我有这些信息,我必须建立一个数据库:

a人员有姓名,姓氏,婚姻状况,邮件,电话号码,职业,活动领域(非公司人员的活动领域=>他的技能),公司名称

我想知道字段:公司名称和活动字段,我应该将它们添加到Personne表中还是将它们放在另一个表中?

2 个答案:

答案 0 :(得分:0)

取决于每个人的组织或技能是否超过1个。

假设你每人有1个组织和1个技能,你会得到类似的东西

Table Person
 person_id
 organisation_id
 skill_id
 etc. 

当然还有组织和技能的相应表格。

如果你的人数超过1,你就有1-n-1的关系:

Table Person
 person_id

Table skill
 skill_id
 text
 etc.

Table skill_person
 skill_id
 person_id

组织也是如此。关于这个东西的背景google 1-n-1关系,数据库规范化和实体关系图。

答案 1 :(得分:0)

最好将可重复的数据存储到单独的表中,以实现灵活性,避免冗余并确保数据一致性。这称为normalization,它可能是关系数据库设计中最基本的原则。所以,是的,存储公司技能,并且很可能还在单独的表中存储专业活动领域使用foreign keys使用外键来引用这些内容。