【发布时间】:2015-07-29 13:53:52
【问题描述】:
我正在尝试为 Oracle 数据库提出一个架构。问题如下:
数据库应该代表一个属性(比如一个 url),该属性与各种值的各种属性相关联。
例如:
数据库应该有映射:
If attribute-X has value-X ==> Url-X
If attribute-Y has value-Y ==> Url-Y
If attribute-X has value-X && attribute-Y has value-Y ==> Url-XY
还没有定义属性的数量,因此这些不能对应于数据库中的属性。
我想到的解决方法是将其存储为多名称值对并使用它在数据库中查找。
例如:
**attribute** **Key** **Value**
attribute-X value-X Url-X
attribute-Y value-Y Url-Y
attribute-X&attribute-Y value-X&value-Y Url-XY
我是数据库新手,我知道这不是数据模型的简洁表示。有没有更好的方法来表示这一点?
【问题讨论】:
-
不要不使用 EAV,这在 here 中有解释。如果您确实需要具有属性的结构,请查看面向文档的 DBMS(这是非关系 DBMS 的特殊情况)。
标签: database oracle data-modeling