我有以下数据库设计问题:
我有一条包含以下信息的记录:
主键由3列组成
一般信息详情(由7列组成)
记录参数(每个参数有2列,但可以有0到1500个参数)
此记录的当前数据库设计现在是:
表A:
主键
一般信息详情
表B:
主键(表A中的主记录)
序列号(主键和序列号构成表B的主键)
记录参数 32列(此32或多或少是一个随机数)
我想知道的是,这个设计是否真的有意义。实际上,当我们为主记录提供多个(可变数量)参数记录时,这个问题对所有情况都有意义 一方面,我们可以在表B中每行一个参数(这将涉及每个存储参数更多的平均存储空间 - 主键必须存储n次),另一方面我们可以存储每行x个参数(更少)每个存储参数的平均存储空间,但可能有一个随机数,小于空存储的x。)
希望我对我的问题很清楚。知道什么是最好的解决方案吗?
答案 0 :(得分:1)
查询此数据时,是否需要按任何记录参数对其进行过滤?换句话说,任何记录参数都会出现在WHERE子句中吗?
如果没有,那么您可以将它们存储在单个Blob列中,例如因为XML或任何序列化最适合您。