[英]Database Design - Entity–attribute–value Model Query
我终于偶然发现了一个我无法找到答案的问题...
我正在使用一个数据库,该数据库将存储随时间推移记录的记录的采样数据。 最初,客户建立了一个非常特定于他们当前正在记录的数据的表,但是,他们担心,随着它们的扩展,收集的数据可能会开始变化,并且可能会出现更多或至少不同的列需要。
当前模型:
+------------------+ +------------------+
| FACILITIES | | DATA_RECORD |
+------------------+ +------------------+
| ID | | ID |
| NAME | | FACILITY_ID |
| DESC | | TIMESTAMP |
| etc. | | TEMP_WATER |
+------------------+ | TEMP_AIR |
| pH_WATER |
| etc... |
+------------------+
我认为数据库应设计如下:
+------------------+ +------------------+ +------------------+
| FACILITIES | | DATA_RECORD | | COLUMNS |
+------------------+ +------------------+ +------------------+
| ID | | ID | | ID |
| NAME | | FACILITY_ID | | NAME |
| DESC | | details etc.. | | DESC |
| etc. | +------------------+ | UNITS, etc... |
+------------------+ +------------------+
+------------------+
| DATA_POINT |
+------------------+
| ID |
| DATA_RECORD_ID |
| COLUMN_ID |
| VALUE |
+------------------+
我的问题是:
非常感谢你的帮助。
真诚的
内特·K
考虑到您的需求,我认为您将更倾向于实体-属性-值类型的设计,这种类型通常很难查询(尽管设置起来非常简单)并且扩展性很差。
您可以在此网站或Google上搜索EAV模型,以查看有关此问题的讨论。
http://www.simple-talk.com/content/print.aspx?article=843
http://tkyte.blogspot.com/2009/01/this-should-be-fun-to-watch.html
对于您的情况,是否可以发布需要收集的不同类型的设施和数据点? 也许您可以使用类型和子类型对此进行建模?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.