【发布时间】:2017-10-08 21:12:50
【问题描述】:
我正在为我的应用程序设计数据库。我正在使用 PostgreSQL。它必须是通用应用程序,现实世界的结构如下所示:
类别(例如植被)---> 现象(例如树)---> 参数(例如类型 - 针叶树 vs. 针叶树)落叶,高度以米为单位 - 10 等等)
数据库可以存储大量的类别、现象、参数及其值。一类可以有N个现象,一种现象可以有N个参数。
所以我创建了这些表:
Category
--------
id
name
Phenomenon
----------
id
name
category FK (to Category)
Parameter
---------
phenomenon FK (to Phenomenon)
name
value <-- here is a problem
In value 列可以是字典中的值、varchar 值、数值或布尔值。如何设计参数表?我是否应该为不同类型的值创建更多列(varchar - 可以是没有完整性检查的字典值、数字、布尔值)。或者有没有考虑到这个问题的设计?我不想使用 JSON 或 XML。
非常感谢您的帮助。
【问题讨论】:
标签: sql database postgresql database-design