Database design 个人->;详细信息数据库结构

Database design 个人->;详细信息数据库结构,database-design,data-modeling,Database Design,Data Modeling,我有一个域模型: 员工:身份证、名、姓、性别、出生日期 办公室:员工、工作站、办公名等 联系人:员工、手机、电子邮件等 但我不确定我目前的数据库结构。如何正确:Employees表有一个PK EmployeeID,office和Contacts表有自己的ID和对Employees表的引用,或者Employees表有自己的EmployeeID,还通过OfficeID和ContactID保留对office和Contacts的引用?要保持合理的正常形式,您的员工应该参考office 假设联系人关系为“

我有一个域模型:
员工:身份证、名、姓、性别、出生日期
办公室:员工、工作站、办公名等
联系人:员工、手机、电子邮件等


但我不确定我目前的数据库结构。如何正确:Employees表有一个PK EmployeeID,office和Contacts表有自己的ID和对Employees表的引用,或者Employees表有自己的EmployeeID,还通过OfficeID和ContactID保留对office和Contacts的引用?

要保持合理的正常形式,您的员工应该参考office

假设联系人关系为“员工拥有一组联系人,而没有其他员工共享这些联系人”,则正确的关系应为“联系人”指的是该员工

员工:empid,officeid

办公室:officeid


联系人:empid,contactid

如果Office和联系人表中的数据只是增强了有关员工的信息,我会将EmployeeID用作员工的主键和外键。它建立了1到0..1的关系模型

Employee:EmployeeID作为主键


办公室和联系人:EmployeeID作为员工的主键和外键

您的模型没有明确说明员工、办公室和联系人之间的关系。 具体来说,这些关系是一对一、一对多还是多对多?一旦对要建模的关系进行了编目,数据库的外键结构就会变得清晰