首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关系模型与EAV

关系模型与EAV
EN

Stack Overflow用户
提问于 2016-03-14 22:34:01
回答 1查看 2.2K关注 0票数 0

数据库初学者在这里。

我研究专栏商店模式已经有一段时间了,我来到了本论文。针对临床数据稀疏、海量的特点,提出了一种特殊的列存储模型,用于快速检索。

我大致理解本文所提出的内容,但对关系模型和EAV模型的一些思考使我感到困惑。本文假设关系模型甚至不能用于临床数据,并比较了EAV模型和列存储模型的性能。

EAV可以表示高维数据,由于现有的关系数据库管理系统只支持有限的列,因此不能用关系模型进行建模。

我从这个问题及其第一个答案中了解到,临床数据是高维的(如预期的),但是

为什么不使用经典的规范化,而使用EAV呢?

关系模型是:

代码语言:javascript
复制
Person: Id, Name, Surname, DateOfBirth, ...
Measurement: Id, Name, Desc, ...
PersonMeasurement: Id, PersonId, MeasurementId, Result, Date
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-15 06:13:54

...because现有的关系数据库管理系统只支持有限数量的列。

这取决于“限制”一词的含义:典型的现代关系数据库有超过1000列的列。下面是一个表,其中包含一些最常见的RDBMS的最大列数:

代码语言:javascript
复制
PostgresQL: 250 - 1600 depending on column types
MySQL: upto 4096, depending on row size
Oracle: 1000
IBM DB2: 1012
Mycrosoft SQL Server: 1024 - 30000
Sybase: 45000

在您的第二个链接中有以下声明:

患者健康状况的数据可以是高维的(100+从血液分析、免疫系统状况、遗传背景、营养、烟酒药物治疗、手术、治疗、诊断疾病等方面测量/记录的参数)。

编辑过的

因此,如果列的数量是几百列,我认为单表方法就足以表示临床数据,而且正如您从StackOverflow上的许多问题中看到的,比EAV模型更有效和更简单地进行查询。

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

https://stackoverflow.com/questions/35999394

复制
相关文章

相似问题

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