对象关系数据库及其语言

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

对象-关系数据库及其语言2008.09目录对象-关系数据库的兴起关系数据库的弱点对象-关系数据库的兴起对象-关系数据模型及SQL:1999背景标准发展过程SQL:1999内容1.1关系数据库的弱点(1)自20世纪80年代以来,关系数据库管理系统(RDBMS)一直是数据库管理系统(DBMS)的主流,其在数据库产品市场中一直占据统治地位。RDBMS的优越性主要体现在:关系数据模型(relationaldatamodel)对传统的结构化数据(structureddata)提供了简单、有效的建模(modeling)与表示(representation)机制;SQL语言以说明性(declarative)的联想式访问(associativeaccess)方式提供了简便和国际标准的数据查询与操纵机制;RDBMS提供了完备、高效的服务设施,包括索引和存储(indexing&storage)、查询优化(queryoptimization)、事务管理(transactionmanagement)、安全(security)、完整性(integrity)、触发子(triggers)等;RDBMS产品具有广泛的工业基础和完善厂商支持。1.1关系数据库的弱点(2)但是,随着数据管理技术应用的拓宽与深入,关系数据库也逐步暴露其弱点,主要表现在:有限的数据类型和刻板的数据结构;缺少不依赖于属性值的、全系统唯一标识符(类似于OID);不支持用户自定义的或系统可扩充的函数或运算。以上弱点的根源在于关系数据模型(relationaldatamodel)。1.2对象-关系数据库的兴起为克服关系数据库(源于关系数据模型)的弱点,20世纪80年代开始,研究界就对关系数据库后的下一代数据库问题进行探讨,研究重点集中在数据模型上。有代表性的数据模型有:非第一范式(non-firstnormalform,NF2)关系数据模型语义(semantic)数据模型面向对象(object-oriented,OO)数据模型对象-关系(object-relational,OR)数据模型1.2对象-关系数据库的兴起面向对象和对象-关系数据模型对数据库工业的影响最大。(新兴的)厂商推出了对象数据库管理系统(ODBMS)产品,但由于诸多原因(见教材),其并未成为替代RDBMS的主流产品(mainstreamproducts);主要大厂商(e.g.,Oracle,IBM,Microsoft)着眼于对传统的关系数据库进行面向对象扩充,推出了对象-关系数据库管理系统(ORDBMS)产品,成为支配当前数据库市场的主流产品。工业和标准化组织(e.g.,ISO&ANSI)已制定ORDBMS数据模型及其数据库语言(SQL3/SQL:1999)的国际标准。2.对象-关系数据模型及SQL:19992.1背景BackgroundSQL:1999(formerlyknownasSQL3,alsocalledObject-OrientedSQL)isadatabaselanguageforObject-RelationalDBMS,e.g.,Oracle8i/9i,InformixUniversalServer,IBM’sDB2UniversalDatabase,andCloudscape’sCloudscape,etc.2.对象-关系数据模型及SQL:19992.2标准发展过程StandardsDevelopmentProcessSQL法定标准化组织美国:ANSI/NCITSH2(以前X3H2);国际:ISO/IECJTC1SQL标准发展过程(SQL1):SQL-86/SQL-87SQL-89(minorenhancement)(byANSI/X3H2,USA)SQL2:SQL-92(byISO&ANSI)(SQL3):SQL:1999(byISO&ANSI)Nextsteps?2.3SQL:1999内容HereisnotacompletefeaturesetofSQL:1999,justnewfeaturestoSQL2.划分成“关系特性”与“面向对象特性”两部分。PARTI关系特性RelationalFeatures新数据类型NewDataTypes新谓词NewPredicates新语义NewSemantics增强的安全机制EnhancedSecurity主动数据库ActiveDatabasePARTI关系特性RelationalFeatures新数据类型NewDataTypes4newdatatypesorrelatedfacilities.(other:UDTsO-Ofeatures)(1)大对象LARGEOBJECT(LOB)不允许用作PKorUNIQUE,FK;不允许进行除=﹑外的比较运算;不允许用于GroupByorOrderBy子句中;客户端类型LOBlocator(二进制唯一值),作为DB中LOB值的替身,避免大量Clients端-DBServer端的传输代价,可用于如SUBSTRING等操作:◆LOBValue◆LOBLocatorDBServerClientsPARTI关系特性RelationalFeatures新数据类型NewDataTypes(2)布尔BOOLEANallowsSQLtodirectlyrecordtruthvalues:true,false,andunknown;allowsSQLtoexpresscomplexcombinationsofpredicates,e.g.:WHERECOL1COL2ANDCOL3=COL4ORUNIQUE(COL6)ISNOTFALSEPARTI关系特性RelationalFeatures新数据类型NewDataTypes(3)数组与行ARRAY&ROWARRAY&ROWarecompositetypes,WEEKDAYSVARCHAR(10)ARRAY[7]CREATETABLEemployee(EMP_IDINTEGER,NAMEROW(GIVENVARCHAR(30),FAMILYVARCHAR(30)),ADDRESSROW(STREETVARCHAR(50),CITYVARCHAR(30),STATECHAR(2)),SALARYREAL)SELECTE.NAME.FAMILYWHEREemployeeEPARTI关系特性RelationalFeatures新数据类型NewDataTypes(3)数组与行ARRAY&ROWQUESTION:theyviolatetheFirstNormalForm(1NF)condition?可认为不是,≠”decomposable”datatypes.PARTI关系特性RelationalFeatures新数据类型NewDataTypes(4)DISTINCTtypes,adatatype-relatedfacility不同类型的属性(值)不能在表达式中运算,除非用函数CAST()明确转换。不允许WHEREMY_SHOE_SIZEMY_IQSETMY_IQ=MY_IQ*2允许WHEREMY_SHOE_SIZECAST(MY_IQASSHOE_SIZE)SETMY_IQ=MY_IQ*CAST(2ASIQ)PARTI关系特性RelationalFeatures新数据类型NewDataTypes(5)User_definedtypes(UDTs):见O-OfeaturesPARTI关系特性RelationalFeatures新数据类型NewDataTypes新谓词NewPredicates新语义NewSemantics增强的安全机制EnhancedSecurity主动数据库ActiveDatabasePARTI关系特性RelationalFeatures新谓词NewPredicates3newpredicates.(1predicate见O-Ofeatures).(1)SIMILARTO先前SQL标准仅提供字符串的:简单比较,e.g.=﹑﹑or基本的模式匹配:LIKE如:WHERENAMELIKE‘%SMIT_’新SQL标准提供:UNIX风格的正则表达式模式匹配:SIMILARTO如:WHERENAMESIMILARTO‘(SQL-(86|89|92|99))|(SQL(1|2|3))’PARTI关系特性RelationalFeatures新谓词NewPredicates3newpredicates.(2)DISTINCT有点像原来的UNIQUE谓词,但有较大的区别:两个NULL值满足UNIQUE,但不满足DISTINCT。PARTI关系特性RelationalFeatures新数据类型NewDataTypes新谓词NewPredicates新语义NewSemantics增强的安全机制EnhancedSecurity主动数据库ActiveDatabasePARTI关系特性RelationalFeatures新语义NewSemantics(1)扩大了可更新视图(updatableview)的范围(取决于函数依赖)(2)提供了递归查询(recursivequery)方法:Step1)写出查询表达式,并赋予一个名称;Step2)在另一查询表达式中调用这个查询名称如:WHERERECURSIVEQ1ASSELECT…FROM…WHERE…,Q2ASSELECT…FROM…WHERE…SELECT…FROMQ1,Q2WHERE…PARTI关系特性RelationalFeatures新语义NewSemantics(3)Locator除了可代理LOB值外,还可代理:ARRAY值及UDT值。(4)增设了savepoint机制:ROLLBACKTOSAVEPOINT;//撤销一个“子事务”操作RELEASESAVEPOINT;//提交一个“子事务”操作PARTI关系特性RelationalFeatures新数据类型NewDataTypes新谓词NewPredicates新语义NewSemantics增强的安全机制EnhancedSecurity主动数据库ActiveDatabasePARTI关系特性RelationalFeatures增强的安全机制增加了角色(role)机制(RDBMS产品中已广泛实现):见角色机制课件PrivilegesAuthorization_IDsRolesRolesPARTI关系特性RelationalFeatures新数据类型NewDataTypes新谓词NewPredicates新语义NewSemantics增强的安全机制EnhancedSecurity主动数据库ActiveDatabasePARTI关系特性RelationalFeatures主动数据库增加了触发器(trigger)机制(RDBMS产品中已广泛实现),是ECArules。用于:记日志(logging)维护完整性约束(IntegrityConstraints)实现更为复杂的业务规则(BussinessRules)见主动数据库课件PARTII面向对象特性ObjectOrientation可调用例程结构化用户定义类型StructuredUser-DefinedTypes(UTDs)函数与方法的异同FunctionsvsMethods函数符号与点符号FunctionalandDotNotations完全的对象特性ObjectsPARTII面向对象特性ObjectOrientation可调用例程一些O-O特性已在1996年发布的SQL持久存储模块(SQL/PSM)中提供,e.g.SQL语句中可调用函数或过程:SQL-invokedfunc

1 / 40
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功