[讨论]xml字段还是表关联

JavCof 2009-04-11 12:54:01

数据库是SQL2005

表:Student.Info

表结构:
stu_id ,stu_num, stu_name ...

现在有一个问题?学生会有一个实习申请表,现在是把这个申请表(申请表会有1-100个项目不等)作为一个xml字段:stu_tab存在Student.Info中,还是传统的在定义一个Student.Table 表通过stu_id来关联好呢?

还有就是如果申请表的结构有一定调整,数据库系统怎么适应变化。

请大家给点思路,讨论下这个问题。
...全文
189 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
JavCof 2009-04-13
  • 打赏
  • 举报
回复
- - 今天把帖子结了,算是圆满了。Thanks All !!!
fcuandy 2009-04-12
  • 打赏
  • 举报
回复
简单来说,只有一种情况用xml:

当数据有一定的组织,存放在数据表中时,他只是数据内容,而不与其它数据进行关联, 而这些内容展现到前端时 又要拆开。

只在这种情况下用xml.

其它一概不用。

当然,特殊情况特殊处理, 普通情况下,还是加表,多行存储。


比如说,一个产品展示的系统, 产品记录,当然是按行存在表里了。 产品的属性但并不确定, 比如电脑有 cpu,主板,内存,显示器等, 衣服有颜色、尺寸等。
如果系统比较简单,一个表来放产品,那么属性就可以放在xml里。 因为属性不需要再与其它数据关联。
那么,在展示时,直接从数据库读出来就可以了,然后在前端去拆分xml,这时处理的就只是一个变量了。

尽量不要在数据库端进行什么xquery类的语句,除非必要。


JavCof 2009-04-12
  • 打赏
  • 举报
回复
现在的解决方案:

学生信息表:Student.Info

stu_id ,stu_num, stu_name ...

--------------------------------------------

学生申请表:Student.Table

stu_id,tab_xml,tab_state,tab_modify_time...

根据fcuandy 的回答对XML又有了点理解了,业务会有这样的情况,现在需要查询当前学生申请表Student.Table的状态情况(已通过,未通过,已屏蔽),这个状态会反映在表格中tab_xml中,也会反映在tab_state字段进行标识,增加这样的冗余字段方便查询。但是在进行表格状态操作的时候就会同时更新tab_xml字段和tab_state2个字段。

感谢楼上各位的回答哈,讨论了的都有分哈。
JavCof 2009-04-11
  • 打赏
  • 举报
回复
首先感谢楼上各位的回答...

如果实习申请表格是永远不变的,其实我也不会考虑太多直接选择创建Student.Table这样的表,可能就是字段多一点。

现在有这样的需求,如果实习申请表格的选项有部分改变可能就是1%左右部分做部分调整,可能频率就是每一学年实现表格会有一些变化,增加或者修改部分选项,这样我必须修改数据表格的增加或者修改Student.Table的相应字段。

当时考虑用XML的出发点,就是觉得XML修改起来可能更容易。

出发点:业务需求会创建一个 实习申请.xml 作为模板,如果申请表格有部分调整,直接调整 实习申请.xml 就可以了,数据层的耦合就减轻了,可能就是业务逻辑的代码会有相应的修改。


Yang_ 2009-04-11
  • 打赏
  • 举报
回复
这不用想,除非没办法,不要用xml字段
ai_li7758521 2009-04-11
  • 打赏
  • 举报
回复
实习申请内容访问频率不高的话,用XML是比较好的。它的操作也是比较简单的。
sdhdy 2009-04-11
  • 打赏
  • 举报
回复
[Quote=引用楼主 JavCof 的帖子:]

数据库是SQL2005

表:Student.Info

表结构:
stu_id ,stu_num, stu_name ...

现在有一个问题?学生会有一个实习申请表,现在是把这个申请表(申请表会有1-100个项目不等)作为一个xml字段:stu_tab存在Student.Info中,还是传统的在定义一个Student.Table 表通过stu_id来关联好呢?

还有就是如果申请表的结构有一定调整,数据库系统怎么适应变化。

请大家给点思路,讨论下这个问题。
[/Quote]
如果这个表有100个项目,建议用xml吧。
yuyangyangde 2009-04-11
  • 打赏
  • 举报
回复
都可以做,关联吧,就两张表!
htl258_Tony 2009-04-11
  • 打赏
  • 举报
回复
常看到小梁用xml
cyz9977 2009-04-11
  • 打赏
  • 举报
回复
關聯~~
htl258_Tony 2009-04-11
  • 打赏
  • 举报
回复
Liang
ks_reny 2009-04-11
  • 打赏
  • 举报
回复
还没有用过XML,等待小梁传授。
dacsd 2009-04-11
  • 打赏
  • 举报
回复
用XML是比较好的

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧