这星期的工作真的搞得我欲仙欲死,数据库方案不断被否定,看了一堆数据库设计思想,最后在同事帮助下了解了列变行思想,接下来变写下来作为分享,希望有大神批评指正。
好,那么具体我是什么时候需要考虑到用这个呢?
下面是我自己想出来的一个例子:
在数据库记录用户信息(user_info)表时,有些是固定信息,所以可以直接建立固定的表来存储数据,那么当需要存储的数据不再固定,如果把所有的参数都建立在表的列中的话,会造成大量的null,那么这个时候就可以考虑使用列变行思想。
这里的参数可能会更多,而你有可能只能存储到某一个或个几个参数
这个时候这样表就会造成大量的浪费
这时就可以考虑使用列变行这样设计思想了
我们可以这样建表:
这样你不管有多少参数就都可以存放进去,当然这比较简易,还需要一张user表,使用一个user_id来确定时哪一个用户。
这样我们就可以通过牺牲空间来换取时间了。。