我对在SQL Server数据库上使用EAV模型很感兴趣。有没有人能为我指出一个现有模型/模式的文章或框架(我对Saas不感兴趣)?
发布于 2009-08-26 17:58:28
Best Practices for Semantic Data Modeling for Perfor...
众所周知,EAV存在问题,因为它会导致严重的部署性能和可伸缩性问题。该链接中的白皮书由SQL Server客户咨询团队发布,试图为部署成功的EAV模型提供一些指导。
发布于 2010-11-19 21:41:36
我没有用过它,但是在这个codeplex项目中有一个包含数据的示例EAV结构:
http://eav.codeplex.com/
SQL Server的示例EAV模式包括:表和索引、部分引用完整性、部分数据类型化、可更新视图(与普通SQL表一样)
提供了一些可以下载的SQL脚本,here。
另外,这篇博客文章:“dave‘s guide to the eav”
http://weblogs.sqlteam.com/davidm/articles/12117.aspx
..。通过SQL Server中的EAV示例,演示了如何实现类型检查和查询,并对其理论以及EAV会导致问题的原因进行了大量讨论。
发布于 2009-08-26 17:59:35
为什么不创建一个包含实体列、属性列和值列的非常简单的表:
CREATE TABLE eav(
entity STRING,
attribute STRING,
value STRING);然后使用某种脚本填充表,以生成一些测试数据。
INSERT INTO eav ('banana','color','yellow');
INSERT INTO eav ('banana','fluffy','no');
INSERT INTO eav ('banana','origin','Guatemala');
INSERT INTO eav ('orange','origin','USA');
INSERT INTO eav ('orange','origin','Mexico');
INSERT INTO eav ('pear','origin','USA');
INSERT INTO eav ('peach','fluffy','yes');然后尝试在它上面运行查询,玩玩,了解它是如何工作的,等等。
不过,总的来说,上述数据组织方案并不能很好地与关系数据库理论相适应。以上内容更符合文档数据库理论,如Couch DB。如果你需要在野外存储/管理EAV数据,我会更深入地研究一下。
https://stackoverflow.com/questions/1336449
复制相似问题