关于数据库建表的问题
就是建表的时候把一张表拆分成2张,目的是便于维护,一张表的话要修改表结构,添加属性,拆分成2张表以后就不用了。参见这个问题http://zhidao.baidu.com/...
就是建表的时候把一张表拆分成2张,目的是便于维护,一张表的话要修改表结构,添加属性,拆分成2张表以后就不用了。
参见这个问题http://zhidao.baidu.com/question/98090848.html
它的最佳答案我看不太懂,能详细讲解一下吗 展开
参见这个问题http://zhidao.baidu.com/question/98090848.html
它的最佳答案我看不太懂,能详细讲解一下吗 展开
2个回答
展开全部
最佳答案的意思是,把横表转换为竖表。
在通常的数据库设计中,我们往往是一行存储一条记录。而竖表是指用“键”和“值”的关系,把数据和字段名存储起来,每一行数据只有字段名和相应的数据。所有数据好像是“竖”起来了。
这样确实是有利于维护,这样一条完整的数据记录,可以是N行,也可以是N+M行。
但是对进行数据查找是十分困难的,如果只是普通查询还行,如果是复杂的嵌套查询,速度和SQL的写法都会复杂很多。
另外,除了每行的键值外,应该再加一个id,用于区分不同条数的数据。
最后是 id 字段名 数值 这样的表结构。
最后,这种结构不太适合数据量较大的表,如果优化不好的话,检索会特别慢。个人建议如果有产生1000万行数据(不是表数据,是数据条数,一条数据可能有多个字段,每个字段占一条表数据)以上的可能时(以MySQL为基准),最好考虑其他方式。
在通常的数据库设计中,我们往往是一行存储一条记录。而竖表是指用“键”和“值”的关系,把数据和字段名存储起来,每一行数据只有字段名和相应的数据。所有数据好像是“竖”起来了。
这样确实是有利于维护,这样一条完整的数据记录,可以是N行,也可以是N+M行。
但是对进行数据查找是十分困难的,如果只是普通查询还行,如果是复杂的嵌套查询,速度和SQL的写法都会复杂很多。
另外,除了每行的键值外,应该再加一个id,用于区分不同条数的数据。
最后是 id 字段名 数值 这样的表结构。
最后,这种结构不太适合数据量较大的表,如果优化不好的话,检索会特别慢。个人建议如果有产生1000万行数据(不是表数据,是数据条数,一条数据可能有多个字段,每个字段占一条表数据)以上的可能时(以MySQL为基准),最好考虑其他方式。
追问
还是有点不太懂。。
比如原来的表是
id 招标编号 分包号
01 001 222
现在变成
代码 名称
1 招标编号
2 分包号
和
id 代码 数值
01 1 001
01 2 222
是这样吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询