簡體   English   中英

博伊斯·科德范式?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM