荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Sage (魅力四射), 信区: Database
标  题: [转载] 中文翻译(三)(转寄)
发信站: BBS 荔园晨风站 (Tue Sep 12 11:47:52 2000), 转信

【 以下文字转载自 Sage 的信箱 】
【 原文由 Sage 所发表 】
翻译:Batman
XML介绍之三十一:XML和数据库设计原则、展望、工具(三)
by Ronald Bourret
3.0 数据和文档的对比
    也许在大多数情况下,判断是否采用数据库的最重要的因素是你使用数据库是用来
保存数据呢
还是保存文件。如果你想保存数据, 你需要的数据库则主要是面向数据存储的,例如一
个关系数
据库或则一个面向对象的数据库,或则也可以是一个在数据库和XML文档之间传递数据的
中间件。
从另一个角度来说,如果你想存储文件,你需要一个专门设计用来存储文件的内容管理
系统。
    虽然可以把文件保存在关系数据库或则面向对象的数据库中,但你会发现你的工作
经常是在
重复实现一个内容管理系统中的功能而已。简单说,虽然一个内容管理系统通常是建立
在一个
面向对象数据库或则关系数据库的顶层,但是如果只是把一个内容管理系统当做数据库
来使用
被证明是失败的。
    你是否需要存储数据或则文件经常取决与你的XML文件。原因是XML文件分为两类:
数据为主
和文档为主。
3.1 数据为主的文件
    数据为主的文件表现出来的特点是结构相当规范,数据格式良好(就是说,数据中
最小的
独立单元是PCDATA-only元素级别或则是一个属性),和一些或则没有混合内容。其中同
类型元素
和PCDATA的出现顺序并不重要。例如XML文件内容是销售单、飞行计划、餐馆菜单等等。

数据为主的文件经常被用来设计机器消费,这时XML的调用是多余的---它仅仅是一种数
据传输。
    例如,下面的销售单就是一个数据为主的文档:
   <Orders>
      <SalesOrder SONumber="12345">
         <Customer CustNumber="543">
            <CustName>ABC Industries</CustName>
            <Street>123 Main St.</Street>
            <City>Chicago</City>
            <State>IL</State>
            <PostCode>60609</PostCode>
         </Customer>
         <OrderDate>981215</OrderDate>
         <Line LineNumber="1">
            <Part PartNumber="123">
               <Description>
                  <p><b>Turkey wrench:</b><br />
                  Stainless steel, one-piece construction,
                  lifetime guarantee.</p>
               </Description>
               <Price>9.95</Price>
            </Part>
            <Quantity>10</Quantity>
         </Line>
         <Line LineNumber="2">
            <Part PartNumber="456">
               <Description>
                  <p><b>Stuffing separator:<b><br />
                  Aluminum, one-year guarantee.</p>
               </Description>
               <Price>13.27</Price>
            </Part>
            <Quantity>5</Quantity>
         </Line>
      </SalesOrder>
   </Orders>
    注意在XML世界中,许多(其实应该是大量)的文件实际上都是数据为主的。例如,
考虑
在Amazon.com网站上显示一本书的各种信息的页面,虽然这个页面是一个相当巨大的文
本,但是
这个文本的结构是高度规范的,所有页面都包含有介绍书的共同点,并且每一页中文本
的大小是
受限制的。也就是说,它可以从一个简单的、数据为主的XML文档 + 包含有每一页信息
的数据库
+ XSL样板文件 就能够实现这个网站的结构了。通常,目前任何一个动态建立HTML的网

都可以被上面介绍的这种结构来实现的。
   下面是一个很简单的例子:
   <Lease>
      <Lessee>ABC Industries</Lessee> agrees to lease the property at
      <Address>123 Main St., Chicago, IL</Address> from <Lessor>XYZ
      Properties</Lessor> for a term of not less than <LeaseTerm
      TimeUnit="Months">18</LeaseTerm> at a cost of <Price
      Currency="USD" TimeUnit="Months">1000</Price>.
   </Lease>
它是使用下面的这个XML文档和一个简单的样板文件实现的:
   <Lease>
      <Lessee>ABC Industries</Lessee>
      <Address>123 Main St., Chicago, IL</Address>
      <Lessor>XYZ Properties</Lessor>
      <LeaseTerm TimeUnit="Months">18</LeaseTerm>
      <Price Currency="USD" TimeUnit="Months">1000</Price>
   </Lease>
3.2 以文档为主的文件
    以文档为主的文件表现出来的特点是:不规范的结构,大量的原始数据(就是说,
最小的独立
数据单元是包含有混合内容的元素级或则本身就是一个文档),和大量混合内容。其中
同类型元素
和PCDATA出现顺序是非常重要的。例如一本书,一封电子邮件,广告,以及几乎所有的
XHTML文档。
以文档为主的文件通常是用来设计人文消费:
    例如,下面的产品描述就是一个以文档为主的文件:
   <Product>
   <Name>Turkey Wrench</Name>
   <Developer>Full Fabrication Labs, Inc.</Developer>
   <Summary>Like a monkey wrench, but not as big.</Summary>
   <Description>
   <Para>The turkey wrench, which comes in both right- and
   left-handed versions (skyhook optional), is made of the finest
   stainless steel. The Readi-grip rubberized handle quickly adapts
   to your hands, even in the greasiest situations. Adjustment is
   possible through a variety of custom dials.</Para>
   <Para>You can:</Para>
   <List>
   <Item><Link URL="Order.html">Order your own turkey wrench</Link></Item>
   <Item><Link URL="Wrenches.htm">Read more about wrenches</Link></Item>
   <Item><Link URL="catalog.zip">Download the catalog</Link></Item>
   </List>
   <Para>The turkey wrench costs just $19.99 and, if you
   order now, comes with a hand-crafted shrimp hammer as a
   bonus gift.</Para>
   </Description>
3.3 数据(Data)、文件(Documents)和数据库(Databases)
    事实上,数据为主的文件和文档为主的文见之间的区别并不是很清晰。例如,虽然
一个数据
为主的文件(例如一张发票),也有可能包含大量的不规范结构的数据,例如发票的描
述部分。
而一个以文档为主的文件(例如用户手册),也可能包含有规范的数据结构(通常是元数

metadata),例如作者名和再版日期。除了这些,你用来判断是否是两者中其一的另外
一个重要特点是你是对数据还是对文档感兴趣,这也将决定你要采用什么样的系统。
    要存储和获取数据,你可以使用一个数据库(通常是关系数据库,面向对象数据库
或则
树状体系数据库)和中间件,或则你也可以使用XML服务器(你可以把它看成是将数据库

中间件捆绑在一起)。要保存文档,你将需要一个内容管理系统。有关各种系统的探讨
在第
4.0小节中, "存储和获取数据"和第5.0小节 "存储和获取文档".你能够在第6.0小节找到
一些
可使用的软件列表"可利用的软件"。

--

※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.112.137.7]
※ 修改:·Sage 於 Sep 12 11:45:52 修改本文·[FROM: 192.168.18.238]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.18.238]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店