客户、员工和供应商的数据库

siotufzp  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(320)

关闭。这个问题是基于意见的。它目前不接受答案。
**想改进这个问题吗?**更新这个问题,这样就可以通过编辑这篇文章用事实和引文来回答。

两年前关门了。
改进这个问题
我正在开发一个mysql数据库,我有客户、员工和供应商。
我为他们创建了3个表格。
但例如,员工也可以是客户。
然后为所有人(客户、员工和供应商)创建一个公共表,并为每个人创建一个具有多个角色的表。
有别的办法吗?还是可以?
你觉得聚会的形式怎么样?

a2mppw5e

a2mppw5e1#

这在很大程度上是一个基于观点的问题,老实说,在设计这样一个数据库的过程中,您可能会划掉关系并更改关系和表很多次,因为您会找到最佳匹配。
但你想得到的两个指导原则是
1) 减少了数据重复—例如,如果我既是供应商又是客户,并且我更改了电话号码,那么我只需更改一次
2) 引用完整性—例如,如果我将所有相关人员都放在一个表中,并且我在订单和人员之间有一个外键,我需要确保只有那些作为供应商的人员在订单的供应商引用中有效。
我的方法是为供应商、客户、客户等创建多个表,每个表都有与该角色相关的所有具体细节。像supplierterms、creditlimit等,但没有一个会有个人数据名、mobilenumber、dob等;所有这些都将在一个person表中,其他表将引用该表。
在personrole表中,您还可以为每个人设置一组可能的角色,尽管这可能不是必需的—只需根据您的需求来完成这项工作即可。但请记住我在顶部提到的两个指导原则。

相关问题