查看: 6448|回复: 0
打印 上一主题 下一主题

XML和数据库(二)

[复制链接]
跳转到指定楼层
1#
发表于 2007-10-5 20:56:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
 值的列,新建一个子元素。
      
  例如,下面的过程(经简化)说明了如何从一个DTD生成一个关系型结构:
       
  对于每种包含元素或者混合内容的元素类型,新建一个表格和一个主键字段。 
  
  对于每个包含混合内容的元素类型,创建一个单独的表格,其中存放未析数据,通过父元素主键链接到父表格。 
  
  对于此元素类型的每个单值属性和只包含未析数据内容、只出现一次的子元素,在该表格中创建一个字段。如果元素类型或者属性是可选的,可以让设置该字段为空值。 
  
  对于每个多值属性和多次出现的子元素,创建一个单独的表格来存储数值,并且通过父元素主键链接到父表格。 
      
  对每个有元素或者混合内容的子元素,通过父元素主键将父元素表格和子元素表格相连接。 
     
  下面的过程(经简化)说明了如何从一个关系型的结构生成一个DTD:
      
  对于每个表格,新建一个元素; 
      
  对于表格中的每个字段,新建一个属性或者是只包含未析数据的子元素; 
       
  对于每个表格字段中提供主键的主键/外键的关系都新建一个子元素。 
   
  不幸的是,这些过程还存在着一些缺陷。例如,DTD中没有方法预先准确地规定数据类型或者字段长度。
  

  因为任何的预先定义(例如通过读取一个示例文档)在读取其它“类型”的文档或者其他文档中包含有超过字长内容的文档时就会产生错误。(长久之策是使用XML schema文档的数据类型。)简单来说,当从一关系型结构生成DTD时,是没有办法预先判断子元素“应该”出现的顺序或者字段(如数据库内部的行标识)是否该进行完全转换。
  
  在以上两种情况中都可能产生命名的冲突。
       
  尽管有这样那样的缺陷,但是这些方法仍然能够很好地奠定在关系型结构和DTD之间互相转换的起点。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表