规范化 - 识别传递依赖关系

时间:2012-05-06 18:08:46

标签: sql normalization 3nf transitive-dependency

我无法识别传递依赖项。我理解它背后的概念,但看着它们并将它们拉出来是我遇到问题的地方。

所以我知道

A→B

不是B→A

的情况

B→C

然后A→C是传递依赖。

在这种情况下,我似乎无法识别传递依赖:

患者ID(PK)

Insurance_Co_ID(PK)

Doctor_ID(PK)

FNAME

P_Lname

P_Street

P_City

P_Zip

P_Phone

Ins_First_Contact

Ins_Second_Contact

Ins_Phone

Doc_Fname

Doc_Lname

Doc_Beeper

我理解如何制作1NF,2NF,ect图表,识别部分依赖关系和行列式,只是遇到麻烦。我做研究后对此的看法是只找到一个传递依赖,但即便如此,我也不确定。 (Doc_Fname)→(Doc_Lname)→(Doc_Beeper)so(Doc_Fname)→(Doc_Beeper)或(Doc_Fname,Doc_Lname)→(Doc_Beeper)?

请帮助和谢谢!

1 个答案:

答案 0 :(得分:0)

您的示例看起来不正确。如果你知道DOC_FNAME,你绝对知道DOC_LNAME吗?如果两个文档具有相同的DOC_FNAME会怎样?

至于3NF,保险公司领域对我怀疑。什么是INS_SECOND_CONTACT?这是否意味着在您拥有SECOND_CONTACT之前需要FIRST_CONTACT?看起来像是我正常化的主要候选人。