database - 使用具体类或液体类作为属性

标签 database oop database-design data-structures

我的意思是,通过像 Attribute.java 这样的液体类

String name;
Object Value;
Long entityId;

并实现 User.java 如下:

Set<Attribute> attributes;
Long id;

或者 User.java 的具体类实现

String realName;
String displayedName;
Int score;    
Long id;

数据库概念和OOP概念哪个有效?

最佳答案

这取决于您要解决的问题领域。

如果您打算使用液体方法( Entity–attribute–value_model )来解决像 logging other entities changes 这样的问题,这将是一个很好的方法。
如果 EVA 方法要应用于 JOIN 是查询不可避免的一部分的关系数据模型,那么使用 EVA 将是一种反模式。

关于database - 使用具体类或液体类作为属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20093684/

相关文章:

mysql - 一个图像表可以服务两个外部表?

PHP 和 mySQLi : Do I still need to check user input when using prepare statements?

c# - 如果共享同一父节点的另一个节点等于某个值,如何获取 XML 节点的值?

MySQL 查询,从多个数据库之一选择字段

php - 什么是更好的 stdClass 或(对象)数组来存储相关数据?

oop - 类型与接口(interface) : why typing then?

php - 奇怪的数据库设计,需要指导

c# - 在 ListView 中显示数据库中的多列

python - 为什么猴子修补方法不传递对实例的引用?

sql - 具有属性的实体的数据建模