【发布时间】:2017-09-20 20:52:12
【问题描述】:
我正在尝试决定如何在我的数据库中存储一些数据。 (SQLite) 假设我们有 2 个表:属性和类型
表格类型或多或少像一个枚举,它存储了我的模型中存在的所有类型(例如整数、实数、字母数字)
Table Attribute 包含属性,一条记录长这样:
Attribute :
id : its id
name : name of the attribute
value : ??? (the main question here)
type : foreign key to table type
所以属性可以是整数、实数或字母数字类型。我不确定如何根据类型继续存储属性的值。
到目前为止,我已经考虑了 3 个解决方案:
解决方案1:属性的“值”字段是字符串类型,我以编程方式转换为相关类型
解决方案 2:我创建更多“值”字段,例如:intValue、realValue 和 alphanValue,并根据类型将 NULL 放在不相关的字段中
解决方案 3:我再创建 3 个表,IntValue、RealValue 和 AlphaNValue,并带有相关属性的外键。
我想知道哪种解决方案在性能和一致性方面更好,或者是否还有其他我没有想到的相关解决方案。
非常感谢
【问题讨论】:
标签: sql database sqlite sqldatatypes