[英]Boyce Codd Normal Form?
我想看看這些示例是否在BCNF中,以了解我是否正確執行了這些操作。 關系:
Employee (EID, Ename, PID, ProjectName, MID, ManagerName)
功能依賴性:
EID==>(Ename, PID)
PID==>(ProjectName, EID, MID)
MID==>(ManagerName, PID)
BCNF關系:
Employees(EID,Ename, PID)
Project(PID, ProjectName)
Managers(MID, ManagerName, PID)
第二個例子
關系:
Pet (PID, Pname, Type, Breed, DOB, OwnerID, OwnerName, OwnerPhone,
OwnerEmail, ServiceType, Date, Charge)
功能依賴性:
PID==>(Pname, Type, Breed, DOB, OwnerID)
OwnerID==>(OwnerName, OwnerPhone, OwnerEmail, PID)
ServiceType==>(Charge)
BCNF關系:
Pet(PID,Pname,Type,Breed,DOB)
Owner(OwnerID, OwnerName, OwnerPhone, OwnerEmail, PID)
Service(ServiceType, PID, Date, Charge)
我在這些方面走對了嗎?
是的,兩個示例都在BCNF中。
Employees(EID, Ename, PID)
Project(PID, ProjectName)
Managers(MID, ManagerName, PID)
沒有功能依賴性,因此達到了BCNF。 請注意,盡管在此示例中,一個項目可以由許多經理領導,但是一個經理只能領導一個項目。
Pet(PID ,Pname, Type, Breed, DOB)
Owner(OwnerID, OwnerName, OwnerPhone, OwnerEmail, PID)
Service(ServiceType, PID, Date, Charge)
同樣,這是BCNF,因為屬性沒有依賴關系,這會導致冗余。 再一次注意:同一只寵物可以由許多擁有者擁有,但一個擁有者只能擁有一只寵物。 這是一個示例,其中每只寵物僅由一個所有者擁有,並且一個所有者可以擁有許多寵物:
Pet(PID, Pname, Type, Breed, DOB, OwnerID)
Owner(OwnerID, OwnerName, OwnerPhone, OwnerEmail)
Service(ServiceType, PID, Date, Charge)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.