这里是 ER 图的一部分。
这里,Customer 是超类,Private 和 Business 是子类,强制参与不相交,Business 客户又是 Silver、Gold 和 Diamond 子类的超类,强制参与不相交
快速解释:客户分为商业和私人。商业客户有三种会员选择:银牌:10% 折扣,金牌:25% 折扣,钻石:40% 折扣。将上述内容映射到关系模式的最佳方法是什么?什么是区分属性和通用属性?目前,我想出了以下几点:
4 张表 - PrivateCustomer(来自 Customer Superclass)和 SilverMember、GoldMember 和 DiamondMember(来自 Business Superclass)
PrivateCustomer (CuID, CuFirstName, CuLastName, CuDOB, CompanyName, CuAddressLine1, CuAddressLine2, PhoneNumber, CuEmail, CuNotes,
CuLocID)
SilverMember (CuID, ????? DiscPerc, DiscAccrued,
CuLocID)
GoldMember (CuID, ???? DiscPerc, DiscAccrued,
CuLocID)
DiamondMember (CuID, ???? DiscPerc, DiscAccrued,
CuLocID)
CuLocID是一个外键,用于删除与邮政编码、城市、国家/地区相关的传递依赖项(存储在不同表中的位置详细信息 - tblCuLoc)