SQL与XML:数据交互的新视角
1. 元素表示法与属性表示法之争
在将数据库数据转换为XML格式时,存在元素表示法和属性表示法两种方法,且各自都有坚定的支持者。
元素表示法的支持者认为:
- 元素是XML模型中比属性更基础的部分,是所有标记语言(如HTML、XML、SGML等)的内容载体,数据库内容(列值)应在XML中以元素内容的形式呈现。
- 元素顺序很重要,在某些情况下,数据库管理系统(DBMS)中的数据顺序也很重要,例如在查询规范中按编号识别列,或使用API通过列号检索查询结果。
- 元素能提供一种统一的方式来表示列数据,无论列是简单的原子数据类型(如整数、字符串),还是SQL标准中对象关系扩展所支持的更复杂的复合用户定义数据类型,而属性不具备这种能力(属性值是原子的)。
属性表示法的支持者则提出:
- 属性与关系模型中的列基本匹配。单个行代表实体,应映射为元素;列值描述其所在实体(行)的属性,应在XML中表示为属性值。
- 元素内唯一属性名的限制与表内列名的唯一性要求相匹配,属性的无序性与基本关系模型中列的无序性相匹配(使用列位置的情况只是为了方便,并非基础关系的本质)。
- 属性表示更紧凑,因为列名在XML形式中只出现一次,而不是作为开始和结束标签,这在存储或传输XML时是一个实际优势。
如今的XML和SQL产品中,以元素为中心和以属性为中心的风格都有应用,具体选择取决于文档作者的偏好以及使用XML和SQL的组织的惯例,此外,行业机构为使用XML进行文档交换而制定的标准也可能会决定采用哪种风格。
2. 数据库中的XML支持
随着XML的迅速普及,
超级会员免费看
订阅专栏 解锁全文
855

被折叠的 条评论
为什么被折叠?



