书签 分享 收藏 举报 版权申诉 / 40
上传文档赚钱

类型对象关系数据库及其语言课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3333826
  • 上传时间:2022-08-20
  • 格式:PPT
  • 页数:40
  • 大小:421KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《对象关系数据库及其语言课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    对象 关系 数据库 及其 语言 课件
    资源描述:

    1、对象-关系数据库及其语言2008.09目录n对象-关系数据库的兴起n关系数据库的弱点n对象-关系数据库的兴起n对象-关系数据模型及SQL:1999n背景n标准发展过程nSQL:1999内容1.1 关系数据库的弱点(关系数据库的弱点(1)n自20世纪80年代以来,关系数据库管理系统(RDBMS)一直是数据库管理系统(DBMS)的主流,其在数据库产品市场中一直占据统治地位。RDBMS的优越性主要体现在:n关系数据模型(relational data model)对传统的结构化数据(structured data)提供了简单、有效的建模(modeling)与表示(representation)机制;

    2、nSQL语言以说明性(declarative)的联想式访问(associative access)方式提供了简便和国际标准的数据查询与操纵机制;nRDBMS提供了完备、高效的服务设施,包括索引和存储(indexing&storage)、查询优化(query optimization)、事务管理(transaction management)、安全(security)、完整性(integrity)、触发子(triggers)等;nRDBMS产品具有广泛的工业基础和完善厂商支持。1.1 关系数据库的弱点(关系数据库的弱点(2)n但是,随着数据管理技术应用的拓宽与深入,关系数据库也逐步暴露其弱点,主

    3、要表现在:n有限的数据类型和刻板的数据结构;n缺少不依赖于属性值的、全系统唯一标识符(类似于OID);n不支持用户自定义的或系统可扩充的函数或运算。n以上弱点的根源在于关系数据模型(relational data model)。1.2 对象对象-关系数据库的兴起关系数据库的兴起n为克服关系数据库(源于关系数据模型)的弱点,20世纪80年代开始,研究界就对关系数据库后的下一代数据库问题进行探讨,研究重点集中在数据模型上。有代表性的数据模型有:n非第一范式(non-first normal form,NF2)关系数据模型n语义(semantic)数据模型n面向对象(object-oriented,

    4、OO)数据模型n对象-关系(object-relational,OR)数据模型 1.2 对象对象-关系数据库的兴起关系数据库的兴起n面向对象和对象-关系数据模型对数据库工业的影响最大。n(新兴的)厂商推出了对象数据库管理系统(ODBMS)产品,但由于诸多原因(见教材),其并未成为替代RDBMS的主流产品(mainstream products);主要大厂商(e.g.,Oracle,IBM,Microsoft)着眼于对传统的关系数据库进行面向对象扩充,推出了对象-关系数据库管理系统(ORDBMS)产品,成为支配当前数据库市场的主流产品。n工业和标准化组织(e.g.,ISO&ANSI)已制定ORD

    5、BMS数据模型及其数据库语言(SQL3/SQL:1999)的国际标准。2.对象-关系数据模型及SQL:1999n2.1 背景背景 BackgroundnSQL: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.对象-关系

    6、数据模型及SQL:19992.2 标准发展过程 Standards Development ProcessnSQL法定标准化组织n美国:ANSI/NCITS H2(以前X3H2);n国际:ISO/IEC JTC 1nSQL标准发展过程n(SQL1):SQL-86/SQL-87 SQL-89(minor enhancement)(by ANSI/X3H2,USA)nSQL2:SQL-92(by ISO&ANSI)n(SQL3):SQL:1999(by ISO&ANSI)n nNext steps?2.3 SQL:1999内容nHere is not a complete feature set

    7、of SQL:1999,just new features to SQL2.n划分成“关系特性”与“面向对象特性”两部分。PART I 关系特性 Relational Features n新数据类型 New Data Typesn新谓词 New Predicatesn新语义 New Semantics n增强的安全机制 Enhanced Securityn主动数据库 Active DatabasePART I 关系特性 Relational Featuresn新数据类型 New Data Typesn4 new data types or related facilities.(other:U

    8、DTs O-O features)n(1)大对象 LARGE OBJECT(LOB)n不允许用作PK or UNIQUE,FK;n不允许进行除=外的比较运算;n不允许用于Group By or Order By 子句中;n客户端类型LOB locator(二进制唯一值),作为DB中LOB值的替身,避免大量Clients端-DB Server端的传输代价,可用于如SUBSTRING等操作:LOB ValueLOB LocatorDB ServerClientsPART I 关系特性 Relational Featuresn新数据类型 New Data Typesn(2)布尔布尔BOOLEANna

    9、llows SQL to directly record truth values:true,false,and unknown;nallows SQL to express complex combinations of predicates,e.g.:WHERE COL1 COL2 AND COL3=COL4 OR UNIQUE(COL6)IS NOT FALSEPART I 关系特性 Relational Featuresn新数据类型 New Data Typesn(3)数组与行数组与行ARRAY&ROWnARRAY&ROW are composite types,n WEEKDAYS

    10、VARCHAR(10)ARRAY 7n n CREATE TABLE employee(EMP_ID INTEGER,NAME ROW(GIVEN VARCHAR(30),FAMILY VARCHAR(30),ADDRESS ROW(STREET VARCHAR(50),CITY VARCHAR(30),STATE CHAR(2),SALARY REAL )n n SELECT E.NAME.FAMILY WHERE employee E PART I 关系特性 Relational Featuresn新数据类型 New Data Typesn(3)数组与行数组与行ARRAY&ROWnQUES

    11、TION:they violate the First Normal Form(1NF)condition?n可认为不是,”decomposable”data types.PART I 关系特性 Relational Featuresn新数据类型 New Data Typesn(4)DISTINCT types,a data type-related facility n不同类型的属性(值)不能在表达式中运算,除非用函数CAST()明确转换。n不允许 WHERE MY_SHOE_SIZE MY_IQSET MY_IQ=MY_IQ*2n允许 WHERE MY_SHOE_SIZE CAST(MY_

    12、IQ AS SHOE_SIZE)SET MY_IQ=MY_IQ*CAST(2 AS IQ)PART I 关系特性 Relational Featuresn新数据类型 New Data Typesn(5)User_defined types(UDTs):见O-O features PART I 关系特性 Relational Features n新数据类型 New Data Typesn新谓词 New Predicatesn新语义 New Semantics n增强的安全机制 Enhanced Securityn主动数据库 Active DatabasePART I 关系特性 Relationa

    13、l Featuresn新谓词 New Predicatesn3 new predicates.(1 predicate 见O-O features).n(1)SIMILAR TOn先前SQL标准仅提供字符串的:n简单比较,e.g.=or n基本的模式匹配:LIKE 如:WHERE NAME LIKE%SMIT_n新SQL标准提供:nUNIX风格的正则表达式模式匹配:SIMILAR TOn如:WHERE NAME SIMILAR TO(SQL-(86|89|92|99)|(SQL(1|2|3)PART I 关系特性 Relational Featuresn新谓词 New Predicatesn3

    14、 new predicates.n(2)DISTINCTn有点像原来的有点像原来的UNIQUE谓词,但有较大的区别:两个谓词,但有较大的区别:两个NULL值满足值满足UNIQUE,但不满足,但不满足DISTINCT。PART I 关系特性 Relational Features n新数据类型 New Data Typesn新谓词 New Predicatesn新语义 New Semantics n增强的安全机制 Enhanced Securityn主动数据库 Active DatabasePART I 关系特性 Relational Featuresn新语义 New Semanticsn(1)

    15、扩大了可更新视图(updatable view)的范围(取决于函数依赖)n(2)提供了递归查询(recursive query)n方法:Step 1)写出查询表达式,并赋予一个名称;Step 2)在另一查询表达式中调用这个查询名称 如:WHERE RECURSIVE Q1 AS SELECT FROM WHERE,Q2 AS SELECT FROM WHERE SELECT FROM Q1,Q2 WHERE PART I 关系特性 Relational Featuresn新语义 New Semanticsn(3)Locator除了可代理LOB值外,还可代理:ARRAY值及UDT值。n(4)增设

    16、了savepoint机制:nROLLBACK TO SAVEPOINT;/撤销一个“子事务”操作nRELEASE SAVEPOINT;/提交一个“子事务”操作PART I 关系特性 Relational Features n新数据类型 New Data Typesn新谓词 New Predicatesn新语义 New Semantics n增强的安全机制 Enhanced Securityn主动数据库 Active DatabasePART I 关系特性 Relational Featuresn增强的安全机制 n增加了角色(role)机制(RDBMS产品中已广泛实现):n见角色机制课件Priv

    17、ilegesAuthorization_IDsRolesRolesPART I 关系特性 Relational Features n新数据类型 New Data Typesn新谓词 New Predicatesn新语义 New Semantics n增强的安全机制 Enhanced Securityn主动数据库 Active DatabasePART I 关系特性 Relational Featuresn主动数据库n增加了触发器(trigger)机制(RDBMS产品中已广泛实现),是ECA rules。用于:n记日志(logging)n维护完整性约束(Integrity Constraints

    18、)n实现更为复杂的业务规则(Bussiness Rules)n见主动数据库课件PART II 面向对象特性 Object Orientationn可调用例程可调用例程 n结构化用户定义类型结构化用户定义类型 Structured User-Defined Types(UTDs)n函数与方法的异同函数与方法的异同 Functions vs Methods n函数符号与点符号函数符号与点符号 Functional and Dot Notationsn完全的对象特性完全的对象特性ObjectsPART II 面向对象特性 Object Orientationn可调用例程可调用例程n一些一些O-O特性

    19、已在特性已在1996年发布的年发布的SQL持久存储模块持久存储模块(SQL/PSM)中提供,)中提供,e.g.SQL语句中可调用函数或语句中可调用函数或过程过程:nSQL-invoked functionsnSQL-invoked proceduresn这次新增了方法调用:这次新增了方法调用:SQL-invoked methodsn函数、过程与方法通称为可调用例程:函数、过程与方法通称为可调用例程:SQL-invoked routinesPART II 面向对象特性 Object Orientationn可调用例程可调用例程 n结构化用户定义类型结构化用户定义类型 Structured Use

    20、r-Defined Types(UTDs)n函数与方法的异同函数与方法的异同 Functions vs Methods n函数符号与点符号函数符号与点符号 Functional and Dot Notationsn完全的对象特性完全的对象特性ObjectsPART II 面向对象特性 Object Orientationn结构化用户定义类型结构化用户定义类型 UTDnUser_Defined Types(UDTs)nDISTINCT:based on SQLs built-in typesnStructured UDTs:based on any SQL types,including SQL

    21、s built-in types and Structured UDTsn例子: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 面向对象特性 Object Orientationn结构化用户定义类型结构化用户定义类型 UTDnCharacteristics of Structured

    22、 UDTs:nhave 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)nTheir behaviors are provided through methods,functions,and proceduresnTheir attributes are encapsulated through the use of system-

    23、generated observer&mutator functions(“get”,“set”),which cannot be overloaded;other functions&methods can be overloadednComparisons of their values are done only through user-defined functions(UDFs)PART II 面向对象特性 Object Orientationn结构化用户定义类型结构化用户定义类型 UTDnCharacteristics of Structured UDTs:nThey may p

    24、articipate in“type hierarchies”:n注注:nSQL:1999的类型层次是单继承的(single inheritance),而不是多继承的(multiple inheritance)nSQL:1999的类型定义器可指定类型是否可实例化(instantiable),即:类型的值可被创建nSQL:1999结构类型的值可出现的地方(如一个基表的列中)可出现其子类型的值(称可替代性Substitutability)nSQL:1999不支持类型封装级别程度(encapsulation level/degree),而一些OOPL(如C+)则允许:PUBLIC、PRIVATE、P

    25、ROTECTEDsupertypesubtypesPART II 面向对象特性 Object Orientationn可调用例程可调用例程 n结构化用户定义类型结构化用户定义类型 Structured User-Defined Types(UTDs)n函数与方法的异同函数与方法的异同 Functions vs Methods n函数符号与点符号函数符号与点符号 Functional and Dot Notationsn完全的对象特性完全的对象特性ObjectsPART II 面向对象特性 Object Orientationn函数与方法的异同函数与方法的异同n不同之处:(简言之:一个不同之处:

    26、(简言之:一个M是一个带有某些限制和增是一个带有某些限制和增强的强的F)nM被紧密绑定到一个单一UDT;F不是这样。nM所绑定的UDT(变元类型)是一个对此M特异的(如,可识别或区分的)数据类型;F的任何变元均是非特异的。nF可以是多态的,但一个具体(i.e.,特定)的F是在编译时就被选定的;M也可以是多态的,但其特异变元的大多数具体类型可在运行时确定,并允许推迟到执行时才选定具体的调用方法(当然,其他变元是基于其申明的类型在编译时消解的)nM必须存储于绑定它的结构化类型定义所存储的模式中;F则并不限定模式 PART II 面向对象特性 Object Orientationn函数与方法的异同函

    27、数与方法的异同n相同之处:相同之处:nF&M均既可用均既可用SQL/PSM的计算完备的计算完备(computationally-complete)语句来定义,又可用)语句来定义,又可用传统的编程语言(如:传统的编程语言(如:JAVA)来定义。)来定义。PART II 面向对象特性 Object Orientationn可调用例程可调用例程 n结构化用户定义类型结构化用户定义类型 Structured User-Defined Types(UTDs)n函数与方法的异同函数与方法的异同 Functions vs Methods n函数符号与点符号函数符号与点符号 Functional and Do

    28、t Notationsn完全的对象特性完全的对象特性ObjectsPART II 面向对象特性 Object Orientationn函数符号与点符号函数符号与点符号nUDT的属性值的访问可使用两种运算符号实现:函数和点。的属性值的访问可使用两种运算符号实现:函数和点。它们是语法上等价的变种。它们是语法上等价的变种。n大多数情况下“点符号”更自然。e.g.,WHERE emp.salary 10000n少数情况下“函数符号”更自然。e.g.,WHERE salary(emp)10000/设salary是定义在emp所属类型上的函数n在此场合,Methods稍欠灵活仅“点符号”可用于方法调用至少

    29、为指定其一个特异变元(值)时。如:若salary是其绑定类型为employee的方法,且:emp:employee /其中emp为列,employee为类型 则方法salary可这样调用:emp.salary 当然,employee中定义的方法give_raise可这样调用(“点符号”与“函数符号”相结合):emp.give_raise(amount)PART II 面向对象特性 Object Orientationn可调用例程可调用例程 n结构化用户定义类型结构化用户定义类型 Structured User-Defined Types(UTDs)n函数与方法的异同函数与方法的异同 Funct

    30、ions vs Methods n函数符号与点符号函数符号与点符号 Functional and Dot Notationsn完全的对象特性完全的对象特性 ObjectsPART II 面向对象特性 Object Orientationn完全的对象特性完全的对象特性nTyped table:nObject,its full features are embodied via typed tables,each RowID in a typed table behaves as an OID of an objectnREF type:nIts value refers to an RowID

    31、in a typed table,or is NULL(means“dangling reference”)nAll REF types are“scoped”,使得编译时被引用的表是可确定的nAccess attributes of a structured type value:n“Following a reference”,e.g.,emp.manager-last_name (i.e.,via a pointer notation(-)对象-关系数据库及其语言n注:详细内容请进一步参阅英文文献:nSQL 1999,Formerly Known as SQL3.(ACM SIGMOD Record,28(1),1999).

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:对象关系数据库及其语言课件.ppt
    链接地址:https://www.163wenku.com/p-3333826.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库