首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EAV结构用Layman术语解释

EAV结构用Layman术语解释
EN

Database Administration用户
提问于 2012-08-30 22:53:23
回答 1查看 2.9K关注 0票数 6

我在网上读过几篇文章,解释了EAV结构是如何工作的,但对它们有不同的解释。一些文章提到,它是数据模型元数据(或模式)的表示。其他文章将EAV结构描述为本体。我将本体描述为一个概念模型(显示世界上“事物”之间的关系),或者是数据库中实际数据的类实例。

有人能用Layman的术语解释这个模型中的每个表代表什么,以及如何使用这个EAV数据模型吗?

我不认为这是数据模型的表示,因为对象没有直接链接到属性。你需要一个实际的值来把这两者联系起来。因此,如果A是数据模型中表O的字段/列,则无需强制使用属性 A和对象 O。现在我确实看到了国际扶轮的桌子。我以为这意味着“参照完整性”。但如果我们谈论的是本体论,那么我们可以称之为关系身份。在谈论本体时,我仅仅是指关系或谓词,三义主谓/谓词/对象。请注意,联接没有与属性连接,这将更多地表示与表列的关系数据模型FK/PK关系,因此我希望它连接到属性,而不是对象。它与对象相连。

如果你能的话,请把这件事弄清楚。也许我想的太多了。如果您有一个不同的EAV模型是有用的,请告诉我。

参考资料:http://eav.codeplex.com

EN

回答 1

Database Administration用户

回答已采纳

发布于 2012-08-31 12:21:03

以下是我认为这一模式的意图:

  • 类别是一种东西。在数据模型中,它将是一个实体类型,而在一个数据库中,它将是一个表。
  • 属性是事物的一个方面。在数据模型中,它将是一个谓词类型,而在一个数据库中,它将是一个列。
  • 对象是事物的实例。在数据模型中,它将是一个实体,而在数据库中,它将是一行(在特定的表中)。
  • 值是数据库表中谓词或列值的实例。
  • 域查找是一种允许约束属性值的机制。此实现的工作方式是将值限制为一组合法值中的一个。在数据库中,这可以比作检查约束或查找表。显然,还有其他类型的约束可以施加(但不在此元数据模型中),例如范围约束。
  • RIConfig是两种事物之间的关系约束。这是数据模型中的关系类型或数据库中的外键约束。在这个层次上,它描述的是关系规则,而不是关系的实例。
  • RI是特定实体之间关系的一个实例。在物理数据库中,这将是外键索引中的记录(可能吗?)

您非常正确地注意到,关系的建模是有缺陷的,因为它没有考虑到这些关系的实现。RIConfig应该加入属性,而不是属于类别--或者更确切地说,在RIConfig和属性之间应该有一个交集表,以允许复合主键/外键关系。

正如我前面提到的,域约束也没有以现实的灵活性来处理。

鉴于该模型的局限性,它不足以作为许多现实世界数据库的元数据存储库。

票数 6
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/23472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档