Database design 对向表中添加字段感到困惑吗

Database design 对向表中添加字段感到困惑吗,database-design,Database Design,我有这些信息,我必须建立一个数据库: 一个人有姓名、姓氏、婚姻状况、邮件、电话号码、职业、活动领域(非公司人员的活动领域=>其技能)、公司名称 我想知道字段:公司名称和活动字段,我应该将它们添加到表Personne中还是将它们放在另一个表中 取决于您是否拥有超过1个组织或每个人的技能 假设你每个人有一个组织和一项技能,你就会得到这样的东西 Table Person person_id organisation_id skill_id etc. 以及相应的组织和技能表 如果每人拥有1个

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

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


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

取决于您是否拥有超过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关系、数据库规范化和实体关系图。

最好将可以重复的数据存储到单独的表中,以实现灵活性,避免冗余并确保数据一致性。这就是所谓的,它可能是关系数据库设计中最基本的原则。所以,是的,将公司和技能,以及最有可能的职业和活动领域存储在单独的表中,并使用外键引用它们