Ota*_*xar 4 erd database-design database-diagrams subtypes
有人可以帮助我了解如何模拟以下情况:
有一个名为的超类(或超类型)PRODUCTS,它具有名为和的子类(或子类型)。FOODSHOES
存在另一个命名为 的超类CUSTOMERS,子类命名为SHOE STORE和GROCERY STORE。
我需要代表一些规则来表明:
FOOD只能送到GROCERY STORES.SHOES可以专门分发给SHOE STORES.我试过下面显示的两个图表:

顶图
我真的不喜欢 (a) 相同实体类型的重复,即ORDERS,和 (b) 围绕它的关系。
底图
我很确定这不是正确的符号。我是否应该在超类级别创建关系并注意限制将在编程级别实现?
我认为您可以创建一个Orders实体,它是Products和之间的关系Customers。该Orders会还具有亚FoodOrders和ShoeOrders,分别是类的子类之间的关系Food - GroceryStores和Shoes - ShoeStores。
?????????????
? Employees ?
?????????????
?
?
???????????? ?????????? ? ?????????????
? Products ???? contain ???? Orders ???? deliver ???? Customers ?
???????????? ?????????? ?????????????
? ? ?
? ? ?
isA isA isA
? ? ? ? ? ?
?????? ?????? ??????? ??????? ?????? ??????
? ? ? ? ? ?
???????? ????????? ? ? ????????????????? ?
? Food ? ? Shoes ? ? ? ? GroceryStores ? ?
???????? ????????? ? ? ????????????????? ?
? ? ?????????????? ? ? ??????????????
????????????????????? FoodOrders ????????????????????? ? ShoeStores ?
? ?????????????? ? ??????????????
? ?????????????? ?
??????????????????????? ShoeOrders ???????????????????
??????????????
Run Code Online (Sandbox Code Playgroud)