我正在检查表规范化,看看我得到了什么:
描述并说明将此表中显示的数据标准化为第三范式 (3NF) 的过程:
BRANCH_NO(PK) BRANCH_ADDRESS TELL_NO MANAGER_ID MANAGER_NAME
B001 ADDRESS 1 TELL 1 S1500 TOM DANIELS
B002 ADDRESS 2 TELL 2 S0010 MARY MARTINEZ
B003 ADDRESS 3 TELL 3 S0145 ART PETERS
B004 ADDRESS 4 TELL 4 S2250 SALLY STEM
在他们转换之后,他们最终得到了这两个他们声称都在 3NF 中的表:
BRANCH_NO(PK) BRANCH_ADDRESS TELL_NO MANAGER_ID(FK)
B001 ADDRESS 1 TELL 1 S1500
B002 ADDRESS 2 TELL 2 S0010
B003 ADDRESS 3 TELL 3 S0145
B004 ADDRESS 4 TELL 4 S2250
和
MANAGER_ID(PK) MANAGER_NAME
S1500 TOM DANIELS
S0010 MARY MARTINEZ
S0145 ART PETERS
S2250 SALLY STEM
我认为很明显第一个表不是3NF。例如:tell_no 依赖于不是主键的 branch_addres,但主键在功能上标识了与过渡功能依赖冲突的 branch_address。