在1NF,2NF,3NF和BCNF中此关系的分解是什么
关系-接送(目的地,出发地,航空公司,登机口,姓名,联系方式,接机)
功能依赖性-
目的地,出发地,航空公司→登机口
登机口→航空公司
联系人→姓名
姓名,出发→登机口,上车
登机口,出发→目的地
我尝试使用闭包找到候选键,发现它是(联系人,离开)
然后根据该候选键,我试图将其分解为后续的正常形式。
2NF –无部分依赖性
R1(联系人,姓名)
R4(姓名,出发,登机口,接机,航空公司)
R5(登机口,出发地,目的地)
3NF-无传递依赖和BCNF
R1(联系人,姓名)
R2(姓名,出发,登机口,接机)
R3(Gate,Airline)
R4(登机口,出发地,目的地)
这是对的还是这里有问题?因为我对2NF的分解并未真正描述第一个FD。
假设依赖性是一个掩盖,在您的两个分解中,依赖性:
airline departs destination → gate
未保留。所有分解的关系都在3NF中并保留数据和依赖项的分解是:
R1 (airline departs destination gate)
R2 (contact name)
R3 (departs gate name pickup)
R4 (contact departs)
请注意,由于依赖项gate → airline
,R1在3NF中,但在BCNF中不存在(gate
不是超键)。注意,此外,已知在某些情况下BCNF中的分解不能保留依赖性。