关于数据库建表的问题

就是建表的时候把一张表拆分成2张,目的是便于维护,一张表的话要修改表结构,添加属性,拆分成2张表以后就不用了。参见这个问题http://zhidao.baidu.com/... 就是建表的时候把一张表拆分成2张,目的是便于维护,一张表的话要修改表结构,添加属性,拆分成2张表以后就不用了。
参见这个问题http://zhidao.baidu.com/question/98090848.html
它的最佳答案我看不太懂,能详细讲解一下吗
展开
 我来答
Yaekaori
2012-08-12 · TA获得超过572个赞
知道小有建树答主
回答量:290
采纳率:0%
帮助的人:356万
展开全部
最佳答案的意思是,把横表转换为竖表。
在通常的数据库设计中,我们往往是一行存储一条记录。而竖表是指用“键”和“值”的关系,把数据和字段名存储起来,每一行数据只有字段名和相应的数据。所有数据好像是“竖”起来了。
这样确实是有利于维护,这样一条完整的数据记录,可以是N行,也可以是N+M行。
但是对进行数据查找是十分困难的,如果只是普通查询还行,如果是复杂的嵌套查询,速度和SQL的写法都会复杂很多。
另外,除了每行的键值外,应该再加一个id,用于区分不同条数的数据。
最后是 id 字段名 数值 这样的表结构。
最后,这种结构不太适合数据量较大的表,如果优化不好的话,检索会特别慢。个人建议如果有产生1000万行数据(不是表数据,是数据条数,一条数据可能有多个字段,每个字段占一条表数据)以上的可能时(以MySQL为基准),最好考虑其他方式。
追问
还是有点不太懂。。

比如原来的表是
id 招标编号 分包号
01 001 222

现在变成
代码 名称
1 招标编号
2 分包号


id 代码 数值
01 1 001
01 2 222

是这样吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
szm341
2012-08-12 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5155万
展开全部
他的意思是做一张你要的正常的表,然后再做一张存储该表字段(列名)的表
在程序中如果要操作正常的表,就先读取字段记录表,然后列出其列名
之后如果你修改正常表的字段,那么在字段记录表中也相应的修改,
这样就不用修改程序了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式