




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、對象-關(guān)系數(shù)據(jù)庫及其語言2008.09目錄對象-關(guān)系數(shù)據(jù)庫的興起關(guān)系數(shù)據(jù)庫的弱點對象-關(guān)系數(shù)據(jù)庫的興起對象-關(guān)系數(shù)據(jù)模型及SQL:1999背景標(biāo)準(zhǔn)發(fā)展過程SQL:1999內(nèi)容1.1 關(guān)系數(shù)據(jù)庫的弱點(1)自20世紀(jì)80年代以來,關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)一直是數(shù)據(jù)庫管理系統(tǒng)(DBMS)的主流,其在數(shù)據(jù)庫產(chǎn)品市場中一直占據(jù)統(tǒng)治地位。RDBMS的優(yōu)越性主要體現(xiàn)在:關(guān)系數(shù)據(jù)模型(relational data model)對傳統(tǒng)的結(jié)構(gòu)化數(shù)據(jù)(structured data)提供了簡單、有效的建模(modeling)與表示(representation)機制;SQL語言以說明性(declarat
2、ive)的聯(lián)想式訪問(associative access)方式提供了簡便和國際標(biāo)準(zhǔn)的數(shù)據(jù)查詢與操縱機制;RDBMS提供了完備、高效的服務(wù)設(shè)施,包括索引和存儲(indexing & storage)、查詢優(yōu)化(query optimization)、事務(wù)管理(transaction management)、安全(security)、完整性(integrity)、觸發(fā)子(triggers)等;RDBMS產(chǎn)品具有廣泛的工業(yè)基礎(chǔ)和完善廠商支持。1.1 關(guān)系數(shù)據(jù)庫的弱點(2)但是,隨著數(shù)據(jù)管理技術(shù)應(yīng)用的拓寬與深入,關(guān)系數(shù)據(jù)庫也逐步暴露其弱點,主要表現(xiàn)在:有限的數(shù)據(jù)類型和刻板的數(shù)據(jù)結(jié)構(gòu);缺少不依賴于屬性
3、值的、全系統(tǒng)唯一標(biāo)識符(類似于OID);不支持用戶自定義的或系統(tǒng)可擴充的函數(shù)或運算。以上弱點的根源在于關(guān)系數(shù)據(jù)模型(relational data model)。 1.2 對象-關(guān)系數(shù)據(jù)庫的興起為克服關(guān)系數(shù)據(jù)庫(源于關(guān)系數(shù)據(jù)模型)的弱點,20世紀(jì)80年代開始,研究界就對關(guān)系數(shù)據(jù)庫后的下一代數(shù)據(jù)庫問題進行探討,研究重點集中在數(shù)據(jù)模型上。有代表性的數(shù)據(jù)模型有:非第一范式(non-first normal form, NF2)關(guān)系數(shù)據(jù)模型語義(semantic)數(shù)據(jù)模型面向?qū)ο螅╫bject-oriented, OO)數(shù)據(jù)模型對象-關(guān)系(object-relational, OR)數(shù)據(jù)模型 1.2
4、對象-關(guān)系數(shù)據(jù)庫的興起面向?qū)ο蠛蛯ο?關(guān)系數(shù)據(jù)模型對數(shù)據(jù)庫工業(yè)的影響最大。(新興的)廠商推出了對象數(shù)據(jù)庫管理系統(tǒng)(ODBMS)產(chǎn)品,但由于諸多原因(見教材),其并未成為替代RDBMS的主流產(chǎn)品(mainstream products);主要大廠商(e.g., Oracle, IBM, Microsoft)著眼于對傳統(tǒng)的關(guān)系數(shù)據(jù)庫進行面向?qū)ο髷U充,推出了對象-關(guān)系數(shù)據(jù)庫管理系統(tǒng)(ORDBMS)產(chǎn)品,成為支配當(dāng)前數(shù)據(jù)庫市場的主流產(chǎn)品。工業(yè)和標(biāo)準(zhǔn)化組織(e.g., ISO&ANSI)已制定ORDBMS數(shù)據(jù)模型及其數(shù)據(jù)庫語言(SQL3/SQL:1999)的國際標(biāo)準(zhǔn)。 2. 對象-關(guān)系數(shù)據(jù)模型及SQL:
5、19992.1 背景 BackgroundSQL:1999 (formerly known as SQL3, also called Object-Oriented SQL) is a database language for Object-Relational DBMS, e.g., Oracle 8i/9i, Informix Universal Server, IBMs DB2 Universal Database, and Cloudscapes Cloudscape, etc.2. 對象-關(guān)系數(shù)據(jù)模型及SQL:19992.2 標(biāo)準(zhǔn)發(fā)展過程 Standards Development
6、 ProcessSQL法定標(biāo)準(zhǔn)化組織美國:ANSI/NCITS H2(以前X3H2);國際:ISO/IEC JTC 1SQL標(biāo)準(zhǔn)發(fā)展過程(SQL1): SQL-86/SQL-87 SQL-89(minor enhancement)(by ANSI/X3H2, USA )SQL2: SQL-92 (by ISO & ANSI)(SQL3): SQL: 1999 (by ISO & ANSI) Next steps?2.3 SQL:1999內(nèi)容Here is not a complete feature set of SQL:1999, just new features to SQL2.劃分成“
7、關(guān)系特性”與“面向?qū)ο筇匦浴眱刹糠帧?PART I 關(guān)系特性 Relational Features 新數(shù)據(jù)類型 New Data Types新謂詞 New Predicates新語義 New Semantics 增強的安全機制 Enhanced Security主動數(shù)據(jù)庫 Active DatabasePART I 關(guān)系特性 Relational Features新數(shù)據(jù)類型 New Data Types4 new data types or related facilities. (other: UDTs O-O features) (1)大對象 LARGE OBJECT (LOB)不允許用
8、作PK or UNIQUE, FK;不允許進行除=外的比較運算;不允許用于Group By or Order By 子句中;客戶端類型LOB locator (二進制唯一值),作為DB中LOB值的替身,避免大量Clients端 - DB Server端的傳輸代價,可用于如SUBSTRING等操作:LOB ValueLOB LocatorDB ServerClientsPART I 關(guān)系特性 Relational Features新數(shù)據(jù)類型 New Data Types(2)布爾BOOLEANallows SQL to directly record truth values: true, fa
9、lse, and unknown;allows SQL to express complex combinations of predicates, e.g.:WHERE COL1 COL2 AND COL3 = COL4 OR UNIQUE (COL6) IS NOT FALSEPART I 關(guān)系特性 Relational Features新數(shù)據(jù)類型 New Data Types(3)數(shù)組與行ARRAY & ROWARRAY & ROW are composite types, WEEKDAYS VARCHAR (10) ARRAY 7 CREATE TABLE employee (EMP_
10、ID INTEGER,NAME ROW( GIVEN VARCHAR (30),FAMILY VARCHAR(30) ),ADDRESS ROW(STREET VARCHAR (50),CITY VARCHAR (30),STATE CHAR (2),SALARY REAL ) SELECT E.NAME.FAMILY WHERE employee E PART I 關(guān)系特性 Relational Features新數(shù)據(jù)類型 New Data Types(3)數(shù)組與行ARRAY & ROWQUESTION: they violate the First Normal Form (1NF) co
11、ndition?可認(rèn)為不是,”decomposable” data types. PART I 關(guān)系特性 Relational Features新數(shù)據(jù)類型 New Data Types(4) DISTINCT types, a data type-related facility 不同類型的屬性(值)不能在表達(dá)式中運算,除非用函數(shù)CAST()明確轉(zhuǎn)換。不允許 WHERE MY_SHOE_SIZE MY_IQSET MY_IQ = MY_IQ *2允許 WHERE MY_SHOE_SIZE CAST(MY_IQ AS SHOE_SIZE) SET MY_IQ = MY_IQ * CAST (2
12、AS IQ) PART I 關(guān)系特性 Relational Features新數(shù)據(jù)類型 New Data Types(5) User_defined types (UDTs):見O-O features PART I 關(guān)系特性 Relational Features 新數(shù)據(jù)類型 New Data Types新謂詞 New Predicates新語義 New Semantics 增強的安全機制 Enhanced Security主動數(shù)據(jù)庫 Active DatabasePART I 關(guān)系特性 Relational Features新謂詞 New Predicates3 new predicate
13、s. (1 predicate 見O-O features). (1) SIMILAR TO先前SQL標(biāo)準(zhǔn)僅提供字符串的:簡單比較,e.g. =or 基本的模式匹配:LIKE 如:WHERE NAME LIKE %SMIT_新SQL標(biāo)準(zhǔn)提供:UNIX風(fēng)格的正則表達(dá)式模式匹配:SIMILAR TO如: WHERE NAME SIMILAR TO (SQL-(86|89|92|99) | (SQL (1|2|3)PART I 關(guān)系特性 Relational Features新謂詞 New Predicates3 new predicates.(2) DISTINCT有點像原來的UNIQUE謂詞,但
14、有較大的區(qū)別:兩個NULL值滿足UNIQUE,但不滿足DISTINCT。 PART I 關(guān)系特性 Relational Features 新數(shù)據(jù)類型 New Data Types新謂詞 New Predicates新語義 New Semantics 增強的安全機制 Enhanced Security主動數(shù)據(jù)庫 Active DatabasePART I 關(guān)系特性 Relational Features新語義 New Semantics(1)擴大了可更新視圖(updatable view)的范圍(取決于函數(shù)依賴) (2)提供了遞歸查詢(recursive query) 方法: Step 1) 寫
15、出查詢表達(dá)式,并賦予一個名稱;Step 2) 在另一查詢表達(dá)式中調(diào)用這個查詢名稱 如:WHERE RECURSIVE Q1 AS SELECT FROM WHERE , Q2 AS SELECT FROM WHERE SELECT FROM Q1, Q2 WHERE PART I 關(guān)系特性 Relational Features新語義 New Semantics(3) Locator除了可代理LOB值外,還可代理:ARRAY值及UDT值。(4)增設(shè)了savepoint機制:ROLLBACK TO SAVEPOINT; /撤銷一個“子事務(wù)”操作RELEASE SAVEPOINT; /提交一個“子
16、事務(wù)”操作PART I 關(guān)系特性 Relational Features 新數(shù)據(jù)類型 New Data Types新謂詞 New Predicates新語義 New Semantics 增強的安全機制 Enhanced Security主動數(shù)據(jù)庫 Active DatabasePART I 關(guān)系特性 Relational Features增強的安全機制 增加了角色(role)機制(RDBMS產(chǎn)品中已廣泛實現(xiàn)):見角色機制課件PrivilegesAuthorization_IDsRolesRolesPART I 關(guān)系特性 Relational Features 新數(shù)據(jù)類型 New Data Ty
17、pes新謂詞 New Predicates新語義 New Semantics 增強的安全機制 Enhanced Security主動數(shù)據(jù)庫 Active DatabasePART I 關(guān)系特性 Relational Features主動數(shù)據(jù)庫增加了觸發(fā)器(trigger)機制(RDBMS產(chǎn)品中已廣泛實現(xiàn)),是ECA rules。用于:記日志(logging)維護完整性約束(Integrity Constraints)實現(xiàn)更為復(fù)雜的業(yè)務(wù)規(guī)則(Bussiness Rules)見主動數(shù)據(jù)庫課件PART II 面向?qū)ο筇匦?Object Orientation可調(diào)用例程 結(jié)構(gòu)化用戶定義類型 Struc
18、tured User-Defined Types (UTDs) 函數(shù)與方法的異同 Functions vs Methods 函數(shù)符號與點符號 Functional and Dot Notations完全的對象特性O(shè)bjectsPART II 面向?qū)ο筇匦?Object Orientation可調(diào)用例程一些O-O特性已在1996年發(fā)布的SQL持久存儲模塊(SQL/PSM)中提供,e.g. SQL語句中可調(diào)用函數(shù)或過程: SQL-invoked functionsSQL-invoked procedures這次新增了方法調(diào)用:SQL-invoked methods函數(shù)、過程與方法通稱為可調(diào)用例程:
19、SQL-invoked routinesPART II 面向?qū)ο筇匦?Object Orientation可調(diào)用例程 結(jié)構(gòu)化用戶定義類型 Structured User-Defined Types (UTDs) 函數(shù)與方法的異同 Functions vs Methods 函數(shù)符號與點符號 Functional and Dot Notations完全的對象特性O(shè)bjectsPART II 面向?qū)ο筇匦?Object Orientation結(jié)構(gòu)化用戶定義類型 UTDUser_Defined Types (UDTs)DISTINCT: based on SQLs built-in typesStru
20、ctured UDTs: based on any SQL types, including SQLs built-in types and Structured UDTs例子: CREATE TYPE emp_type UNDER person_type AS (EMP_ID INTEGER, SALARY REAL) INSTANTIABLE NOT FINAL REF (EMP_ID) INSTANCE METHODGIVE_RAISE (ABS_OR_PCT BOOLEAN, AMOUNT REAL) RETURNS REAL PART II 面向?qū)ο筇匦?Object Orienta
21、tion結(jié)構(gòu)化用戶定義類型 UTDCharacteristics of Structured UDTs:have 1n attributes, each of which can be any SQL type (built-in types like INTEGER, collection types like ARRAY, or other structured UDTs nested as deeply as desired)Their behaviors are provided through methods, functions, and proceduresTheir attri
22、butes are encapsulated through the use of system-generated observer & mutator functions (“get”, “set”), which cannot be overloaded; other functions & methods can be overloadedComparisons of their values are done only through user-defined functions (UDFs)PART II 面向?qū)ο筇匦?Object Orientation結(jié)構(gòu)化用戶定義類型 UTD
23、Characteristics of Structured UDTs:They may participate in “type hierarchies”:注:SQL:1999的類型層次是單繼承的(single inheritance),而不是多繼承的(multiple inheritance)SQL:1999的類型定義器可指定類型是否可實例化(instantiable),即:類型的值可被創(chuàng)建SQL:1999結(jié)構(gòu)類型的值可出現(xiàn)的地方(如一個基表的列中)可出現(xiàn)其子類型的值(稱可替代性Substitutability)SQL:1999不支持類型封裝級別程度(encapsulation level/
24、degree),而一些OOPL(如C+)則允許:PUBLIC、 PRIVATE、PROTECTEDsupertypesubtypesPART II 面向?qū)ο筇匦?Object Orientation可調(diào)用例程 結(jié)構(gòu)化用戶定義類型 Structured User-Defined Types (UTDs) 函數(shù)與方法的異同 Functions vs Methods 函數(shù)符號與點符號 Functional and Dot Notations完全的對象特性O(shè)bjectsPART II 面向?qū)ο筇匦?Object Orientation函數(shù)與方法的異同不同之處:(簡言之:一個M是一個帶有某些限制和增強的
25、F)M被緊密綁定到一個單一UDT;F不是這樣。M所綁定的UDT(變元類型)是一個對此M特異的(如,可識別或區(qū)分的)數(shù)據(jù)類型;F的任何變元均是非特異的。F可以是多態(tài)的,但一個具體(i.e., 特定)的F是在編譯時就被選定的;M也可以是多態(tài)的,但其特異變元的大多數(shù)具體類型可在運行時確定,并允許推遲到執(zhí)行時才選定具體的調(diào)用方法(當(dāng)然,其他變元是基于其申明的類型在編譯時消解的)M必須存儲于綁定它的結(jié)構(gòu)化類型定義所存儲的模式中;F則并不限定模式 PART II 面向?qū)ο筇匦?Object Orientation函數(shù)與方法的異同相同之處:F & M均既可用SQL/PSM的計算完備(computationa
26、lly-complete)語句來定義,又可用傳統(tǒng)的編程語言(如:JAVA)來定義。 PART II 面向?qū)ο筇匦?Object Orientation可調(diào)用例程 結(jié)構(gòu)化用戶定義類型 Structured User-Defined Types (UTDs) 函數(shù)與方法的異同 Functions vs Methods 函數(shù)符號與點符號 Functional and Dot Notations完全的對象特性O(shè)bjectsPART II 面向?qū)ο筇匦?Object Orientation函數(shù)符號與點符號UDT的屬性值的訪問可使用兩種運算符號實現(xiàn):函數(shù)和點。它們是語法上等價的變種。 大多數(shù)情況下“點符號”更自然。e.g., WHERE emp.salary 10000少數(shù)情況下“函數(shù)符號”更自然。e.g., WHERE salary(emp) 10000 /設(shè)salary是定義在emp所屬類型上的函數(shù)在此場合,Methods稍欠靈活僅“點符號”可用于方法調(diào)用至少
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 無人機操控與航拍技術(shù)考核試卷
- 圖書館數(shù)字資源長期保存策略考核試卷
- 家電產(chǎn)品品質(zhì)監(jiān)控與質(zhì)量改進考核試卷
- 整年運輸合同范本
- 大板委托加工合同范本
- 修剪綠化直營合同范本
- 工地個人水電合同范本
- 小學(xué)生美術(shù)課件制作教學(xué)
- 名片合同范本
- 財務(wù)支出季度計劃工作的分解與執(zhí)行要點
- 2025年黑龍江農(nóng)業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫及答案1套
- 某工程通風(fēng)空調(diào)工程施工方案
- 遼寧省五校聯(lián)考2024-2025學(xué)年高二上學(xué)期期末英語試卷(解析版)
- 實訓(xùn)美容手術(shù)操作基本技術(shù)美容外科學(xué)概論講解
- 北京市北京第一零一中學(xué)2024-2025學(xué)年高三上學(xué)期統(tǒng)考三英語試題
- 2025年湖南食品藥品職業(yè)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2025年上半年北京市事業(yè)單位招聘易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年泰山職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點試題含答案解析
- 《大學(xué)生安全教育》(統(tǒng)編版)課件 第二章 人身安全
- 近岸海上柔性光伏支架結(jié)構(gòu)研究
- 2025年廣西投資集團有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論