【发布时间】:2011-05-22 06:03:22
【问题描述】:
我正在创建一个包含不同类型结构的数据库。每种类型都有一组独特的属性,例如与结构类型特别相关的材料、形状、属性。
例如,结构是一座桥,桥面可以有跨度长度和材料类型。
结构的另一个实例是具有高度、材料类型和厚度的墙。
我不想生成包含所有可能属性的平面表,因为可能存在多种类型的结构,并且属性很灵活,并且要存储的属性也很多。
基本上,我们希望通过将唯一属性数据存储在每种结构类型的单独表中来防止记录变得太大,但我想不出一种方法可以轻松地将通用结构表链接到属性表。
===================== 编辑,
现在搜索“泛化专业化关系建模”,似乎我想将数据建模为具有父类“结构”的面向对象的结构,该结构具有继承公共信息的子类,如桥结构、墙结构。现在唯一的问题是我正在尝试帮助工程师制作一个简单的独立 Access 2010 数据库,但似乎我正确地生成了访问中的关系,其中父类的主键是子类的主键和外键类。这似乎会导致 Access 2010 内部出现问题,它希望父实例包含每个子类中的一个,这是无意义的。
基本上我有,
StructureID 作为结构表、桥表和墙表的主键,桥表和墙表的主键是结构 ID 链接回结构表。我对 Access 2010 不太熟悉,也不知道为什么它不起作用。
来自 IBM 的一篇论文,
基本上想在 Access 2010 中实现。
【问题讨论】:
-
您可能想要添加鉴别器列
PersonType和ProfessorType。查看示例stackoverflow.com/questions/3350489/…
标签: database-design