- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
对象-关系数据库1. 背景介绍2. 原理3. 应用实践内容背景介绍传统关系数据库关系数据库第一范式规则:所有的属性都是简单值基于内容存取:只通过属性获取行,行的次序可以交换传统关系数据库的局限不支持复杂数据类型和嵌套复杂属性只能拆分成并列的单一属性如, 姓名,地址(省、市、区、街道、门牌号)传统关系数据库的局限不支持复杂数据类型和嵌套复杂属性只能拆分成并列的单一属性无法表示变长的属性如, 家庭记录有几个孩子家庭编号户主…子女1子女2子女3传统关系数据库的局限不支持复杂数据类型和嵌套复杂属性只能拆分成并列的单一属性无法表示变长的属性无法直接表示嵌套表例:一张发货单,发三种货物:货单号发货人发往地货物…日期货物名称价格数量传统关系数据库的局限不支持复杂数据类型和嵌套复杂属性只能拆分成并列的单一属性无法表示变长的属性无法直接表示嵌套表复杂数据处理需要高级程序设计语言参与C++,Java 难以有效访问数据库传统关系数据库的局限不支持复杂数据类型和嵌套复杂属性只能拆分成并列的单一属性无法表示变长的属性无法直接表示嵌套表复杂数据处理需要高级程序设计语言参与数据库新的应用领域:- 计算机辅助设计与制造( CAD和CAM)- 计算机辅助软件工程( CACS)- 态和空间事务处理、多媒体数据管理等解决方法难实现难实现主流接口属性、方法内部实现(封装)将面向对象语言例如C++持久化新的面向对象数据库系统将面向对象思想方法引入关系数据库基于对象的扩展,即对象关系数据库将复杂类型数据引入到数据管理当中支持原有的数据管理,又能支持OO模型和对象管理SQL3: 1999SQL: 2003原理认识抽象面向对象数据模型(OO模型)现实世界信息世界-概念数据模型转换机器世界-DBMS支持的数据模型OO模型OO模型的核心概念1.对象定义:对象是由一组数据结构和在这组数据结构上的操作的程序代码封装起来的基本单位。组成部分属性(Attribute)集合属性描述对象的状态、组成和特性方法(Method)集合描述了对象的行为特性OO模型的核心概念(续)2. 对象标识OID(Object IDentifier)概念:面向对象数据库中的每个对象都有一个唯一的不变的标识称为对象标识(OID) 特点:永久持久性 独立于值的、系统全局唯一的OO模型的核心概念(续)3. 封装(Encapsulation)每一个对象是其状态与行为的封装 封装是对象的外部界面与内部实现之间实行清晰隔离的一种抽象,外部与对象的通信只能通过消息 对象封装之后查询属性值必须通过调用方法 OO模型的核心概念(续)4. 类(Class)对象类(简称类):共享同样属性和方法集的所有对象构成了一个对象类实例:一个对象是某一类的一个实例(instance)在OODB中,类是“型”,对象是某一类的一个“值” OO模型类比 E-R 模型内容面向对象数据模型关系数据模型基本数据结构类二维表数据标识符OID码静态性质属性属性动态行为方法关系操作抽象数据类型有无封装性有无数据间关系继承、组合主外码联系,数据依赖模式演化能力强弱面向对象数据模型(OO模型)引入复杂数据类型打破1NF限制引入继承的信息重用机制引入引用类型关系模型局限1NF限制重复定义数据冗余和效率低下对象-关系数据库是关系数据库的面向对象扩展本质还是基于关系数据模型扩展之一:复杂数据类型两种复杂数据类型结构类型属性取 “结构” 值即 “元组” 值属性值中各数据项在不同数据类型中取值如,名字{姓,名}集合体类型属性取 “聚集” 值即 “同型” 值:属性值中各数据项在同一数据类型中取值如,关键词{关键词1,关键词2,…} 结构类型和集合体类型实现了关系模型中的嵌套关系结构类型结构类型对应 E-R 图中的复合属性结构类型上可以定义方法(method)方法的声明为结构类型定义的一部分方法的主体单独创建构造器函数(constructor)创建结构类型的值默认不带参数的构造器显示创建其他构造器first-namenamelast-namecustomeraddresszipcodestreetcity例:定义结构类型的属性CustomeTypename:Nameaddress:AddressdateOfBirth:dateageOnDate(date):interval yeardateOfBirthfirst-nameNamelast-namecustomerAddresszipcodestreetcity用户定义type用户定义typedateOfBirth在结构类型可以如下定义——way1:first-nameNamelast-namecustomerAddresszipcodestreetcity用户定义type用户定义type用户定义typedateOfB
您可能关注的文档
最近下载
- 《白鹿原》中的女性形象分析.docx VIP
- 基于Java的汽车租赁系统的设计与实现 .docx VIP
- 中医养生,养生膏方功效.pptx VIP
- B16G101-2:中英文双语版16G101-2.pdf VIP
- 2025年四川省康定市辅警招聘考试题题库(含参考答案).docx VIP
- 呼吸器用复合气瓶定期检验与评定.pptx VIP
- 2025年四川省康定市辅警招聘考试题库及答案.docx VIP
- 什么是定向运动.pptx VIP
- 《食品企业管理(第2版》高职全套教学课件.pptx
- “马-萨模式”视域下“双减”政策执行制约因素及纾解路径——基于东中西部6省30个县(市、区)的调查.pdf VIP
文档评论(0)