版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、對(duì)象-關(guān)系數(shù)據(jù)庫及其語言,2008.09,目錄,對(duì)象-關(guān)系數(shù)據(jù)庫的興起關(guān)系數(shù)據(jù)庫的弱點(diǎn)對(duì)象-關(guān)系數(shù)據(jù)庫的興起對(duì)象-關(guān)系數(shù)據(jù)模型及SQL:1999背景標(biāo)準(zhǔn)發(fā)展過程SQL:1999內(nèi)容,1.1 關(guān)系數(shù)據(jù)庫的弱點(diǎn)(1),自20世紀(jì)80年代以來,關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)一直是數(shù)據(jù)庫管理系統(tǒng)(DBMS)的主流,其在數(shù)據(jù)庫產(chǎn)品市場(chǎng)中一直占據(jù)統(tǒng)治地位。RDBMS的優(yōu)越性主要體現(xiàn)在:關(guān)系數(shù)據(jù)模型(relational data m
2、odel)對(duì)傳統(tǒng)的結(jié)構(gòu)化數(shù)據(jù)(structured data)提供了簡(jiǎn)單、有效的建模(modeling)與表示(representation)機(jī)制;SQL語言以說明性(declarative)的聯(lián)想式訪問(associative access)方式提供了簡(jiǎn)便和國際標(biāo)準(zhǔn)的數(shù)據(jù)查詢與操縱機(jī)制;RDBMS提供了完備、高效的服務(wù)設(shè)施,包括索引和存儲(chǔ)(indexing & storage)、查詢優(yōu)化(query optimizatio
3、n)、事務(wù)管理(transaction management)、安全(security)、完整性(integrity)、觸發(fā)子(triggers)等;RDBMS產(chǎn)品具有廣泛的工業(yè)基礎(chǔ)和完善廠商支持。,1.1 關(guān)系數(shù)據(jù)庫的弱點(diǎn)(2),但是,隨著數(shù)據(jù)管理技術(shù)應(yīng)用的拓寬與深入,關(guān)系數(shù)據(jù)庫也逐步暴露其弱點(diǎn),主要表現(xiàn)在:有限的數(shù)據(jù)類型和刻板的數(shù)據(jù)結(jié)構(gòu);缺少不依賴于屬性值的、全系統(tǒng)唯一標(biāo)識(shí)符(類似于OID);不支持用戶自定義的或系統(tǒng)可擴(kuò)充的
4、函數(shù)或運(yùn)算。以上弱點(diǎn)的根源在于關(guān)系數(shù)據(jù)模型(relational data model)。,1.2 對(duì)象-關(guān)系數(shù)據(jù)庫的興起,為克服關(guān)系數(shù)據(jù)庫(源于關(guān)系數(shù)據(jù)模型)的弱點(diǎn),20世紀(jì)80年代開始,研究界就對(duì)關(guān)系數(shù)據(jù)庫后的下一代數(shù)據(jù)庫問題進(jìn)行探討,研究重點(diǎn)集中在數(shù)據(jù)模型上。有代表性的數(shù)據(jù)模型有:非第一范式(non-first normal form, NF2)關(guān)系數(shù)據(jù)模型語義(semantic)數(shù)據(jù)模型面向?qū)ο螅╫bject-orie
5、nted, OO)數(shù)據(jù)模型對(duì)象-關(guān)系(object-relational, OR)數(shù)據(jù)模型,1.2 對(duì)象-關(guān)系數(shù)據(jù)庫的興起,面向?qū)ο蠛蛯?duì)象-關(guān)系數(shù)據(jù)模型對(duì)數(shù)據(jù)庫工業(yè)的影響最大。(新興的)廠商推出了對(duì)象數(shù)據(jù)庫管理系統(tǒng)(ODBMS)產(chǎn)品,但由于諸多原因(見教材),其并未成為替代RDBMS的主流產(chǎn)品(mainstream products);主要大廠商(e.g., Oracle, IBM, Microsoft)著眼于對(duì)傳統(tǒng)的關(guān)系數(shù)據(jù)庫進(jìn)行
6、面向?qū)ο髷U(kuò)充,推出了對(duì)象-關(guān)系數(shù)據(jù)庫管理系統(tǒng)(ORDBMS)產(chǎn)品,成為支配當(dāng)前數(shù)據(jù)庫市場(chǎng)的主流產(chǎn)品。工業(yè)和標(biāo)準(zhǔn)化組織(e.g., ISO&ANSI)已制定ORDBMS數(shù)據(jù)模型及其數(shù)據(jù)庫語言(SQL3/SQL:1999)的國際標(biāo)準(zhǔn)。,2. 對(duì)象-關(guān)系數(shù)據(jù)模型及SQL:1999,2.1 背景 BackgroundSQL:1999 (formerly known as SQL3, also called Object-Orient
7、ed SQL) is a database language for Object-Relational DBMS, e.g., Oracle 8i/9i, Informix Universal Server, IBM’s DB2 Universal Database, and Cloudscape’s Cloudscape, etc.,2. 對(duì)象-關(guān)系數(shù)據(jù)模型及SQL:1999,2.2 標(biāo)準(zhǔn)發(fā)展過程 Standards Develop
8、ment 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)
9、 Next steps?,2.3 SQL:1999內(nèi)容,Here is not a complete feature set of SQL:1999, just new features to SQL2.劃分成“關(guān)系特性”與“面向?qū)ο筇匦浴眱刹糠帧?PART I 關(guān)系特性 Relational Features,新數(shù)據(jù)類型 New Data Types新謂詞 New Predicates新語義 New Semantics 增強(qiáng)
10、的安全機(jī)制 Enhanced Security主動(dòng)數(shù)據(jù)庫 Active Database,PART I 關(guān)系特性 Relational Features,新數(shù)據(jù)類型 New Data Types4 new data types or related facilities. (other: UDTs ? O-O features) (1)大對(duì)象 LARGE OBJECT (LOB)不允許用作PK or UNIQUE, FK;不允
11、許進(jìn)行除=﹑外的比較運(yùn)算;不允許用于Group By or Order By 子句中;客戶端類型LOB locator (二進(jìn)制唯一值),作為DB中LOB值的替身,避免大量Clients端 - DB Server端的傳輸代價(jià),可用于如SUBSTRING等操作:,PART I 關(guān)系特性 Relational Features,新數(shù)據(jù)類型 New Data Types(2)布爾BOOLEANallows SQL to directl
12、y record truth values: true, false, and unknown;allows SQL to express complex combinations of predicates, e.g.:WHERE COL1 > COL2 AND COL3 = COL4 OR UNIQUE (COL6) IS NOT FALSE,PART I 關(guān)系特性 Relational Feature
13、s,新數(shù)據(jù)類型 New Data Types(3)數(shù)組與行ARRAY & ROWARRAY & ROW are composite types, WEEKDAYS VARCHAR (10) ARRAY [7] CREATE TABLE employee (EMP_ID INTEGER,NAME ROW( GIVEN VARCHAR (30),
14、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
15、Features,新數(shù)據(jù)類型 New Data Types(3)數(shù)組與行ARRAY & ROWQUESTION: they violate the First Normal Form (1NF) condition?可認(rèn)為不是,≠”decomposable” data types.,PART I 關(guān)系特性 Relational Features,新數(shù)據(jù)類型 New Data Types(4) DISTINCT type
16、s, a data type-related facility 不同類型的屬性(值)不能在表達(dá)式中運(yùn)算,除非用函數(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 A
17、S 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 增強(qiáng)的安全機(jī)制 Enhanced Security
18、主動(dòng)數(shù)據(jù)庫 Active Database,PART I 關(guān)系特性 Relational Features,新謂詞 New Predicates3 new predicates. (1 predicate 見O-O features). (1) SIMILAR TO先前SQL標(biāo)準(zhǔn)僅提供字符串的:簡(jiǎn)單比較,e.g. =﹑>﹑or 基本的模式匹配:LIKE 如:WHERE NAME LIKE ‘%SMIT_’新SQL標(biāo)準(zhǔn)
19、提供: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有點(diǎn)像原來的UNIQUE謂詞,但有較大的區(qū)別:兩個(gè)NULL值滿足UNIQUE,
20、但不滿足DISTINCT。,PART I 關(guān)系特性 Relational Features,新數(shù)據(jù)類型 New Data Types新謂詞 New Predicates新語義 New Semantics 增強(qiáng)的安全機(jī)制 Enhanced Security主動(dòng)數(shù)據(jù)庫 Active Database,PART I 關(guān)系特性 Relational Features,新語義 New Semantics(1)擴(kuò)大了可更新視圖(updat
21、able view)的范圍(取決于函數(shù)依賴) (2)提供了遞歸查詢(recursive query) 方法: Step 1) 寫出查詢表達(dá)式,并賦予一個(gè)名稱;Step 2) 在另一查詢表達(dá)式中調(diào)用這個(gè)查詢名稱 如:WHERE RECURSIVE Q1 AS SELECT … FROM … WHERE …, Q2 AS SELECT … FROM … WHERE …
22、 SELECT … FROM Q1, Q2 WHERE …,PART I 關(guān)系特性 Relational Features,新語義 New Semantics(3) Locator除了可代理LOB值外,還可代理:ARRAY值及UDT值。(4)增設(shè)了savepoint機(jī)制:ROLLBACK TO SAVEPOINT; //撤銷一個(gè)“子事務(wù)”操作RELEASE SAVEPOINT; //
23、提交一個(gè)“子事務(wù)”操作,PART I 關(guān)系特性 Relational Features,新數(shù)據(jù)類型 New Data Types新謂詞 New Predicates新語義 New Semantics 增強(qiáng)的安全機(jī)制 Enhanced Security主動(dòng)數(shù)據(jù)庫 Active Database,PART I 關(guān)系特性 Relational Features,增強(qiáng)的安全機(jī)制 增加了角色(role)機(jī)制(RDBMS產(chǎn)品中已廣泛實(shí)現(xiàn))
24、:見角色機(jī)制課件,PART I 關(guān)系特性 Relational Features,新數(shù)據(jù)類型 New Data Types新謂詞 New Predicates新語義 New Semantics 增強(qiáng)的安全機(jī)制 Enhanced Security主動(dòng)數(shù)據(jù)庫 Active Database,PART I 關(guān)系特性 Relational Features,主動(dòng)數(shù)據(jù)庫增加了觸發(fā)器(trigger)機(jī)制(RDBMS產(chǎn)品中已廣泛實(shí)現(xiàn)),
25、是ECA rules。用于:記日志(logging)維護(hù)完整性約束(Integrity Constraints)實(shí)現(xiàn)更為復(fù)雜的業(yè)務(wù)規(guī)則(Bussiness Rules)見主動(dòng)數(shù)據(jù)庫課件,PART II 面向?qū)ο筇匦?Object Orientation,可調(diào)用例程 結(jié)構(gòu)化用戶定義類型 Structured User-Defined Types (UTDs) 函數(shù)與方法的異同 Functions vs Methods 函數(shù)
26、符號(hào)與點(diǎn)符號(hào) Functional and Dot Notations完全的對(duì)象特性O(shè)bjects,PART II 面向?qū)ο筇匦?Object Orientation,可調(diào)用例程一些O-O特性已在1996年發(fā)布的SQL持久存儲(chǔ)模塊(SQL/PSM)中提供,e.g. SQL語句中可調(diào)用函數(shù)或過程: SQL-invoked functionsSQL-invoked procedures這次新增了方法調(diào)用:SQL-invoked m
27、ethods函數(shù)、過程與方法通稱為可調(diào)用例程:SQL-invoked routines,PART II 面向?qū)ο筇匦?Object Orientation,可調(diào)用例程 結(jié)構(gòu)化用戶定義類型 Structured User-Defined Types (UTDs) 函數(shù)與方法的異同 Functions vs Methods 函數(shù)符號(hào)與點(diǎn)符號(hào) Functional and Dot Notations完全的對(duì)象特性O(shè)bjects,PA
28、RT II 面向?qū)ο筇匦?Object Orientation,結(jié)構(gòu)化用戶定義類型 UTDUser_Defined Types (UDTs)DISTINCT: based on SQL’s built-in typesStructured UDTs: based on any SQL types, including SQL’s built-in types and Structured UDTs例子: CREATE TYPE
29、emp_type UNDER person_type AS (EMP_ID INTEGER, SALARY REAL) INSTANTIABLE NOT FINAL REF (EMP_ID) INSTANCE METHODGIVE_RAISE
30、 (ABS_OR_PCT BOOLEAN, AMOUNT REAL) RETURNS REAL,PART II 面向?qū)ο筇匦?Object Orientation,結(jié)構(gòu)化用戶定義類型 UTDCharacteristics of Structured UDTs:have 1~n attributes, each of whi
31、ch 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 attr
32、ibutes 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 don
33、e only through user-defined functions (UDFs),PART II 面向?qū)ο筇匦?Object Orientation,結(jié)構(gòu)化用戶定義類型 UTDCharacteristics of Structured UDTs:They may participate in “type hierarchies”:[注]:SQL:1999的類型層次是單繼承的(single inheritance),而不是
34、多繼承的(multiple inheritance)SQL:1999的類型定義器可指定類型是否可實(shí)例化(instantiable),即:類型的值可被創(chuàng)建SQL:1999結(jié)構(gòu)類型的值可出現(xiàn)的地方(如一個(gè)基表的列中)可出現(xiàn)其子類型的值(稱可替代性Substitutability)SQL:1999不支持類型封裝級(jí)別程度(encapsulation level/degree),而一些OOPL(如C++)則允許:PUBLIC、 PRIVAT
35、E、PROTECTED,PART II 面向?qū)ο筇匦?Object Orientation,可調(diào)用例程 結(jié)構(gòu)化用戶定義類型 Structured User-Defined Types (UTDs) 函數(shù)與方法的異同 Functions vs Methods 函數(shù)符號(hào)與點(diǎn)符號(hào) Functional and Dot Notations完全的對(duì)象特性O(shè)bjects,PART II 面向?qū)ο筇匦?Object Orientation,函
36、數(shù)與方法的異同不同之處:(簡(jiǎn)言之:一個(gè)M是一個(gè)帶有某些限制和增強(qiáng)的F)M被緊密綁定到一個(gè)單一UDT;F不是這樣。M所綁定的UDT(變?cè)愋停┦且粋€(gè)對(duì)此M特異的(如,可識(shí)別或區(qū)分的)數(shù)據(jù)類型;F的任何變?cè)欠翘禺惖?。F可以是多態(tài)的,但一個(gè)具體(i.e., 特定)的F是在編譯時(shí)就被選定的;M也可以是多態(tài)的,但其「特異變?cè)沟拇蠖鄶?shù)具體類型可在運(yùn)行時(shí)確定,并允許推遲到執(zhí)行時(shí)才選定具體的調(diào)用方法(當(dāng)然,其他變?cè)腔谄渖昝鞯念愋驮诰幾g
37、時(shí)消解的)M必須存儲(chǔ)于綁定它的結(jié)構(gòu)化類型定義所存儲(chǔ)的模式中;F則并不限定模式,PART II 面向?qū)ο筇匦?Object Orientation,函數(shù)與方法的異同相同之處:F & M均既可用SQL/PSM的計(jì)算完備(computationally-complete)語句來定義,又可用傳統(tǒng)的編程語言(如:JAVA)來定義。,PART II 面向?qū)ο筇匦?Object Orientation,可調(diào)用例程 結(jié)構(gòu)化用戶定義類型
38、Structured User-Defined Types (UTDs) 函數(shù)與方法的異同 Functions vs Methods 函數(shù)符號(hào)與點(diǎn)符號(hào) Functional and Dot Notations完全的對(duì)象特性O(shè)bjects,PART II 面向?qū)ο筇匦?Object Orientation,函數(shù)符號(hào)與點(diǎn)符號(hào)UDT的屬性值的訪問可使用兩種運(yùn)算符號(hào)實(shí)現(xiàn):函數(shù)和點(diǎn)。它們是語法上等價(jià)的變種。 大多數(shù)情況下“點(diǎn)符號(hào)”更自然
39、。e.g., WHERE emp.salary > 10000少數(shù)情況下“函數(shù)符號(hào)”更自然。e.g., WHERE salary(emp) > 10000 //設(shè)salary是定義在emp所屬類型上的函數(shù)在此場(chǎng)合,Methods稍欠靈活——僅“點(diǎn)符號(hào)”可用于方法調(diào)用——至少為指定其一個(gè)特異變?cè)ㄖ担r(shí)。如: 若salary是其綁定類型為employee的方法,且: emp: emplo
40、yee //其中emp為列,employee為類型 則方法salary可這樣調(diào)用:emp.salary 當(dāng)然,employee中定義的方法give_raise可這樣調(diào)用(“點(diǎn)符號(hào)”與“函數(shù)符號(hào)”相結(jié)合):emp.give_raise(amount),PART II 面向?qū)ο筇匦?Object Orientation,可調(diào)用例程 結(jié)構(gòu)化用戶定義類型 Structured User-Defined Types (UTDs
41、) 函數(shù)與方法的異同 Functions vs Methods 函數(shù)符號(hào)與點(diǎn)符號(hào) Functional and Dot Notations完全的對(duì)象特性 Objects,PART II 面向?qū)ο筇匦?Object Orientation,完全的對(duì)象特性Typed table:Object, it’s full features are embodied via typed tables, each RowID in a typ
42、ed table behaves as an OID of an objectREF type:It’s value refers to an RowID in a typed table, or is NULL (means “dangling reference”)All REF types are “scoped”, 使得編譯時(shí)被引用的表是可確定的Access attributes of a structured type
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 對(duì)象—關(guān)系數(shù)據(jù)庫語言及其實(shí)現(xiàn)機(jī)制.pdf
- 關(guān)系數(shù)據(jù)庫的對(duì)象化工具.pdf
- 關(guān)系數(shù)據(jù)庫對(duì)象級(jí)別檢索算法研究.pdf
- 對(duì)象關(guān)系數(shù)據(jù)庫的數(shù)據(jù)操縱及查詢優(yōu)化.pdf
- 關(guān)系數(shù)據(jù)庫對(duì)象級(jí)別數(shù)據(jù)模型構(gòu)建.pdf
- 基于關(guān)系數(shù)據(jù)庫的對(duì)象持久化研究.pdf
- 基于關(guān)系數(shù)據(jù)庫理論的面向?qū)ο髷?shù)據(jù)庫系統(tǒng)應(yīng)用研究
- 對(duì)象關(guān)系數(shù)據(jù)庫研究及其在試飛管理中的應(yīng)用.pdf
- 數(shù)據(jù)庫外文翻譯---關(guān)系數(shù)據(jù)庫的結(jié)構(gòu)
- 對(duì)象-關(guān)系數(shù)據(jù)庫繼承理論及復(fù)雜對(duì)象實(shí)現(xiàn)的研究.pdf
- 基于關(guān)系數(shù)據(jù)庫和面向?qū)ο髷?shù)據(jù)庫的設(shè)計(jì)及應(yīng)用研究.pdf
- 基于關(guān)系數(shù)據(jù)庫理論的面向?qū)ο髷?shù)據(jù)庫系統(tǒng)應(yīng)用研究.pdf
- 基于對(duì)象關(guān)系數(shù)據(jù)庫的WebGIS應(yīng)用研究.pdf
- WML,XML語言和關(guān)系數(shù)據(jù)庫的轉(zhuǎn)換.pdf
- 基于對(duì)象關(guān)系數(shù)據(jù)庫的時(shí)態(tài)XML數(shù)據(jù)管理研究.pdf
- 對(duì)象與關(guān)系數(shù)據(jù)庫映射技術(shù)及其在航空貨運(yùn)系統(tǒng)的應(yīng)用.pdf
- 關(guān)系數(shù)據(jù)庫加密及其應(yīng)用研究.pdf
- 粗關(guān)系數(shù)據(jù)庫查詢模型及其應(yīng)用.pdf
- UML類圖實(shí)現(xiàn)至對(duì)象關(guān)系數(shù)據(jù)庫之研究.pdf
- 對(duì)象與關(guān)系數(shù)據(jù)庫相互映射的C++實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論