数据库 – 如何在“菱形”关系系统中保持外键关系的一致性
发布时间:2021-01-17 20:06:11 所属栏目:编程 来源:网络整理
导读:思量这种环境:从贩卖职员处购置汽车.贩卖职员在陈列室(仅在一个陈列室)事变.陈列室附属于制造商,仅贩卖该制造商出产的汽车.同时,Car是特定型号,而型号由制造商制造. 限定R:汽车模子的制造商必需与汽车贩卖员的陈列室隶属制造商的制造商沟通. 该图表现了明明
思量这种环境:从贩卖职员处购置汽车.贩卖职员在陈列室(仅在一个陈列室)事变.陈列室附属于制造商,仅贩卖该制造商出产的汽车.同时,Car是特定型号,而型号由制造商制造. 限定R:汽车模子的制造商必需与汽车贩卖员的陈列室隶属制造商的制造商沟通. 该图表现了明明的外键相关. ----> Manufacturer <---- | | | | Showroom | ^ | | Model | ^ Salesperson | ^ | | | --------- Car ---------- 你怎样执行限定R?您可以添加外键相关Car – >制造商.然而,汽车的制造商可以通过在“钻石”周围以这种或那种方法毗连表来成立,以是这必定不会被类型化吗?然而,我不知道怎样逼迫执行束缚. 办理要领假如我正确地领略了这个题目,那就应该靠近了.这里有一些要害的细节 -- -- Keys for SalesPerson -- alter table SalesPerson add constraint PK_salesperson primary key (PersonID),add constraint AK1_salesperson unique (ManufacturerID,ShowRoomNo,PersonID),add constraint FK1_salesperson foreign key (PersonID) references Person (PersonID),add constraint FK2_salesperson foreign key (ManufacturerID,ShowRoomNo) references ShowRoom (ManufacturerID,ShowRoomNo) ; -- -- keys for Sale table -- alter table Sale add constraint PK_sale primary key (SaleID),add constraint FK1_sale foreign key (BuyerID) references Person (PersonID),add constraint FK2_sale foreign key (ManufacturerID,ModelName,ShowRoomNo) references CarDisplay (ManufacturerID,ShowRoomNo),add constraint FK3_sale foreign key (ManufacturerID,SalesPersonID) references SalesPerson (ManufacturerID,PersonID) ; (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |