关于功能依赖的应用数据库问题

问题描述 投票:-3回答:1

LabResults:

FirstName,LastName,DOB,性别,ConsultDoctor,SSN,地址,电话 - pk,TestRequest,ChemistryPanels,DrugLevel

ImagingResults:

PatientName,DOB,Phone fk,ICD9,授权,ReferPhysician,PhysicianNum fk,MRI,CT,Mammogram,Ultrasound,Nuclear Medicine,PET / CT,GeneralRadiology,Others

以上是项目即时执行的两个实体和属性。如果我的功能依赖是正确的,我想知道的是什么。

电话(FirstName,LastName,DOB,性别,SSN,地址,ConsultDoctor,TestRequest,ChemistryPanels,DrugLevel)

电话(PatientName,DOB,ICD9,AuthorizationNum,ReferPhysician,PhysicianNum,MRI,CT,Mammogram,Ultrasound,Nuclear Medicine,PET / CT,GeneralRadiology,Others)

database database-design functional-dependencies
1个回答
1
投票

有些事情。

FD通常使用LHS arrow RHS类型的语法来表示,例如, phone -> DOB,SSN

有时,明确编写大括号来强调LHS和RHS是属性集的概念:{phone} -> {DOB,SSN}

看起来你在这里得到了两个关系模式。在通常的表示法中,它是使用name paren attrs paren语法表示的模式:LabResults(FirstName,LastName,...)

提到哪个属性是[主键的一部分]是将事情颠倒过来和倒退:应用于关系模式的哪些键应该是FD应用于它的结果(并且必须给出FD,而不是键)。

如果给你候选密钥[s],那么找到FD只是用密钥和RHS替换LHS的问题,对于每个给定的密钥,你已经为LabResults模式正确地做了,模数偏离了通常的语法。

对于第二个模式,您的引用文本似乎没有给您任何键(根据规范化理论,外键不是[候选]键)。此外,无论FD的LHS部分出现什么,都必须是模式本身的[一组]属性[s]。 ImagingResults没有phone属性,所以你在那里出错了。

© www.soinside.com 2019 - 2024. All rights reserved.