歡迎來到裝配圖網! | 幫助中心 裝配圖網zhuangpeitu.com!
裝配圖網
ImageVerifierCode 換一換
首頁 裝配圖網 > 資源分類 > PPT文檔下載  

《圖像和XML數據的》PPT課件.ppt

  • 資源ID:15536162       資源大?。?span id="m7pevmy" class="font-tahoma">1.59MB        全文頁數:34頁
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

《圖像和XML數據的》PPT課件.ppt

第8章 圖像和XML數據的添加應用實踐,導入讀者照片,導入讀者聯系方式,查詢讀者聯系方式,導入讀者照片,導入讀者聯系方式,查詢讀者聯系方式,8.1 導入讀者照片,實現功能:借書證號為081101的讀者的照片保存在D盤根目錄下,照片的名稱為081101.jpg,現要在SQL Server服務器上將該照片信息導入到圖書管理數據庫MBOOK中該讀者的照片列上。 實現方法: 新建一個查詢窗口,在窗口中輸入如下語句: USE MBOOK GO UPDATE TReader SET 照片=( SELECT * FROM OPENROWSET(BULK ND:081101.jpg, SINGLE_BLOB) AS image) WHERE 借書證號=081101 執(zhí)行成功后查詢081101讀者的照片信息: SELECT 借書證號, 照片 FROM TReader WHRER 借書證號=081101 執(zhí)行結果如下所示:,8.1 導入讀者照片,說明:OPENROWSET行集函數用于大容量數據的導入導出,修改照片信息時該函數用于加載已經存在的081101.jpg文件,并返回一個表。使用SELECT語句得到返回的表的內容,語句中為該表定義了別名image。使用UPDATE語句可以直接將得到的內容賦給TReader表的照片列,以二進制格式存儲。除了可以加載圖片文件,OPENROWSET函數還可以加載XML文件。,8.2 導入讀者聯系方式,實現功能:如表8.1所示提供了081101、081102和081103借書證號讀者的聯系方式,要求將聯系方式導入到MBOOK數據庫的讀者信息表中。 方法一:使用UPDATE語句將081101讀者的聯系方式直接修改為表8.1所示的聯系方式,使用的SQL語句如下: USE MBOOK GO UPDATE TReader SET 聯系方式= WL 13900081101 211101 江蘇省 南京市 鼓樓區(qū)上海路3號 WHERE 借書證號=081101,8.2 導入讀者聯系方式,執(zhí)行后使用SELECT語句查詢081101的聯系方式: SELECT 借書證號, 聯系方式 FROM TReader WHERE 借書證號=081101 執(zhí)行結果如下所示:,說明:讀者的聯系方式是以XML格式的形式存放的,根據XML語法可知,讀者081101的為根元素,根元素下包含了讀者的、和信息。要存放XML數據,存放數據的列或變量必須為xml數據類型。,8.2 導入讀者聯系方式,方法二:將081102讀者的聯系方式存儲在081102.xml文件中,并將該文件導入到MBOOK數據庫該讀者的聯系方式中。 在D盤根目錄下新建一個文本文檔,輸入以下代碼: CM 13000081102 211100 江蘇省 鎮(zhèn)江市 京口區(qū)學府路28號 ,8.2 導入讀者聯系方式,將文件名保存為081102.xml,打開“SQL Server Management Studio”,新建一個查詢窗口,輸入如下語句: USE MBOOK GO UPDATE TReader SET 聯系方式= (SELECT * FROM OPENROWSET(BULK ND:081102.xml, SINGLE_BLOB) AS temp_table) WHERE 借書證號=081102 執(zhí)行后使用SELECT語句查詢081102的聯系方式: SELECT 借書證號, 聯系方式 FROM TReader WHERE 借書證號=081102 執(zhí)行結果如下所示:,8.3 查詢讀者聯系方式,(1)查詢081101讀者的詳細地址。 實現方法:新建一個查詢窗口,輸入如下語句: USE MBOOK GO DECLARE contact xml SELECT contact=聯系方式 FROM TReader WHERE 借書證號=081101 SELECT contact.query(/聯系方式/地址/詳細地址) AS 詳細地址 執(zhí)行結果如下所示:,說明:以上語句中將讀者081101的聯系方式列上的內容賦給xml變量contact,再通過XQuery語法中的XML數據類型方法query()方法查詢xml變量contact中“詳細地址”節(jié)點的內容。query()方法中的參數指定到“詳細地址”節(jié)點。,返回,8.3 查詢讀者聯系方式,(2)查詢081102讀者“聯系方式”中的姓名。 實現方法:新建一個查詢窗口,輸入如下語句: DECLARE contact xml, name char(8) SELECT contact=聯系方式 FROM TReader WHERE 借書證號=081102 SET name=contact.value(/聯系方式/姓名)1, char(8) SELECT name 姓名 執(zhí)行結果如下所示:,L8.1 導入讀者照片,L1OPENROWSET行集函數 當數據是以大容量的文件格式存在時,直接插入的方式顯然不太合適。這時可以使用行集函數OPENROWSET來完成。OPENROWSET函數返回一個表,可以在查詢的FROM子句中像引用表名那樣引用OPENROWSET函數。將OPENROWSET函數返回的內容用做INSERT或其他語句的源表,就可以將數據文件中的數據導入到SQL Server表中。 OPENROWSET函數的語法格式如下: OPENROWSET ( BULK data_file , SINGLE_BLOB | SINGLE_CLOB | SINGLE_NCLOB ),L1OPENROWSET行集函數,說明: (1)BULK:使用OPENROWSET的BULK行集訪問接口讀取文件中的數據。在SQL Server中,OPENROWSET無須將數據文件中的數據加載到目標表,便可讀取這些數據。這樣便可在單個SELECT語句中使用OPENROWSET。 (2)data_file:數據文件的完整路徑,該文件的數據將被復制到目標表中。 (3)SINGLE_BLOB | SINGLE_CLOB | SINGLE_NCLOB:SINGLE_BLO表示將data_file的內容作為類型為varbinary(MAX)的單行單列行集返回;SINGLE_CLOB表示通過以ASC格式讀取data_file,使用當前數據庫的排序規(guī)則將內容作為類型為varchar(MAX)的單行單列行集返回;SINGLE_NCLOB表示通過以UNICODE格式讀取data_file,使用當前數據庫的排序規(guī)則將內容作為類型為nvarchar(MAX)的單行單列行集返回。,L1OPENROWSET行集函數,(4)與SELECT一起使用的FROM子句可以調用OPENROWSET(BULK.)而非表名,同時可以實現完整的SELECT功能。帶有BULK選項的OPENROWSET函數在FROM子句中時,需要使用AS子句指定一個別名。也可以指定列別名,如果未指定列別名列表,則格式化文件必須具有列名,指定列別名會覆蓋格式化文件中的列名,例如: SELECT FROM OPENROWSET(BULK.) AS table_alias SELECT FROM OPENROWSET(BULK.) AS table_alias(column_alias,.n),L1OPENROWSET行集函數,【強化練習】假設081102.jpg文件保存在D盤根目錄下,在PXSCJ數據庫中新建一個Imagetable表,包含Name和Content兩列,分別存儲圖片文件名和圖片文件的內容。使用OPENROWSET函數將081102.jpg文件導入數據表Imagetable中。 創(chuàng)建Imagetable表的語句如下: USE PXSCJ GO CREATE TABLE Imagetable ( Namechar(20)NOT NULL PRIMARY KEY, Contentvarbinary(MAX)NULL, ) 插入數據使用如下語句: INSERT INTO Imagetable (name, content) SELECT 081102.jpg AS name, * FROM OPENROWSET(BULK ND:081102.jpg, SINGLE_BLOB) AS note,L1OPENROWSET行集函數,圖片插入后可以使用SELECT語句查看插入了的數據: SELECT * FROM Imagetable 執(zhí)行結果如下所示:,返回,L8.2 導入讀者聯系方式,L1XML XML(eXtensible Markup Language)即可擴展標記語言,它與HTML一樣,都是SGML(Standard Generalized Markup Language,標準通用標記語言)。XML是Internet環(huán)境中跨平臺的、依賴于內容的技術,是當前處理結構化文檔信息的有力工具。擴展標記語言XML是一種簡單的數據存儲語言,使用一系列簡單的標記描述數據,而這些標記可以用方便的方式建立,雖然XML占用的空間比二進制數據要占用更多的空間,但XML極其簡單,易于掌握和使用。 XML是一種標準化的文檔格式語言,它使得發(fā)布者可以創(chuàng)建一個以不同方式查看、顯示或打印的文檔資源。XML與HTML的設計區(qū)別是:XML是用來存儲數據的,重在數據本身;而HTML是用來定義數據的,重在數據的顯示模式。另外,XML是可擴展的,因為它提供了一個標準機制,使得任意文檔構造者都能在任意XML文檔中定義新的XML標記,這使得綜合的、多平臺的、應用到應用的協議的創(chuàng)建降低了門檻。,返回,L1XML,XML的簡單使其易于在任何應用程序中讀寫數據,這使XML很快成為數據交換的唯一公共語言,雖然不同的應用軟件也支持其他的數據交換格式,但不久之后它們都將支持XML,那就意味著程序可以更容易地與Windows、Mac OS、Linux以及其他平臺下產生的信息結合,然后可以很容易加載XML數據到程序中進行分析,并以XML格式輸出結果。 XML文檔是由DTD和XML文本組成。所謂DTD(Document Type Definition),簡單的說是一組關于標記符的語法規(guī)則,表明XML文本是如何組織的。它是保證XML文檔格式正確的有效方法,可以通過比較XML文檔和DTD文件來確定文檔是否符合規(guī)范,元素和標簽使用是否正確。,L2XML語法,本小節(jié)將從一個簡單的XML實例開始介紹XML的語法,實例代碼如下: wang zhang Reminder Dont forget me this weekend! 12 ,L2XML語法,XML文檔中的元素還可以帶有若干個屬性,屬性的名稱也是由用戶自己定義的,屬性的值必須添加引號。格式如下: 元素內容 文件中的“age=20”即為元素的屬性和值。 在編寫XML文本時需要注意以下幾點。 XML標簽的名稱可以包含字母、數字及其他字符,不能以數字或標點符號開始;不能以字符“xml”、“XML”或“Xml”等開始;不能包含空格。 XML語法是區(qū)分大小寫的,所以在定義XML標簽時必須保持大小寫的一致性,例如,打開開始標簽為“”,結束標簽為“”就是錯誤的寫法。 XML必須正確地嵌套,例如,以下的標簽嵌套關系是錯誤的: This text is bold and italic 必須修改為: This text is bold and italic,L2XML語法,XML文檔中允許空元素的存在,所謂的空元素就是只有標簽沒有實際內容的元素,空元素有兩種表示方法。例如:“”或“”。 在XML文檔中所有的空格都會被保留。 可以在XML文檔中寫注釋,注釋形式與HTML中一樣,例如: XML中的實體引用。在XML文檔中有一些字符具有特殊意義,例如:如果把字符“<”放在XML元素中,會出錯,因為解析器會把它當做新元素的開始。為了避免錯誤,需要用其對應的實體引用表示。XML中有5個預定義的實體引用,如表8.2所示。,表8.2 XML中的實體引用,返回,L8.3 查詢讀者聯系方式,L1XQuery語法 1XPath語法 XPath是一種在XML文檔中查找信息的語言,使用XPath的標準路徑表達式可以在XML文檔中選取相應的XML節(jié)點。在XPath中有7種類型的節(jié)點:元素、屬性、文本、命名空間、處理指令、注釋和文檔(根)節(jié)點。例如:在之前創(chuàng)建的note.xml文件中,“”是根節(jié)點,“wang”是元素節(jié)點,“age=20”是屬性節(jié)點。 XPath是根據路徑表達式在XML文檔中查找信息的,其路徑表達式與Windows的文件路徑類似??梢园裍Path比做文件管理路徑,通過文件管理路徑,可以按照一定的規(guī)則查找到所需要的文件;同樣,依據XPath所制定的規(guī)則,也可以很方便地找到XML結構文檔樹中的任何一個節(jié)點。XPath中常用的基本表達式在表8.3中列出。,表8.3 XPath中的常用表達式,L1XQuery語法,表8.4中給出了一些XPath中路徑表達式的實例。,表8.4 XPath路徑表達式實例,L1XQuery語法,另外,還可以使用謂詞和通配符表達更為復雜的路徑表達式,如表8.5所示。,表8.5 復雜的路徑表達式實例,L1XQuery語法,2XML數據類型方法 SQL Server提供了一些內置的用于XML數據類型的方法。由于XML數據是分層次的,具有完整的結構和元數據,所以在查詢XML實例時與普通數據類型不同,可以使用XML數據類型方法查詢存儲在xml類型的變量或列中的XML實例。常用的XML數據類型方法有以下幾種。 (1)query()方法。語法格式: query (XQuery) 該方法只有一個參數XQuery,XQuery為一個字符串,用于指定查詢XML實例中的XML節(jié)點(如元素、屬性)的XQuery表達式。query()方法返回一個XML類型的結果。,L1XQuery語法,【強化練習】聲明一個xml變量并將有關學生信息的XML數據分配給它,再使用query()方法對文檔指定XQuery來查詢子元素。 DECLARE xmldoc xml SET xmldoc= 王林 男 20 何麗 女 21 SELECT xmldoc.query(/school/class/student) AS 學生信息 執(zhí)行結果如下所示:,L1XQuery語法,(2)value()方法。語法格式: value (XQuery, SQLType) value()方法對XML執(zhí)行XQuery查詢,并返回SQL類型的標量值。通常,可以使用此方法從XML類型列、參數或變量內存儲的XML實例中提取值。這樣就可以指定將XML數據與非XML列中的數據進行合并或比較的SELECT查詢。 XQuery :XQuery表達式為一個字符串文字,從XML實例內部檢索數據。XQuery必須最多返回一個值,否則將返回錯誤。 SQLType:要返回的首選SQL數據類型,value()方法的返回類型要與SQLType參數匹配。 vaule()方法返回一個帶有結果的非XML數據類型,且只能返回單個值。 (3)exist()方法。語法格式: exist (XQuery) exist()方法返回一個“位”值,表示下列條件之一: 表示True(如果查詢中的XQuery表達式返回一個非空結果),即它至少返回一個XML節(jié)點; 0,表示False(如果它返回一個空結果); NULL(如果執(zhí)行查詢的XML數據類型實例包含NULL)。,L1XQuery語法,(4)modify()方法。語法格式: modify (XML_DML) 使用該方法可以修改XML文檔的內容,也可以修改XML類型變量或列的內容等。XML_DML參數是XML數據操作語言(DML)中的字符串,使用XML DML語句可以在XML數據中插入、更新或刪除節(jié)點。modify()方法只能在UPDATE語句的SET子句中使用。 XML數據修改語言(XML DML)是對XQuery語言的擴展,使XQuery語言能夠進行數據操作(DML)。XML DML將下列區(qū)分大小寫的關鍵字添加到XQuery中:insert(插入)、delete(刪除)、replace value of(替換)。 XML DML中insert關鍵字的功能是將一個或多個節(jié)點作為XML實例中節(jié)點的子節(jié)點或同級節(jié)點插入到XML實例中。語法格式如下: insert Expression1 as first | as last into | after | beforeExpression2,L1XQuery語法,說明: Expression1:標識要插入的一個或多個節(jié)點。 Expression2:標識XML實例中的節(jié)點。Expression1標識的節(jié)點是相對于Expression2標識的節(jié)點插入的。Expression2可以是XQuery表達式,返回當前被引用的文檔中現有節(jié)點的引用。如果返回多個節(jié)點,則插入失敗。如果Expression2返回一個空序列,則不會發(fā)生插入操作,并且不會返回任何錯誤。 into | after | before:into關鍵字表示Expression1標識的節(jié)點作為Expression2標識的節(jié)點的子節(jié)點插入。如果Expression2中的節(jié)點已有一個或多個子節(jié)點,則必須使用as first或as last來指定所需的新節(jié)點的添加位置,分別在子列表的開頭或末尾。插入屬性時忽略as first和as last關鍵字。after表示Expression1標識的節(jié)點作為Expression2標識的節(jié)點的同級節(jié)點直接插入在其后面。而before則表示Expression1標識的節(jié)點作為Expression2標識的節(jié)點的同級節(jié)點直接插入在其前面。,L1XQuery語法, XML DML語句的delete關鍵字的功能是刪除XML實例中的節(jié)點。語法格式如下: delete Expression 表達式Expression不能是根節(jié)點。如果表達式返回空序列,則不進行刪除,不返回錯誤。 XML DML語句的replace value of關鍵字的功能是在XML文檔中更新節(jié)點的值。語法格式如下: replace value of Expression1 with Expression2 Expression1標識其值要更新的節(jié)點,它必須僅標識一個單個節(jié)點。Expression2用于指定節(jié)點的新值。 【強化練習】使用XML DML語句在一段XML數據中一個節(jié)點的后面添加一個節(jié)點。 DECLARE xmldoc xml SET xmldoc=王林男20 SELECT xmldoc AS 插入節(jié)點前數據 SET xmldoc.modify(insert 1991-02-10 after (/student/sex)1) SELECT xmldoc 插入節(jié)點后數據,L1XQuery語法,執(zhí)行結果如下所示:,L1XQuery語法,(5)nodes()方法。nodes()方法可以將XML實例拆分成關系數據。nodes()方法的結果是一個包含原始XML實例的邏輯副本的行集。在這些邏輯副本中,每個行示例的上下文節(jié)點都被設置成由查詢表達式標識的節(jié)點之一。這樣,后續(xù)的查詢可以瀏覽與這些上下文節(jié)點相關的節(jié)點。語法格式: nodes (XQuery) as Table(Column) XQuery參數是一個字符串形式的XQuery表達式。如果查詢表達式構造節(jié)點,這些已構造的節(jié)點將在結果行集中顯示。Table(Column)用于指定結果行集的表名稱和列名稱。,L1XQuery語法,【強化練習】使用nodes()方法查找并列的節(jié)點。 DECLARE xmldoc xml SET xmldoc= 王林 男 20 王燕 女 21 SELECT T.a.query(.) AS 結果 FROM xmldoc.nodes(/class/student) T(a) 執(zhí)行結果如下所示:,L1XQuery語法,3XQuery查詢 SQL Server支持的XQuery基本語法中除了能夠使用Xpath路徑表達式進行查詢,還包含一個通用標準格式:FLWOR表達式,FLWOR是“For,Let,Where,Order by,Return”的縮寫。以下的示例說明了FLWOR的用法(假設book元素是根元素): for $x in doc(note.xml)/book/note let $y :=/book/note/to where $x/number<20 order by $x/brand return $x/brand 說明:FLWOR表達式可以由以下幾部分組成。 for語句:將note.xml文件中book元素下所有的note元素提取出來賦給變量$x。其中,doc()是內置函數,作用是打開相應的xml文檔。 let語句:該語句可選,用于在XQuery表達式中為變量賦值。 where語句:該語句可選,用于選取note元素下number元素小于20的note元素。 order by語句:該語句可選,用于指定查詢結果按照brand升序排序。 return語句:return語句中的表達式用于構造FLWOR表達式的結果。,L1XQuery語法,【強化練習】 (1)查詢xml文檔中age元素小于20的name元素的數據。 DECLARE xmldoc xml SET xmldoc= 王林男20 王燕女19 程明男18 SELECT xmldoc.query(/class/studentage<20) 執(zhí)行結果如下所示:,L1XQuery語法,(2)使用FLWOR表達式查詢XML數據。 DECLARE x XML SET x= Manu step 1 at Loc 1 Manu step 2 at Loc 1 Manu step 3 at Loc 1 Manu step 1 at Loc 2 Manu step 2 at Loc 2 Manu step 3 at Loc 2 SELECT x.query( for $step in /ManuInstructions/Location1 return string($step) ) 執(zhí)行結果如下所示:,

注意事項

本文(《圖像和XML數據的》PPT課件.ppt)為本站會員(w****2)主動上傳,裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(點擊聯系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!