为了让这个问题对未来的读者有用,我将使用通用数据模型来说明我面临的问题。
我们的数据模型由 3 个实体组成,它们应标记为A
、B
和C
。为了简单起见,它们的所有属性都将是int
类型。
实体A
具有以下属性:D
,E
和X
;
实体B
具有以下属性:D
,E
和Y
;
实体C
具有以下属性:D
和Z
;
由于所有实体共享公共属性D
,我决定应用类型/子类型设计。
重要提示:实体是互斥的!这意味着实体是 A 或 B 或 C。
实体A
和B
还有另一个共同的属性E
,但是这个属性并不存在于实体中C
。
如果可能的话,我想使用上述特性来进一步优化我的设计。
老实说,我不知道如何做到这一点,也不知道从哪里开始尝试,因此这篇文章。
我有一个我正在尝试设计的数据库。我试图确定声明相似但不同类型的对象的最佳方法,每个对象都有自己的属性集(也许对象之间的某些属性相同)。
比方说,例如,我正在构建一个商城网络应用程序。我想为店主建立一个设施来注册他们的商店、商店类型和该商店的一些特定信息。我面临的问题是对不同商店类型进行建模的最佳方法以及如何根据商店类型合并数据存储模型。
为了使用一些具体数据进一步扩展示例(让我们假设这些信息对于存储都是必需的),模拟这样的事情的最佳方法是什么:
泰国美食 店铺类型: FoodShop 最受欢迎的项目:Pad Thai 上周访客:368
防静电腕带修复 店铺类型:维修店 当前的电脑维修:26 维修时间估计(以营业时间计算):4 上周访客:182
电脑 店铺类型:零售店 下次促销日期:2015 年 1 月 2 日 当周销售预估:122418 上周访客:411
假设存在这些商店类型的许多其他实例,每种类型存储相同的数据。为每种商店类型设置一个表格,使用单个表格来表示所有商店类型(使用通用数据)更有意义,还是有更好的方法?