国产男女无遮挡_日本在线播放一区_国产精品黄页免费高清在线观看_国产精品爽爽爽

  • 熱門標簽

當前位置: 主頁 > 航空資料 > 計算機 >

時間:2010-08-09 13:05來源:藍天飛行翻譯 作者:admin
曝光臺 注意防騙 網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者

節點同名的表中的列的外鍵關系,列
的名字是父元素的名字加一個前綴
p k _。
(2) 屬性
我們需要的三個表中的第一個是P u b l i s h e r表。模式定義告訴我們所需要的表的信息:
程序清單1 0 - 4 3
就像< C a t a l o g >元素,一個< P u b l i s h e r >元素只能包含其他元素—它能包含非混合的內容。
元素是< C o r p o r a t e N a m e >,< A d d r e s s >,< I m p r i n t s >和< A u t h o r >,如圖
1 0 - 2 1所示。
應用分層規則我們建立了四張表,并且建立了它們之間的關系。
然而,< P u b l i s h e r >也有一個叫做i s b n的屬性節點。它可以非常容易地被
表示為P u b l i s h e r表的一個字段,并且我們將給它同節點一樣的名字。注
意,節點結構表明需要一個屬性節點,所以應該通過在表中增加要求
字段而實現它。因為不允許NULL值,所以如圖10-22所示定義這個列。
現在可以定義另一個規則:
• 規則3—對于每個屬性節點。
• 創建一個與屬性節點同名的列。
• 如果要求屬性,那么列不允許為N U L L值。
(3) 純文本元素
< P u b l i s h e r >元素可以包含的下一個元素是< C o r p o r a t e N a m e >,定
義如下:
<ElementType name="CorporateName" content="textOnly"/>
像第一個規則要求的那樣,我們將創建一個名為C o r p o r a t e N a m e的表。在根據規則設置好鍵
值之后,一個在P u b l i s h e r表和C o r p o r a t e N a m e表之間的一對一的關系就出現了,如圖1 0 - 2 3所示。
以一個數據庫的觀點,用于c o r p o r a t e N a m e的額外的表是不必要的。這就是說,數據被放入
到另外一個表,正像P u b l i s h e r 表的一列。而從X M L 角度,額外的表也是不必要的。
398使用XML 高級編程
下載
圖10-21
圖10-20
< C o r p o r a t e N a m e >元素的內容僅是文本—它不能包含任何子節點—所以可以被容易地存儲為
P u b l i s h e r表中的一列。因此, P u b l i s h e r表更有效的形式如圖1 0 - 2 4所示。
圖10-22
圖10-23
圖10-24
比起每一個元素都有一個表,它提高了性能,因為它不需要創建許多的連接來取得數據。
為了取得< P u b l i s h e r >信息,只需要下面的查詢:
然而使用一個獨立的公司名稱表,需要這樣做:
盡管看上去好像沒有什么多余的工作,只用了一個查詢來檢索出版商地址,但當我們看到
后面的地址模式時,將會發現這是多么的復雜—并且可能很慢。
在實現一個用于X M L數據的關系存儲時,應決定哪一個字段應該是屬性,哪一個應該是純
文本元素,這是件很容易的事。建好以后,剛剛在P u b l i s h e r表中描述的數據可以被輸出為元素:
程序清單1 0 - 4 4
或者輸出為元素的屬性:
我們沒有一個簡單的方法知道哪一個是更好的輸出,那么問題是用什么方法來表示數據庫
第10章XML和數據庫使用399 下載
是最佳的,但我們應能容易重新生成X M L。一種可以考慮的技術是在輸出之前,把模式當作數
據。另一種方法是在取得數據后,對它進行轉換,然后每一個字段作為屬性重新返回。
這兩種方法可能適用于不同的情況,被用在某些在前面關系數據庫部分所描述的工具中。
在這里我們使用了一個簡單方法,它是在數據庫中將列命名,通過這種方法就很容易重新取回
丟失的信息。如果屬性用a t t r _作為前綴,純文本元素使用e l e m _,那么應該能夠很容易區分它們
的不同。我們需要修改規則3,以包括前綴a t t r _:
• 規則3—對于每個屬性節點。
• 創建一個與屬性節點同名的列,使用前綴a t t r _。
• 如果要求屬性,那么列不應該允許為N U L L值。
我們也可以包含下一個規則:
• 規則4—如果一個元素的節點只包含文本,那么在它的父元素表中創建一列,列的名字
與節點一樣,使用前綴e l e m _。
(4) 純文本元素的多發性
盡管把一個純文本元素作為一個字段是一個有用的優化,也存在不能用的情況。當元素可
以顯示一次或多次的時候就是這種情況。如果我們繼續處理模式,可以看到< S t r e e t >元素就只包
含文本,但是它可以在地址的街道部分表示為多行:
程序清單1 0 - 4 5
盡管< S t r e e t >沒有子元素,但是由于它具有多個值,所以不能在關系數據庫用一列來實現。
所以我們需要增加一個表來保存< S t r e e t >的多個值。首先讓我們改一下規則4:
• 規則4—如果一個元素的節點只包含文本,并且最大發生次數為1次,那么在它的父元素
表中創建一列,列的名字與節點一樣,使用前綴e l e m _。
這就意味著我們已經擁有了所有要完成A d d r e s s表的規則—沒有S t r e e t列—看上去將如圖
1 0 - 2 5所示。
然而,在創建S t r e e t表之前還有一個問題。到現在為止,我們創建的用來保存元素信息的所
有表都簡單地與它的父元素相關聯,并可能擁有屬性。然而< S t r e e t >元素沒有屬性但是包含自己
的數據。所以需要在一個表中用一列來保存它。但是因為這個數據不是一個屬性或是一個純文
本的子元素,所以我們無法命名。在一個關系數據庫中,每一列必須有一個名字,所以把它叫
400使用XML 高級編程
下載
做p c d a t a。
圖10-25
現在S t r e e t表將如圖1 0 - 2 6所示。
圖10-26
使用這個表,地址中街道部分的數據可能如圖1 0 - 2 7所示。
圖10-27
在這個例子中有兩個地址,第一個使用了街道記錄為1,2和3,第二個使用4和5。現在需要
修改規則2來處理元素擁有自己文本內容的情況:
• 規則2—對每一個元素節點類型,創建一個與元素相同名字的表,然后:
 
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:XML高級編程上(130)
国产男女无遮挡_日本在线播放一区_国产精品黄页免费高清在线观看_国产精品爽爽爽
国产日韩中文在线| 激情综合网婷婷| 欧美在线视频一区| 国产精品99一区| 久久久久久国产精品| 国产日产欧美一区二区| 国产精品久久久久77777| 欧美中文字幕第一页| 国产福利片一区二区| 亚洲人精品午夜射精日韩| 分分操这里只有精品| 欧美日韩成人在线观看| 国产综合久久久久久| 国产精品免费一区| 日本精品一区二区三区在线播放视频| 91国产精品电影| 亚洲二区自拍| 99国产高清| 亚洲一区国产精品| 99在线观看视频| 亚洲一区二区精品在线| 99久久免费观看| 亚洲xxxx视频| 国产成人自拍视频在线观看| 性欧美亚洲xxxx乳在线观看| 国产精品99久久99久久久二8| 亚洲a一级视频| 69精品小视频| 欧美一级片一区| 久久精品国产精品青草色艺 | 极品美女扒开粉嫩小泬| 国产精品日韩av| 精品一区久久久久久| 欧美人与性动交a欧美精品| 成人av在线不卡| 婷婷久久五月天| 色噜噜狠狠狠综合曰曰曰88av| 欧美日韩精品不卡| 国产精品成人一区二区| 国产老熟妇精品观看| 亚洲最大福利视频网| 91精品久久久久久久| 日韩国产一级片| 国产精品毛片一区视频| 国产乱码一区| 日韩av免费网站| 国产精品日韩欧美| 国产精品综合久久久| 欧美一区二区三区在线免费观看| 久久久久久久久久久99| 精品一区2区三区| 亚洲一区精彩视频| 日韩亚洲欧美中文高清在线| 国产在线精品一区| 亚洲精品欧美日韩| 精品国产欧美成人夜夜嗨| 精品午夜一区二区| 熟女少妇精品一区二区| 国产精品十八以下禁看| 国产乱码精品一区二区三区卡 | av一区二区三区免费观看| 日韩色妇久久av| 国产精品视频区1| av动漫在线播放| 黄色国产小视频| 日韩中文字幕av在线| 欧美xxxx综合视频| 久久国产色av免费观看| 国产欧美一区二区三区不卡高清| 欧美一级欧美一级| 久久国产精品久久久久| 日韩亚洲欧美中文在线| 国产精品一区二区三区在线播放 | 成人av网站观看| 国内外免费激情视频| 亚洲国产日韩综合一区| 国产精品啪啪啪视频| 久久综合久久综合这里只有精品| 国产在线一区二区三区欧美| 日韩免费在线观看av| 中国成人亚色综合网站| 国产精品视频资源| 久久精品一区二区三区不卡免费视频 | 久久99精品久久久久久琪琪| 久久国产午夜精品理论片最新版本| 国产男人精品视频| 欧美视频在线观看网站| 色综合电影网| 夜夜添无码一区二区三区| 国产精品久久久av久久久| 久久久久久a亚洲欧洲aⅴ| 成人在线小视频| 国产自偷自偷免费一区| 欧美中文字幕在线播放| 日本在线视频www色| 中文字幕乱码一区二区三区| 国产精品久久久久久久天堂| 久久久久久久久久久久久久国产 | 欧美亚洲另类制服自拍| 日日骚一区二区网站| 一区二区三区四区久久| 国产精品吹潮在线观看| 国产精品美女久久| 久久久精品2019中文字幕神马| 久久人人九九| 91精品国产自产在线观看永久| 国产欧美日韩免费看aⅴ视频| 国产在线日韩在线| 国产自产在线视频一区| 国内外免费激情视频| 明星裸体视频一区二区| 热久久免费视频精品| 亚洲**2019国产| 亚洲色图都市激情| 亚洲熟妇无码一区二区三区导航| 在线视频一二三区| 中文精品视频一区二区在线观看 | 一本色道婷婷久久欧美| 在线观看欧美一区| 欧美日韩福利电影| 精品久久中出| 国产精品极品美女在线观看免费 | 91免费福利视频| 91精品啪在线观看麻豆免费| www日韩视频| 91久久夜色精品国产网站| 91精品天堂| 日本久久亚洲电影| 日韩a∨精品日韩在线观看| 熟女少妇在线视频播放| 日本高清久久一区二区三区| 天堂√在线观看一区二区| 日产精品久久久一区二区| 秋霞午夜一区二区| 欧美国产激情视频| 国产一区二区在线免费| 国产精品亚洲一区| 99视频在线免费观看| 久久青青草原一区二区| 久久国产亚洲精品无码| 久久久999国产精品| 久久亚洲国产成人| 中文字幕一区二区三区最新| 午夜啪啪福利视频| 欧美性大战久久久久| 国产一区一区三区| 粉嫩av一区二区三区免费观看| 91国内揄拍国内精品对白| 日韩在线视频国产| 另类天堂视频在线观看| 亚洲在线www| 人体精品一二三区| 蜜桃传媒一区二区| 91久久久一线二线三线品牌| 精品国产欧美成人夜夜嗨| 久久国产精品电影| 亚洲精品一区二区毛豆| 日本一区二区三区在线视频| 激情伊人五月天| 91九色在线视频| 久久久精品2019中文字幕神马| 精品九九九九| 成人做爰www免费看视频网站| 激情六月天婷婷| 91精品国产99久久久久久| 久久精品99国产精品酒店日本| 精品自在线视频| 日韩免费av在线| 国产精品中文久久久久久久| 久久99精品国产99久久| 欧美日韩第一页| 日韩伦理一区二区三区av在线| 国产热re99久久6国产精品| 国产精品av免费在线观看| 国产精品久久久久久久av电影| 亚洲免费不卡| 欧美精品成人一区二区在线观看| 成人a级免费视频| 久久久999成人| 午夜精品久久久久久久久久久久久 | 日韩一区二区av| 欧美成人性色生活仑片| 日本一区二区在线视频观看| 国产一区福利视频| 久久精品国产第一区二区三区最新章节| 欧美成人精品在线| 日韩欧美不卡在线| 成年丰满熟妇午夜免费视频| 国产精品色悠悠| 日韩av电影在线播放| 国产欧美日韩精品在线观看| www.美女亚洲精品| 午夜精品一区二区三区四区| 国产免费一区二区三区香蕉精| 久久精品国产成人| 日韩中文字幕在线免费| 国产伦精品一区二区三区四区视频 | 一卡二卡三卡视频| 韩国福利视频一区| 国产成人精品一区二区|