Ray*_*ian 0 database database-design third-normal-form database-normalization
我有这两张桌子。
如果我确定它们位于 3NF 中,这是正确的方法吗?我的答案:
StaffDetails( StaffID , SName, DOB, DivisionNo*)
Division( DivisionNo , DivName, DivSupervisorID)
StaffProject( StaffId *, ProjectNo *, SName, ProjectName, HoursAssigned)
项目(项目编号, 项目名称)
主键是粗体的,但是星号后面的原因是什么?
不,它并不完全是 3NF,正如您在表中复制的SName
那样。StaffProject
StaffProject
这些表可能应该是:
员工详情
柱子 | 数据类型 | 约束条件 |
---|---|---|
员工详情 | VARCHAR2 | 首要的关键 |
S名称 | VARCHAR2 | |
出生日期 | 日期 | |
部门编号 | INT | 外键(部门) |
分配
柱子 | 数据类型 | 约束条件 |
---|---|---|
部门编号 | INT | 首要的关键 |
分区名称 | VARCHAR2 | (可能是独一无二的) |
DivSupervisorID | VARCHAR2 | 外键(员工详细信息) |
员工项目
柱子 | 数据类型 | 约束条件 |
---|---|---|
员工ID | VARCHAR2 | 复合主键、外键(StaffDetails) |
项目编号 | VARCHAR2 | 复合主键、外键(项目) |
分配的时间 | 数字 | 检查 > 0 |
项目
柱子 | 数据类型 | 约束条件 |
---|---|---|
项目编号 | INT | 首要的关键 |
项目名 | VARCHAR2 | (可能是独一无二的) |
至于你的符号问题,这是你的导师似乎正在使用的惯例,但不一定是全球认可的,所以你最好问他们;然而,主键似乎带有下划线,而外键旁边有一个星号。
StaffProject
将具有既是复合主键又是外键的一部分的列,因此将具有两种表示法。
归档时间: |
|
查看次数: |
1489 次 |
最近记录: |