DAT301: XML数据和关系性数据的最终结合处 – SQL Server 2005

Slides:



Advertisements
Similar presentations
作業一 : USING DBMS ( 使用 DB2 及 SQL 基本練習 ) 報告人:學生楊群期 學號: 課程 : 高等資料庫 講師 : 楊維邦教授.
Advertisements

Web Role 的每台虚机运行有 IIS ,用于处理 Web 请求 Worker Role 用于运行后台进程 Cloud Service 是什么? 支持多层架构的应用容器 由多个 Windows 虚拟机集群构成 集群有两种类型: Web 和 Worker Cloud Service 做什么 进行应用的自动化部署.
吴峻 软件设计工程师组长 Exchange Server 微软有限公司
10-1 資料庫管理系統簡介 10-2 關聯式資料模式和查詢語言 10-3 Access 簡介 10-4 XML 簡介
第六章 資料倉儲與採礦技術 6.1 資料倉儲與採礦定義 6.2 資料採礦之步驟與技術分類 6.3 資料採礦在顧客關係管理之應用
深市协助执法及证券查询业务介绍 客户服务部 China Securities Depository
第5章 索引及视图操作 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社 编著 陈国秦 万程 邢一鸣
第2章 数据模型 2.1 实体联系模型 2.2 关系模型 2.3 面向对象的数据模型 习 题 2.
抱怨處理技巧 高雄捷運公司 公共事務處 胡宜萍 安全 ‧ 便捷 ‧舒適 ‧ 可靠
1. 设定愿景,确定业务场景 Microsoft Corporation
金融信息安全人才培养的思考与实践 中央财经大学 朱建明 2012年11月24日.
广东省广州市花都区教育局教研室 汤少冰 优化评估方式, 促进中学英语的教与学 广东省广州市花都区教育局教研室 汤少冰
第 八 章 資料庫安全 本投影片(下稱教用資源)僅授權給採用教用資源相關之旗標書籍為教科書之授課老師(下稱老師)專用,老師為教學使用之目的,得摘錄、編輯、重製教用資源(但使用量不得超過各該教用資源內容之80%)以製作為輔助教學之教學投影片,並於授課時搭配旗標書籍公開播放,但不得為網際網路公開傳輸之遠距教學、網路教學等之使用;除此之外,老師不得再授權予任何第三人使用,並不得將依此授權所製作之教學投影片之相關著作物移作他用。
Chap 13 視界與資料庫程式設計.
第6章 資料庫管理系統 6-1 關聯式資料庫管理系統 6-2 SQL Server資料庫管理系統
資料庫設計 Database Design.
——打造科技金融升级版 中国建设银行顺德分行 2015年6月.
第7章 建立資料表與完整性限制條件 7-1 資料型別 7-2 資料表的建立 7-3 建立完整性限制條件 7-4 修改與刪除資料表
四川省集体林权流转平台 中国西部林权交易网
云实践引导产业升级 沈寓实 博士 教授 MBA 中国云体系产业创新战略联盟秘书长 微软云计算中国区总监 WinHEC 2015
關聯式資料庫.
第六章 學習SQL語言.
9 SELECT敘述的進階查詢 9-1 SQL的多資料表查詢 9-2 合併查詢 9-3 集合運算查詢 9-4 子查詢
課程名稱:資料庫系統 授課老師:李春雄 博士
解振宇 客户技术经理 客户售前技术部 微软中国有限公司广州办事处
二.資料庫系統建立與管理 Access 資料庫:windows下的單機資料庫 Access 操作 Mysql資料庫介紹.
Chap 10 SQL定義、操作與控制指令.
卢斌 Software Development Engineer Microsoft Corporation
SOLUTIONACCELERATORS Windows Vista Hardware Assessment 1
朝雲端專業DBA邁進: 深入剖析 Windows Azure SQL Database 完整資料庫管理、雲端報表建立、建置分散式雲端資料庫
資料庫安全 (Database Security)
Transact-SQL 語言設計教學.
SQL Server 2000 数据库入门.
第4章(2) 空间数据库 —关系数据库 北京建筑工程学院 王文宇.
課程名稱:資料庫系統 授課老師:李春雄 博士
課程名稱:資料庫系統 授課老師:李春雄 博士
创建型设计模式.
OFC351 利用Office System开发复杂的商务解决方案 架构、模式、场景
微软新一代云计算 面向企业的 Office 365 客户培训大纲
Ch4.SQL Server 2005資料庫組成員元件介紹
第4章(1) 空间数据库 —数据库理论基础 北京建筑工程学院 王文宇.
第20章 MySQL数据库.
2/24/2019 5:40 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
ORACLE 第九讲 触发器.
Chapter 5 Recursion.
Microsoft SQL Server 2008 報表服務_設計
CH03 行銷資訊系統資料庫模組--資料庫概論
<title> XML與XQuery ,新一代資料儲存標準 </title>
資料庫 靜宜大學資管系 楊子青.

SQL Server Mobile 2005 程序开发(三)
橫跨電腦、手機與軟體的全方位端點管控解決方案
資料庫管理系統 緒 論.
第 15 章 自訂函數與順序物件.
呂政周 精誠恆逸教育訓練處 資深講師 Windows PowerShell 呂政周 精誠恆逸教育訓練處 資深講師
從 ER 到 Logical Schema ──兼談Schema Integration
4/30/2019 7:40 AM 約翰福音 15:9;17:20-23 加拉太書 6:1-2 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
OrientX3.0及其改进之处 XML小组.
DEV342 Visual Basic 2005: 应用程序框架 和高级语言特性
5/5/2019 7:06 PM 两跨框架梁截面配筋图的绘制 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may.
SQL Server Mobile 2005 程序开发(二)
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
蔺华 ISV开发合作经理 平台及开发技术部 微软(中国)有限公司
MGT 213 System Management Server的昨天,今天和明天
資料庫應用與實作 一到六章重點、習題.
第4章 数据查询.
MSG 361 如何从Exchange 5.5迁移 胡义 咨询顾问 上海星移软件有限公司 2019年7月31日8时9分
OrientX暑期工作总结及计划 XML Group
高擴充高穩定高安全 企業級資料管理平台 Report Builder概論 錢曉明 資策會 資深講師 台灣微軟 資深講師.
Windows Workflow Foundation CON 230
Presentation transcript:

DAT301: XML数据和关系性数据的最终结合处 – SQL Server 2005 刘劲浩 XML 组 SQL Server 引擎 Microsoft Corp.

内容 为什么 XML? SQL 2005 中新的数据类型: XML data type XML data的存储和建索引 SQL 2005中新的顶级对象:XML Schema collection 从SQL到XML:FOR XML 从XML到SQL:OpenXML and nodes() 应用方向

数据交换的格式:XML 互联网时代, 数据交换不仅发生在公司内,也发生在 XML是可扩展的,独立于平台的数据交换格式 B2B B2C A2A – Any application to any application XML是可扩展的,独立于平台的数据交换格式 普遍使用方式: 数据存储 as SQL rowset, 传输 as XML Describe the technical theme. The theme groups a set of Features that deliver a value proposition to the user. Introduce that theme and the value proposition. Even though the features may come from various components of SQL Server, they complement each other in some easily-to-understand way.

数据建模 (Data modeling) XML 关系性数据  结构性数据 等级(Hierarchical) 结构性数据 半结构性数据 Not First Class: PK-FK with cascading delete 半结构性数据 Not First Class 非结构性数据 Not First Class: FTS 有序(Order)数据 递归/嵌套数据 (Recursive query)

从市场角度 + XML dt XML in Yukon (incl SQLXML) Document XML, relational and semistructured data Native XML and semistructured data DBMS Document Mgmt Rel  XML XML in SQLServer 2000 (incl SQLXML) + XML dt Native XML Store in RDBMS Rel  XML XML for relational data

SQL 2005 XML功能纵览 关系性数据和XML数据在一个DB中 XML data type XML架构(Schema)的支持 利用现有的数据存储和查询处理能力 XML data type 新数据类型 -> native storage of XML 可被建索引 Support un-typed and typed XML data XML架构(Schema)的支持 载入和储存 Validate and type XML instances XML查询(query)和删改(update) Integrages with relational Queries (part of SQL statement) Insert/update/delete SQL rowsets和XML之间的转换

XML数据类型 新SQL标量类型 可被查询和删改 − XQuery + XML_DML 可用于列,变量,函数和存储进程的参数 Typed by XML schema 可产生于 SELECT …FOR XML 可用OpenXML and nodes() method 产生行集 可被查询和删改 − XQuery + XML_DML 支持 SQL triggers, replication, BCP, DBCC, FTS, etc. 不可比较的数据: PK/FK, UNIQUE unsupported

XML数据类型: 实例 variable column parameter typed xml declare @x xml create table xtable (i int primary key, xcol XML) parameter create procedure xproc (@xdoc Xml) as ... typed xml declare @x xml(name_xml_schema_collection)

XML的存贮方法 SQL 2005的XML数据运用所谓二进制大对象 (BLOB – binary large object) 的方法来贮存. 最大空间为2GB 它使用特殊的格式来保持XML的数据模型 (Infoset). 此格式和文本格式相比节省大约20%的空间 物理上它和varbinary(max)是同一种数据类型 在查询处理中被分离(shredding) - 将XML变成行集合的过程.

XML索引 Create XML index on XML column 主XML索引相当于XML数据的另一拷贝 CREATE PRIMARY XML INDEX idx_1 ON docs (xDoc) 主XML索引相当于XML数据的另一拷贝 Creates secondary indexes on VALUE, PROPERTY and PATH Speeds up queries Results can be served directly from index Entire query is optimized Indexes are used as available

XML的查询和删改 XML的查询语言: XQuery Microsoft 版本的XML_DML, 用于XML的 删改 主体语言还是 SQL W3C working draft at http://www.w3.org/TR/xquery Microsoft 版本的XML_DML, 用于XML的 删改 insert / delete / replace value with 主体语言还是 SQL 将XQuery嵌入XML的数据方法中 (XML data type methods) Correlated with columns and T-SQL variables (via sql:column() and sql:variable())

XML的数据方法(methods) Query methods @x.query (xquery string)  XML Creates new, untyped XML data type instance @x.value (xquery string, sql_type string)  scalar (of type sql_type) Extracts an XQuery value into the SQL value and type space @x.exist (xquery string)  bit Returns 1 if the XQuery returns at least 1 item, 0 otherwise @x.nodes (xquery string)  multiple xml instances with different context nodes Will talk about later Data modification @x.modify (XML_DML string)  void Used with SET in UPDATE statement

XQuery:实例 declare namespace n = "http://example.com/ns1"; for $s in /n:doc[@id = 123]//n:sec[@num >= 3] Where $s/n:heading return <topic>{data($s/n:heading)}</topic> Query Prolog Query Body

XQuery之功能 FLWOR: FOR / LET / WHERE / ORDER BY / RETURN FOR LET WHERE Includes XPath 2.0 (/doc[@id = 123]) Element constructors (<topic>{…}</topic>) Order-preserving operators Input order (FLWR) Document order (XPath, union) Statically (or dynamically) typed Strong typing with schema, weak typing without schema SQL: WITH SELECT FROM WHERE ORDER BY & SET

XML架构集合(XML Schema Collections) SQL 2005中一个新的顶级对象 CREATE XML SCHEMA COLLECTION xsc_Test as '<schema xmlns="http://www.w3.org/2001/XMLSchema"> <element name="root" type="integer" /> </schema>' go declare @x xml(xsd_Test) set @x = '<root>12</root>'

XML架构集合(XML Schema Collections) XML Schema (XSD) — optional, XML doc. XSD is W3C standard at http://www.w3.org/2001/XMLSchema Simple and complex types, type inheritance, namespaces, etc. Import schema into db before use Stored in SQL meta-data component of server Schema can be exported from db XML架构为XML数据提供了一种约束 Provides validation constraint Type information on the XML instance data Utilized in query execution

FOR XML: XML的聚合器 从SQL行集合到XML 它产生单行, 单列的XML数据 Set @x = (select * from T for xml auto, type) Can be used in subqueries and assignments as singletons Example: SELECT CustomerId, (SELECT * FROM Orders WHERE Orders.CustomerId=CustomerId FOR XML AUTO, TYPE) AS orders FROM Customers FOR XML AUTO, ELEMENTS, TYPE

FOR XML in SQL 2005 Old FOR XML (SQL 2000) queries stay the same New features: Use TYPE directive to get XML data type instance Support new SQL types element-centric raw mode inline XSD for raw and auto NULL as xsi:nil or absence for element-centric modes Specify new row tag and root element name FOR XML PATH Nested FOR XML

FOR XML in SQL 2005 Old FOR XML (SQL 2000) queries stay the same New features: Use TYPE directive to get XML data type instance Support new SQL types element-centric raw mode inline XSD for raw and auto NULL as xsi:nil or absence for element-centric modes Specify new row tag and root element name FOR XML PATH Nested FOR XML

FOR XML in SQL 2005 Old FOR XML (SQL 2000) queries stay the same New features: Use TYPE directive to get XML data type instance Support new SQL types element-centric raw mode inline XSD for raw and auto NULL as xsi:nil or absence for element-centric modes Specify new row tag and root element name FOR XML PATH Nested FOR XML

FOR XML in SQL 2005 Old FOR XML (SQL 2000) queries stay the same New features: Use TYPE directive to get XML data type instance Support new SQL types element-centric raw mode inline XSD for raw and auto NULL as xsi:nil or absence for element-centric modes Specify new row tag and root element name FOR XML PATH Nested FOR XML

OpenXML: XML的分离器 从XML到SQL行集合 OpenXML: Old syntax still works Using MSSQLXML.DLL now sp_xml_preparedocument transfer XML into an internal edge table. Using XPath to look for the nodes Using WITH clause to map XML value(s) into SQL column(s) Old syntax still works 假如你想将单一的XML文档分离成 rows, you can use OpenXML

nodes()方法: 取代OpenXML If you want to shred multiple XML instances into SQL rowsets, nodes() is the answer. Provides OpenXML-like functionality on XML data type column in SQL Server 2005 Returns a row per selected node Each row contains a special XML data type instance that Has the context node set to the selected node Preserves the original structure and types Can only be used with the XQuery methods (not modify()), count(*), and IS (NOT) NULL

FOR XML with TYPE directive SQL Server 2005 XML 纵览 XML Relational XML XML Parser XML Schemata Schema Collection Validation OpenXML/nodes() PATH Index XML data type (binary XML) Node Table Rowsets modify() PRIMARY XML INDEX PROP Index FOR XML with TYPE directive VALUE Index query() query()

SQL 2005 XML应用方向 属性管理(Property management) 数据交换(Data exchange) 文本管理(Document management) Save all MS Office files into SQL You can query and modify them XML视图技术 消息(Messaging) 对象储存(Object persistent)

关键论点: Key Takeaway 1: Key Takeaway 2: XML 数据类型提供了一种新的数据建模方法. 此种方法可描述各种格式的数据 Key Takeaway 2: 这一功能就在SQL2005引擎中

© 2002 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.