通过不连续的eer模式链接主键和外键

问题描述 投票:-1回答:2

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS83YlQyUi5wbmcifQ==” alt =“在此处输入图像描述”>

你好,将巨大的EER图转换为mysql时遇到很大的困难我相信User实体已正确设置,只是想知道如何将User链接到买方/卖方?我要在用户上添加买家/卖家ID,然后将其链接为FK吗?

这里是mysql以下。任何帮助将不胜感激,谢谢

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9QZWw2My5wbmcifQ==” alt =“在此处输入图像描述”>

mysql database-design schema erd
2个回答
1
投票

您的模型显示,BuyerSeller子类是User实体(卖方不能是买方,买方不能是卖方)的不相交专业,由带有'D'的圆圈表示。根据您的情况,您可以对此设计提出质疑(某人过去购买时可以出售吗?)。

这些实体中的每个实体都具有彼此不通用的不同属性,但User共享的属性除外。

[对此建模的方式不同,但是例如,您可能需要具有Buyer表和Seller表。这两个表都将包含User表的外键。

标准化程度较低的替代方法是拥有一个包含两个子类的属性的User表,但是如果某些属性不适用,则某些属性将为NULL。然后可以通过Role属性来区分它们。

建议阅读:Database Normalization


0
投票

感谢您的全力帮助,最后我制作了具有相同属性的买方和卖方表,然后通过外键将它们链接回USER ID,否则我将无法访问这些属性。

© www.soinside.com 2019 - 2024. All rights reserved.