想象一下,您正在开发一个Web应用程序,其中不同的“实体”(具有不同的属性)发送消息并与来自其他实体的公共消息进行交互。这些实体可能有几种类型:只是用户,私人公司,学院......数据库设计。继承
设计数据库我可以想到两个选项,我认为会工作,但我不知道哪一个更好,或者如果有是没有出现在我身上的其他更好的选择。
选项1:在不同的表中分隔不同的实体。在这种情况下,存储消息的表应至少有两列来标识发布它的实体,id和type。
选项2:使所有实体从父类继承。因此,存储消息的表只需要一个指向发布它的实体的ID的外键。这个选项看起来好多了,但问题是我找不到所有实体的通用属性,所以父表只会有一个id。
您认为哪个选项更好?有没有更好的选择?
PS:对于选项2,是否有必要让子表具有自己的id或将外键定义为主键就足够了?
谢谢。
感谢您的回答。选项2对我来说似乎也更好 – DandyCC