版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高级数据库技术课程简介课程设置方式课程基本内容课程目的与教学目标教学方式与基本要求课程教材与参考文献12课程设置方式目前高级数据库课程主要方式:一种大型数据库管理系统例如:ORACLE\SYBASE\DB2等一种的专项数据库技术例如:OODB\DDB\主动数据库\等综述若干数据库新技术本课程方式:专项+综合3第1章数据库系统基础第2章基于时间数据库技术第3章基于知识数据库技术第4章基于网络数据库技术第5章基于协同数据库综合应用第6章深入课题与文献选读课程教学基本内容(0)4第一章数据库系统基础1.1传统(关系)数据库基础1.2面向对象数据库基础1.3对象关系数据库基础课程教学基本内容(1)5第2章基于时间数据库技术2.1时态数据库技术(重点学习)2.2实时数据库技术2.3时空数据库技术(包括空间数据库)课程教学基本内容(2)6第3章基于知识数据库技术3.1知识库技术3.2主动数据库技术3.3决策支持系统3.4智能数据分析与知识发现课程教学基本内容(3)7第4章基于网络数据库技术4.1分布式数据库技术4.2
Web数据库技术4.3移动数据库技术课程教学基本内容(4)8第5章基于协同数据库综合应用5.1协同工作技术基础5.2数据库技术综合应用实例课程教学基本内容(5)9第6章深入课题与文献选读6.1国内外数据库会议与重要刊物6.2深入课题(学术讲座与报告)6.3文献选读(研究论文选题与写作实践)课程教学基本内容(6)10了解现代数据库主要技术领域
通过某种数据库专项技术了解数据库高级技术设计与实现的基本方法
了解数据库主要文献及途径,掌握数据库论文写作基本方法
为进一步研究和开发数据库技术和应用提供基础课程目的与教学目标11教学方式:课堂讲授师生讨论学术报告(外请)基本要求:课时考勤(部分)学习作业(文献阅读+论文+演讲)期终考试教学方式与基本要求12会议与期刊SIGMOD/PODS、VLDB、SIGIR、SIGKDD等NDBC等IEEE
KDE,ACM
TODS等课程教材与参考文献基本教材汤庸、叶小平等–高级数据库技术及应用(“十一五”国家级规划教材)高等教育出版社,2008课程教材与参考文献(1)1314学术会议国际SIGMOD/PODS、VLDB、SIGIR、•SIGKDD等国内NDBC等学术期刊国际IEEE
KDE,ACM
TODS等国际中国科学(E),计算机学报,软件学报,计算机研究与发展等课程教材与参考文献(2)15参考书目汤庸,时态数据库导论,北京大学出版社,2004汤庸,叶小平等,高级数据库技术,高等教育出版社,2005刘云生,现代数据库技术,国防工业出版社,2001年何新贵、唐常杰等,特种数据库技术,科学出版社,2000年李昭原等,数据库技术新进展(第2版),清华大学出版社,2007何守才等,数据库百科全书,上海交通大学出版社,2008
C
Zaniolo,S
Ceri,C
Faloutsos,R
Snodgrass,V.S.
Subrahmanian,R
Zicari.
Advanced
Database
Systems,Morgan
Kaufmann,1997
C.J.Date、Hugh
Darwen、Nikos
Lorentzos,Temporal
Data
&
theRelational
Model,Morgan
Kaufmann,2002课程教材与参考书目(3)汤庸–时态数据库导论(国内第一部时态数据库学术专著)北京大学出版社,2005课程教材与参考数目(4)16汤庸、叶小平等–高级数据库技术(重点大学计算机专业研究生教材)高等教育出版社,2005课程教材与参考书目(5)17书名:《Advanced
Database
Systems》作者:Carlo
Zaniolo;Stefano
Ceri
;
Christos
Faloutsos
;Richard
Snodgrass
;V.S.
Subrahmanian
;Roberto
Zicari出版社:Morgan
Kaufmann出版时间:1997年5月基本内容:该书介绍了多种高级数据库,包括主动数据库、时态数据库、面向对象数据库、推理数据库、模糊推理、模糊查询、多媒体数据库等特征、应用及其相关技术。该书对各种技术做了详尽的介绍,此外还提供了不少应用例子和练习,适合个人学习或作参考。课程教材与参考书目(6)1819ADB2008(0):高级数据库课程介绍ADB2008(1):高级数据库概述ADB2008(2):基于时间的数据库技术时态数据库导论、实时数据库、时空数据库等ADB2008(3):时间数据与关系演算ADB2008(4):时态数据模型ADB2008(5):时态数据库管理系统ADB2008(6):时态数据索引技术ADB2008(7):基于知识的数据库技术知识库、主动数据库、决策支持系统、数据挖掘等ADB2008(8):基于网络的数据库技术分布式数据库、web数据库及信息检索、移动数据库等ADB2008(9):数据库协同与综合应用数据库协同、信息发布与交换、XML、工作流,综合应用实例课程ppt目录20汤
庸 叶小平issty@
计算机科学系协同软件研究开发中心高级数据库技术与应用(1)--第1章绪论211.1数据库发展回顾1.2数据库新技术概述1.3数据库研究热点与展望1.4相关学术资源第1章绪论目录1.1数据库发展回顾22231.1数据库发展回顾1.2数据库新技术概述1.3数据库研究热点与展望1.4相关学术资源第1章绪论目录24
数据类型多样化:不仅是传统的数字、字符、文本等,还需要视频、音频、图形、图像、动画,HTML/XML、流数据等更复杂数据结构新需求:结构化,半结构化、非结构化。数据存储新需求:海量,多维性等
数据操作新要求:不仅包含通常意义下的插入、删除、修改、查询等,还需要互操作(例如视频快进操作等)、主动性操作、领域搜索浏览、时态查询等,还要能够进行自定义操作。其他需求:领域需求数据库应用新需求25
1990年,美国的高级DBMS功能委员会会员,
RDB的著名学者发表了《第三代数据库系统宣言》,提出了第三代数据库管理系统应具有的特征,包括三条基本原则和13个命题。三个基本特征支持数据管理、对象管理、知识管理保持或继承第二代数据库系统的技术对其他系统开放第三代数据库宣言26第三数据库的概念并没有得到普遍认同
第1、2代有明确的数据模型,特别是第2代数据库有关系代数等相关理论支持第三代数据库:面向对象?新一代数据库:采用新技术的数据库应用(笼统)现代数据库技术数据库新技术范畴?第三代数据库VS新一代数据库27数据库新技术范畴
数据库新技术是一个不断发展的范畴(数据管理无处不在)数据模型的改进相关技术融合面向应用领域28
数据模型方面改进:相对于传统的数据库而言,在数据模型及其语言、事务处理与执行模型、
数据库组织与物理存储等各层上都集成了新的
技术、工具与机制的有:面向对象数据模型时态数据库系统实时数据库系统主动数据库系统数据库新技术范畴29数据库与相关技术结合与分布处理技术—分布式数据库系统与并行处理技术—并行数据库系统与人工智能技术—知识库系统/主动数据库与多媒体技术—多媒体数据库与模糊技术—模糊数据库与移动通信技术—移动数据库与Web技术—Web数据库系统与传感器网络—传感器网络管理数据库。。。数据库新技术范畴30面向应用领域CAD/CAM/CIM—工程数据库科学计算—科学数据库计划/统计—统计数据库GIS—空间数据库DSS—数据仓库数据库新技术范畴数据库新技术范畴3132继承关系数据库系统的技术
现代数据库系统是在传统数据库的基础上建立起来的,关系数据库是基础。数据库技术和多学科的有机结合
传统的数据库技术和其他技术的有机结合、互相渗透、使得数据库技术新的内容层出不穷。数据库中的某些概念、技术内容、应用领域,甚至某些原理都有了重大的变化。数据库新技术应用的实现途径33吸收和借鉴面向对象的方法和技术
面向对象的方法和技术对计算机各个领域都产生了深远的影响。该模型克服了传统模型的局限性,为新一代数据库系统的探索带来了希望,促进了数据库技术在新的技术基础之上继续发展。面向应用领域开发
为了适应数据库应用多元化的要求,在传统数据库的基础之上,结合各个应用领域的特点,研究和开发适合各个应用领域的数据库新技术。如工程数据库、统计数据库、科学数据库、空间数据库、地理数据库等等。数据库新技术应用的实现途径341.1数据库发展回顾1.2数据库新技术概述1.3数据库研究热点与展望1.4相关学术资源第1章绪论目录35多维性(支持时间、空间等属性)智能化(知识表达与推理能力)网络化(基于网络环境)协同性(支持多系统融合)现代数据库应用的主要特征姓名出生年月职务有效时间张三1964年1月讲师1994-1998张三1964年1月副教授1998-now张三1964年1月副处长1999-now时间作为信息的维度时间作为数据时间作为自然属性36时间作为信息的维度时间时间数据——时间作为一种数据类型时态信息——时间作为一个信息维度元组属性3738时间作为信息的维度更复杂的时间维度(四维)有效时间事务时间39时态数据库技术快照数据库历史数据库回滚数据库双时态数据库时间相关数据库技术时空数据库实时数据库数据仓库主动数据库,,,时间作为信息的维度40知识处理是现代数据库应用的主要特征摄氏39度——数据、信息、知识?41知识处理是现代数据库应用的主要特征
数据——是对事实的一种表达形式,包括数字、字符和图形。数据可以通过人工或自动化装置进行处理。
信息——是对人有用的、能够影响人们行为的数据。信息通过对数据加工处理而产生。
知识——是人类对客观规律的认识,是系统的有条理的信息。一般地,知识是数据经过一系列加工,如归纳、综合、比较、分类、联想等得到的上层信息。知识库基本问题知识表达知识推理知识获取知识处理是现代数据库应用的主要特征4243基于知识的数据库技术知识数据库主动数据库决策支持系统数据挖掘技术信息检索,,,知识处理是现代数据库应用的主要特征44网络化数据库技术基础分布式数据库技术Web数据库技术XML数据库技术网络是现代数据库应用的基本平台45网络是现代数据库应用的基本平台分布式数据库基本特征
物理分布性——数据库中数据不是存储在同一场地,而是存储在不同计算机设备当中。
逻辑整体性——数据在物理上分散存储,但在逻辑上相互关联,构成整体,数据被所有用户(全局用户)共享,有一个DDBMS统一管理。
场地自治性——各个场地数据由本地DBMS管理,具有自治处理能力,完成本场地的应用(局部应用)。
场地间协作性——各个场地具有高度自治,但又相互协作构成一个整体。对用户来说,使用DDBS如同使用集中式数据库一样,可以在任何一个场地执行全局应用。46网络是现代数据库应用的基本平台Web数据库基本特点能够在多平台、多操作系统上应用;能够通过网络实现数据库的远程存取和动态交互;提供通用的图形用户接口界面;
实现基于WWW标准接口的网络数据库的开发,提高二次开发的简捷性,使操作简单、维护方便。47网络数据库应用移动数据库Web信息检索XML数据库,,,网络是现代数据库应用的基本平台48
现代数据库应用是一个综合系统,难以用单一的数据库技术,往往需要综合应用多种数据库技术,还需要应用其他相关技术。协同性与综合应用协同数据库工作流数据库信息交换与信息发布信息检索,,,现代数据库应用是一个综合系统现代数据库应用是一个综合系统4950发展趋势万维网与数据库的进一步融合,数据库与信息检索的融合,当前若干研究热点Web数据提取与信息检索传感器网络数据管理移动数据管理海量数据管理数据流管理技术,,,数据库技术发展趋势511.1数据库发展回顾1.2数据库新技术概述1.3数据库研究热点与展望1.4相关学术资源第1章绪论目录52相关学术会议相关学术会议SIGMOD(Special
Interest
Group
on
Management
of
Data)/PODS(ACM
Symposium
on
Principles
of
DatabaseSystems)由三个ACM专题组SIGACT
(theoreticalcomputer
science)、SIGART
(Artificial
Intelligence)和SIGMOD在1982年共同组织发起的国际会议,是数据库理论的顶级国际学术会议。/pods/5354VLDB(International
Conference
on
Very
Large
DataBases),/相关学术会议55SIGKDD-
ACM
Special
Interest
Group
on
KnowledgeDiscovery
/
Data
Mining,/SIGIR-
ACM
Special
Interest
Group
on
InformationRetrieval,/ICDE(International
Conference
on
Data
Engineering)NDBC(National
Database
conference
of
China):http://www.ccf-相关学术会议■ACM
TODS:/tods/相关学术期刊56IEEE
TKDE:/tkde/相关学术期刊5758DKE(Data&Knowledge
Engineering):/locate/datakDB/M
(Database
Magazine)
:http://www.dbm.nl■国内计算机期刊Journal
of
Computer
Science
and
Technology:计算机学报:/软件学报:/计算机研究与发展:/相关学术期刊59
汤庸、叶小平、汤娜等,高级数据库技术及应用,高等教育出版社,
2008(“十一五”国家级规划教材)汤庸,时态数据库导论,北京大学出版社,2004刘云生,现代数据库技术,国防工业出版社,2001年何新贵唐常杰等,特种数据库技术,科学出版社,2000年李昭原等,数据库技术新进展(第2版),清华大学出版社,2007何守才等,数据库百科全书,上海交通大学出版社,2008
C
Zaniolo,S
Ceri,C
Faloutsos,R
Snodgrass,V.S.
Subrahmanian,R
Zicari.
Advanced
Database
Systems,Morgan
Kaufmann,1997
C.J.Date、Hugh
Darwen、Nikos
Lorentzos,Temporal
Data
&
theRelational
Model,Morgan
Kaufmann,2002参考教材60
第3代数据库宣言的基本内容是什么?谈谈你的理解和观点。谈谈你对数据库新技术范畴的理解。谈谈你对时间数据与时态信息的理解。谈谈你对数据、信息与知识的理解。试讨论Web与数据库的关系。
请浏览近期VLDB、SIGMOD等会议和期刊论文,分析数据库研究热点和最新进展。思考题61高级数据库技术与应用(2)--第2章数据库系统基础汤
庸 叶小平issty@
计算机科学系协同软件研究开发中心62/26数据库系统基础目录2.1关系数据库基础2.2面向对象数据库技术2.3对象关系数据库技术63/262.1关系数据库基础2.1.1关系数据模型2.1.2关系模式设计2.1.3事务处理技术64/262.1.1关系数据模型(01)1.关系数据模型基本概念(1)关系描述(从技术直观层面)关系基本描述:一个关系就是一张二维平面表格,每个关系都有一个关系名。对关系的描述称为关系模式,不同关系模式对应不同关系结构。关系表示形式为:关系名(属性名1,属性名2,...,属性名n)65/262.1.1关系数据模型(02)1.关系数据模型基本概念(1)关系描述(从技术直观层面)关系相关概念:元组:在一个二维表中,水平方向的行称为元组,每一行是一个 元组。元组对应存储文件中的一个具体的记录。属性列:二维表中垂直方向的列称为属性列,每一列有一个属性 名。域: 属性的取值范围,即对同一属性的取值所限定的范围。66/262.1.1关系数据模型(03)1.关系数据模型基本概念(2)关系概念(从数学形式层面)笛卡尔乘积:给定一组域D1,D2,…,Dn(其中允许有相同的),则笛卡儿积定义为:D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}}
其中每个(d1,d2,…,dn)叫作元组;元组中的每个di叫作分量,di必是Di中的一个值;当n=1时称单元组,n=2时,称二元组,…。67/262.1.1关系数据模型(04)1.关系数据模型基本概念(2)关系概念(从数学形式层面)关系的数学定义:
当且仅当R是D1×D2×…×Dn的一个子集,则称R是D1×D2×…×Dn上的一个关系, 记为:R(D1,D2,…,Dn),
其中R为关系名,n为关系的度,Di为第i个域名。在关系对应的二维表中,行对应元组,列对应域。68/262.1.1关系数据模型(05)1.关系数据模型基本概念(3)元组标识与关系间关联元组标识由主键描述●超键:在给定关系R中,能够唯一标识各个元组的属性集合称 为关系R的超键(Super
Key)。●候选键:不含多余属性的超键称为候选键(Candidate Key),或者说候选键是其中任何真子集均不是超键的 超键。候选键有时也称作键(Key)。●主
键:选定了用于标识的候选键称为主键(Prime
Key)。69/262.1.1关系数据模型(06)1.关系数据模型基本概念(3)元组标识与关系间关联关系间相互关联由外键描述。●外 键:如果一个关系R1的一个属性子集S是另一个关系R2的主键,但不是R1本身的主键,则称S是关系R1的外键(Foreign Key)。其中,R1称为依赖关系,R2称为参照关系。70/262.1.1关系数据模型(07)2.关系结构基本性质
●列的同质性关系表中每一列的属性值都必须为同一类型数据,来自同一个属性域。
●异列同域性关系中不同的属性列可以出自同一个域,但不同属性列应当有不同属性名称。
●列的无序性关系中属性是无序的,即列的次序可以任意交换。由于列的顺序无关紧要,列顺序不同的关系在逻辑上是同一集合。71/262.1.1关系数据模型(08)2.关系结构基本性质
●元组相异性关系的主体中不允许出现相同的元组。
●行的无序性关系中不考虑元组之间的顺序,元组在关系中应是无序的,即没有行序,这是因为关系是元组的集合,按集合的定义,集合中的元素无序。
●属性值原子性关系中的每一个属性值都是不可分解的,不允许出现组合数据,更不允许“表中有表”。2.1.1关系数据模型(09)3.关系运算——关系代数①基于更新的代数运算基于更新的代数运算建立在传统集合运算之上●插入——集合的并运算
设有同类关系R、S(即R、S具有相同的关系模式),则二者的并运算定义为:
式中“∪”为并运算符,t为元组变量,结果R∪S为一个新的与R、S同类的关系,该关系是由属于R或属于S的元组构成的集合。72/262.1.1关系数据模型(10)3.关系运算——关系代数73/26①基于更新的代数运算●删除——集合的差运算
设有同类关系R、S,则二者的差(Difference)运算定义为:
式中“-”为差运算符,t为元组变量,结果R-S为一个新的与R、S同类的关系,该关系是由属于R而且不属于S的元组构成的集合,即在R中减去与S中相同的那些元组。2.1.1关系数据运算(11)3.关系运算——关系代数②
基于查询的代数运算基于查询需要建立不同于传统情形的新的集合运算●关系属性的指定——投影运算
设有k元关系R,其元组变量为tk=<t1,t2,…,tk>,那么关系R在其分量Ai1,Ai2,…,Ain(n≤k,i1, i2,…,in为1到k之间互不相同的整数)上的投影定义为:74/262.1.1关系数据模型(12)3.关系运算——关系代数②
基于查询的代数运算●关系元组的选定——选择运算
设有k元关系R,条件用一命题公式F表示,则从关系R中选择出满足条件F的行定义为:75/262.1.1关系数据模型(13)3.关系运算——关系代数②
基于查询的代数运算●关系的集成——广义笛卡尔乘积运算
设有关系R、S,其中关系R有r个属性分量、m个元组,关系S有s个属性分量、n个元组,则二者的广义笛卡尔乘积(Cartesian
Product)运算定义为:76/262.1.1关系数据模型(14)3.关系运算——关系代数77/26③
组合代数运算●交运算设有同类关系R、S,则二者的交(Intersection)运算定义为●除法运算设有两个关系T和R,其元数分别为n和m(n>m>0),则T和R进行“除法”运算的结果记P=TR,其中P是一个元数为n-m的满足下述性质的最大关系:P中的每个元组u与R中每个元组v所组成的元组(u,v)必在关系T中。在这里,为了叙述方便,假设R的属性为T中的后m个属性。2.1.1关系数据模型(15)3.关系运算——关系代数③
组合代数运算●连接运算设有关系R、S,θ为算术比较符,i为R中某一属性列的编号,j为S中某一属性列的编号,iθj为一个算术比较式。关系R,S在域i,j上的θ-连接(θ-Join)就是从R和S的笛卡尔乘积中选取满足条件“iθj”的元组,其定义为:78/2679/262.1.1关系数据模型(16)3.关系运算——关系演算①元组演算
如果在一阶谓词演算表达式中,变量是以元组为演算单位,就称其为元组关系演算(Tuple
Relation
Calculus),其中元组变量表示关系中的元组,变量取值范围是整个关系。
●关系的元组演算表示为了得到关系操作的元组关系演算表达式,需要考虑关系与谓词的联系。80/262.1.1关系数据模型(17)3.关系运算——关系演算①元组演算
A.由关系R确定的谓词P在数理逻辑中我们知道,关系可用谓词表示,n元关系可以由n元谓词表示。
设有关系R,它有元组(r1,r2,…,rm),定义关系R对应如下一个谓词P(x1,x2,…,xn)。
当t=(r1,r2,…,rm)属于R时,t为P的成真指派,而其他不在R中的任意元组t则是P的成假指派。即是说,
由关系R定义一个谓词P具有如下性质:P(t)=T(当t在R中);P(t)=F(当t不在R中)。81/262.1.1关系数据模型(18)3.关系运算——关系演算①元组演算
B.由谓词P表示关系R
由于关系代数中R是元组集合,一般而言,集合是可以用满足它的某种特殊性质来刻画与表示。如果谓词P表述了关系R中元组的本质特性,就可以将关系R写为:R={t
|
P(t)}
这个公式就建立了关系(元组集合)的谓词表示,称之为关系演算表达式。82/262.1.1关系数据模型(19)3.关系运算——关系演算①元组演算
●元组关系演算的语法元组关系演算表达式的严格数学描述是由“归纳定义”方式完成的。按照通常的思路,元组演算表达式是由“关系演算公式”组成;“关系演算公式”是由“原子公式”组成。83/262.1.1关系数据模型(20)3.关系运算——关系演算①元组演算下述三类称为元组演算原子公式,简称原子公式:
A.R(t)是原子公式这里,R是关系名,t=(r1,r2,…,rm)是元组变量,并且是P的成真指派,此时R(t)表示命题“t是关系R中元组”。B.u(i)θv(j)是原子公式这里,u(i)表示元组u的第i个分量,v(j)表示元组v的第j个分量,u(i)θv(j)表示命题:“表示u的第i个分量与u的第j个分量有关系θ”。
C.u(i)θa是原子公式这里,a是常量,u(i)θa表示命题“u的第i个分量与常量a有关系θ”。84/262.1.1关系数据模型(21)3.关系运算——关系演算①元组演算利用原子公式可以递归定义关系演算公式:A.原子公式是公式。B.如果φ1,φ2是公式,则φ1φ2,φ1φ2,φ1→φ2和⌐φ1均是公式。
C.如果φ是公式,r是φ中自由变元,则r(φ),r(φ)是公式。
D.所有公式由且仅由上述三种方式经过有限次操作生成。85/262.1.1关系数据模型(22)3.关系运算——关系演算①元组演算
有了公式φ的概念,以公式φ作为特性就构成一个有若干元组组成的集合,即关系R,这种形式的元组集合就称其为关系演算表达式。关系演算表达式的一般形式为:{t
|
φ(t)}
其中,φ(t)为公式,t为φ中出现的自由变元。关系演算表达式也简称为关系表达式或者表达式。86/262.1.1关系数据模型(23)3.关系运算——关系演算①元组演算
●关系操作的元组演算表示关系操作有五种基本操作,它们在关系代数中分别对应五种基本运算,这五种基本运算可以用一阶谓词演算中的公式表示。87/262.1.1关系数据模型(24)3.关系运算——关系演算①元组演算
设有关系R、S,其谓词表示为R(t)和S(t),此时有R∪S={t
|
R(t)
∨S(t)};R
–
S
=
(t
|
R(t)∧¬S(t));
σ
F(R)={t
|
R(t)∧F},其中F是一个谓词公式;2.1.1关系数据模型(25)3.关系运算——关系演算①元组演算其中t
(k)所表示的元组有k个分量,而t(i)表示t的第i个分量,u(j)表示u第j个分量。88/2689/262.1.1关系数据模型(26)3.关系运算——关系演算②域演算
域关系演算(Domain
Relation
Calculus)简称为域演算,它是关系演算的另外一种形式。域关系和元组关系演算
都建立在谓词演算之上,同属于关系演算范畴。
域关系和元组关系演算的不同之处首先在于,谓词表达式中谓词变元不同元组演算以元组为变元,域演算以元组的分量为变元,由于元组分量是在相应属性域内变化,所以也将元组变元视为域变元,相应的谓词公式就表示了属性域间关系,也就是域关系的由来;其次在于元组变元的变化范围为整个关系,域变元的变化范围是某个属性域。90/262.1.1关系数据模型(27)3.关系运算——关系演算②域演算
域关系演算(Domain
Relation
Calculus)简称为域演算,它是关系演算的另外一种形式。域关系和元组关系演算
都建立在谓词演算之上,同属于关系演算范畴。
域关系和元组关系演算的不同之处首先在于,谓词表达式中谓词变元不同元组演算以元组为变元,域演算以元组的分量为变元,由于元组分量是在相应属性域内变化,所以也将元组变元视为域变元,相应的谓词公式就表示了属性域间关系,也就是域关系的由来;其次在于元组变元的变化范围为整个关系,域变元的变化范围是某个属性域。91/262.1.1关系数据模型(28)3.关系运算——关系演算②域演算域演算表达式的一般形式为:R={t1,t2,…,tk
|
P(t1,t2,…,tk)}
其中,t1,t2,…,tk是域变量,P(t1,t2,…,tk)是域演算表达式。92/262.1.1关系数据模型(29)4.完整性约束(1)实体完整性约束
当实体模型转化为关系模型时,一个实体类型
对应一个关系模式,此模式下任意一个具体关
系中的一个元组对应此实体类型的一个实体,
从而为组织该关系所选择的主键就唯一标识一
个实体。实体完整性约束(Entity
Integrity)要求组成主键的属性不能为空值,否则就无从区
分和识别元组(实体)。93/262.1.1关系数据模型(30)4.完整性约束(2)参照完整性约束
实体完整性约束主要考虑一个关系内部的制约,而参照完整性约束(Referential
Integrity)则考虑不同关系之间或同一关系的不同元组之间的制约。具体而言,参照关系的外键或者取空值,或者取被参照关系中相应的主键值。94/262.1.1关系数据模型(31)4.完整性约束(3)用户完整性约束
数据库设计者根据数据的具体内容定义自己的语义约束并提供检验机制,即是用户定义完整性约束(User-defined
Integrity)。95/262.1.2关系模式设计(01)1.数据冗余及其分析
数据冗余(Data
Redundancy)是指同一
数据在一个或者多个数据文件中重复存储。系统中如果出现数据冗余,不仅会大量占
用消耗系统资源,造成不必要开销,更严
重的是会带来各种数据操作异常,对数据
库性能正常发挥造成极大影响。。96/262.1.2关系模式设计(02)1.数据冗余及其分析
数据操作异常(DataOperation
Anomalies)是指由于存在数据冗余,就可能导致数据更新异常(Update
Anomalies)。常见的几种异常有:修改异常(ModificationAnomalies),插入异常(InsertAnomalies):删除异常(DeletionAnomalies)。。97/262.1.2关系模式设计(03)1.数据冗余及其分析
为什么会产生数据冗余呢?其产生有着较为复杂的原因。从数据结构的角度考察,如果对多个文件之间和同一个文件中数据之间的联系考虑不周或者处理不当,就有可能导致数据冗余。这里有两个层面上的问题:●多个文件之间的联系。●同一个文件中数据之间的联系。。。98/262.1.2关系模式设计(04)1.数据冗余及其分析
对于第一个层面问题,主要出现在数据管理的文件系统阶段。由于文件系统没有考虑和体现相关多个文件之间的联系,同一数据经常在不同的文件中反复出现,数据冗余现象突出。数据库系统,特别是关系数据库系统,相比于文件系统的重要区别就是充分考虑到了文件间的相互关联并且采取相应的处理措施,有效地处理了第一层面问题,从而在很大程度上减少了冗余的产生。
关系数据库较好地处理了文件层面的联系,但并不意味着数据层面上的联系可以自动解决。恰恰相反,此时,第二个层面上问题反而会凸现出来。99/262.1.2关系模式设计(05)1.数据冗余及其分析
在关系数据库中,同一关系模式中各个属性子集之间的依赖关系,通常称为数据依赖(DataIndependence)。关系系统当中数据冗余产生的重要原因就在于对数据依赖处理不当,也就是在于关系模式本身的结构设计可能存在缺陷。100/262.1.2关系模式设计(06)1.数据冗余及其分析
在关系数据库中,数据冗余之所以和数据依赖密切相关,就在于一个关系中各个属性子集可能相互关联,这种关联有“强”有“弱”,有直接关联,也有间接关联。如果在设计和构造关系模式时,不从语义上考虑和研究属性子集间的这种关联,简单地将有关联和无关联的、关联密切的和关联松散的、具有这类关联的和有另一类关联的属性随意编排在一起,就可能产生较大的数据冗余,产生“排它”现象,引发各种冲突和异常。解决问题的根本方法就是将关系模式进一步分解,即将模式中属性按照一定规范重新“分组”,将简单的“只要有关联就放在一起”方式变为依据规范的“一对一关联”方式,使得逻辑上独立的信息放在关系上也独立的模式当中,即进行所谓的关系规范化。101/262.1.2关系模式设计(07)1.函数依赖(1)基本概念
设R(U)是属性集U上的关系模式,X和Y分别是U的属性子集。r是R(U)中任意给定的一个关系实例。若对于r中任意两个元组s和t,当s[X]=t[X]时,就有s[Y]=t[Y]则称属性子集X函数决定属性子集Y或者称Y函数依赖X(FunctionalDependence),否则就称X不函数决定Y或者称Y不函数依赖于X。
当Y函数依赖于X时,则记为 X→Y。如果X→Y,也称X为决定因素(Determinant
factor),
Y为依赖因素(Dependent
factor)。当Y不函数依赖于X,则记为
X/→Y102/262.1.2关系模式设计(08)1.函数依赖(1)基本类型
①平凡与非平凡函数依赖如果X→Y,但Y不是X的子集,则称X→Y是非平凡函数依赖(Nontrivial
Functional
Dependence),否则称为平凡函数依赖(Trivial
FunctionalDependence)。当Y函数依赖于X时,则记为X→Y。如果X→Y,也称X为决定因素(Determinant
factor),
Y为依赖因素(Dependent
factor)。当Y不函数依赖于X,则记为
X/→Y103/262.1.2关系模式设计(09)1.函数依赖(1)基本类型
①平凡与非平凡函数依赖如果X→Y,但Y不是X的子集,则称X→Y是非平凡函数依赖(Nontrivial
Functional
Dependence),否则称为平凡函数依赖(Trivial
FunctionalDependence)。当Y函数依赖于X时,则记为X→Y。如果X→Y,也称X为决定因素(Determinant
factor),
Y为依赖因素(Dependent
factor)。当Y不函数依赖于X,则记为
X/→Y104/262.1.2关系模式设计(10)1.函数依赖(1)基本类型
①平凡与非平凡函数依赖如果X→Y,但Y不是X的子集,则称X→Y是非平凡函数依赖(Nontrivial
FunctionalDependence),否则称为平凡函数依赖(TrivialFunctional
Dependence)。
②部分与完全函数依赖如果X→Y,但对于X中的任意一个真子集X',都有Y不依赖于X',则称Y完全依赖(Full
Functionalal
Dependency)于X,。当Y完全依赖于X时,记为XY。如果X→Y,但Y不完全函数依赖于X,
则称Y对X部分函数依赖(Partial
Functional
Dependency),记为XY。105/262.1.2关系模式设计(11)1.函数依赖(1)基本类型
①平凡与非平凡函数依赖如果X→Y,但Y不是X的子集,则称X→Y是非平凡函数依赖(Nontrivial
Functional
Dependence),否则称为平凡函数依赖(Trivial
FunctionalDependence)。②部分与完全函数依赖如果X→Y,但对于X中的任意一个真子集X',都有Y不依赖于X',则称Y完全依赖(Full
Functionalal
Dependency)于X。106/262.1.2关系模式设计(12)1.函数依赖(1)基本类型
③传递与直接函数依赖设有两个非平凡函数依赖X→Y和Y→Z,并且X不函数依赖于Y,则称Z传递函数(TransitiveFunctional
Dependency)依赖于X。107/262.1.2关系模式设计(13)3.函数依赖集合计算
考虑属性子集间的相互依赖关系,需要计算给定关系模式的所有函数依赖构成的集合。但函数依赖是基于语义的,需要有基于语法的形式系统来完成相应计算,这就是Armstrong公理系统。人们证明了公理系统的的完备性,从而建立了最小依赖集的算法,完成了所需要的计算。108/262.1.2关系模式设计(14)4.数据依赖与关系模式范式(1)第一范式
如果一个关系模式R中每个属性值都是一个不可分解的数据量,则称该关系模式满足第一范式(First
Normal
Form),记为
R∈1NF。109/262.1.2关系模式设计(15)4.数据依赖与关系模式范式(2)第二范式
如果关系模式R(U)∈1NF,并且R(U)中的每一个非主属性完全函数依赖于R(U)的候选键,则称该关系模式R(U)满足第二范式,记为R(U)∈2NF。110/262.1.2关系模式设计(16)4.数据依赖与关系模式范式(3)第三范式
如果关系模式R(U)∈1NF,且R(U)中的每一个非主属性都不传递依赖于R的候选键,则称关系模式R(U)属于第三范式,记为R(U)∈3NF。111/262.1.2关系模式设计(17)4.数据依赖与关系模式范式(4)BC范式
设关系模式R(U)∈1NF,如果R(U)中每一个属性都不传递依赖于R(U)的候选键,则称关系模式R(U)满足Boyce-Codd范式,简称BC范式,记为R(U)∈BCNF。112/262.1.2关系模式设计(18)4.数据依赖与关系模式范式(5)多值依赖和第四范式
设有关系模式R(U),X、Y是属性集U中的两个子集,而r是R(U)中任意给定的一个关系实例r。如果有下述条件成立,则称Y多值依赖(Multivalued
Dependency)于X,记为X→→Y:
①对于r在X上的一个确定的值(元组),都有r在Y中一组值与之对应。②Y的这组对应值与r在Z=U-X-Y中的属性值无关。
此时,如果X→→Y,但Z=U-X-Y≠Φ,则称其为非平凡多值依赖,否则称为平凡多值依赖。113/262.1.2关系模式设计(19)4.数据依赖与关系模式范式(5)多值依赖和第四范式
对于R(U)中的任意两个属性子集X和Y,如果对于任意非平凡多值依赖X→→Y,X都为超键,则称R(U)满足第四范式,
记为R(U)∈4NF。114/262.1.2关系模式设计(20)4.数据依赖与关系模式范式(6)连接依赖和第五范式
设有关系模式R(U),{U1,U2,…,Un}是属性集合U的一个覆盖,关系模式集合ρ={R1,R2,…,Rn}是R的一个模式分解,其中Ri是对应于Ui的关系模式(i=1,2,…,n)。如果对于R的每一个关系实例r,都成立:r=ΠR1(r)ΠR2(r)…ΠRn(r)
则称连接依赖(joindependence)在关系模式R上成立,记为(R1,R2,…,Rn)。
如果连接依赖中每一个Ri(i=1,2,…,n)都不等于R,则称此时连接依赖是非平凡的,否则称为是平凡的。。115/262.1.2关系模式设计(01)4.数据依赖与关系模式范式(6)连接依赖和第五范式
假设关系模式R(U)上任意一个非平凡连接依赖(R1,R2,…,Rn)都由R的某个候选键所蕴含,则称关系模式R满足第五范式,记为R(U)∈5NF。第五范式在有些文献中也称为投影连接范式(Project-JoinNormal
Form),简记为PJNF。116/262.1.3事务处理(01)1.事务及其基本性质
事务(Transaction)是数据库所提供的一种手段,通过这种手段可以将一系列的数据库操作组合在一起形成一个整体序列,由数据库系统提供一组保证。一条或一组SQL语句构成一个事务,运行过程中整个程序也是一个事务。序列中的操作可以全部执行或者全部不执行,但不能只执行一部分,因为整个序列是一个不可分割的操作单位。117/262.1.3事务处理(02)1.事务及其基本性质
●原子性(Atomicity)一个事务对于数据库的所有操作是一个不可分割的操作整体,这些操作要么全部执行,要么全部不执行,而不能部分地完成。
●一致性(Consistency)数据库中数据不因事务的执行而受到破坏,事务执行的结果应当使
得数据库由一种一致性达到另一种新的一致性。数据一致性保证数据库的完整性。118/262.1.3事务处理(03)1.事务及其基本性质
●隔离性(Isolation)事务的并发执行与这些事务单独执行的结果一样。也就是说,在多个事务并发执行时,各个事务不必关
心其它事务的执行,如同在单个用户环境
下执行一样。事务的隔离性是事务并发控
制技术的基础。对隔离性的另一种称法是
可串行性。119/262.1.3事务处理(04)1.事务及其基本性质
●持久性(Durability)事务对数据库的更新应永久地反映在数据库中。也就是说,一个事务一旦完成其全部操作之后,它对数据库所有更新操作的结果将在数据库中永久存在,即使以后发生故障也应保留这个事务的执行结果。持久性意义在于保证数据库可恢复。120/262.1.3事务处理(05)2.事务基本基本操作事务操作可以看作由若干个部分组成。
●事务开始(Begin
Transaction):事务开始执行。
●事务读写(Read/Write
Transaction):事务进行数据操作。
●事务提交(Commit
Transaction):事务完成所有数据操作,同时保存操作结果,它标志着事务的成功完成。
●事务回滚(Rollback
Transaction):事务未完成所有数据操作,重新返回到事务开始,它标志着事务的撤销。121/262.1.3事务处理(06)3.并发控制(1)封锁概念
封锁是系统对事务并发执行的一种调度和控制技术,是保证系统对数据项的访问以互斥方式进行的一种手段。●当一个事务T需要对某些数据对象进行操作(读/写)时,必须向系统提出申请,对其加以封锁;在获得加锁成功之后,即具有对此类数据的一定操作权限与控制权限,此时,其他事务不能对加锁的数据随意操作。
●当事务T操作完成之后即释放锁,此后数据即可为其他事务操作服务。122/262.1.3事务处理(07)3.并发控制(2)封锁类型排它锁
排它锁(exclusive
Lock)又称为写锁或X锁,其含义是:事务T对数据A加X锁后,T可以对加X锁的A进行读写,而其它事务只有等到T解除X锁之后,才能对A进行封锁和操作(包括读写)。123/262.1.3事务处理(08)3.并发控制(2)封锁类型
共享锁(Sharing
Lock)又称为读锁或S锁。其含义是:事务T对数据A加S锁之后,T可
以读A但不能写A;同时其它事务可以对A加S锁但不能加X锁。。124/262.1.3事务处理(09)3.并发控制(3)封锁粒度实行事务封锁的数据目标的大小称为该封锁的封锁粒度(Granularity)。在关系数据库中封锁粒度一般有如下几种。●属性(值)。●属性(值)集合。●元组。●关系表。●物理页面。●索引。●关系数据库125/262.2
面向对象数据库技术2.2.1面向对象基本概念2.2.2面向对象数据模型2.2.3基于ODMG数据操作2.2.4面向对象数据库系统126/262.2 面向对象数据库技术(01)面向对象基本概念1.对象
对象(Object)是由一组数据结构以及其上的一组方法即程序代码封装起来的基本单位。由属性集合、方法集合和消息集合三部分加上对象标识组成的对象封装体称为对象结构。对象重要特性:封装性、隐蔽性与稳定性等127/262.2 面向对象数据库技术(02)面向对象基本概念1.对象
(1)封装性
封装(encapsulation)是使对象的外部界面与内部实现之间实行清晰隔离的一种技术,是OO模型的主要特征之一。封装使得用户只能看到对象外在的界面信息(正如规格说明等),而看不到对象内部的信息(如方法实现细节),对象内部信息对于用户是屏蔽的。128/262.2 面向对象数据库技术(03)面向对象基本概念1.对象
(2)隐蔽性与界面
对象表示分为内部和外部两种,一种是内部的属性与行为的捆绑,封装之后,对外部用户透明,这就需要一种适当的对象外部表示即对象界面,外部用户通过界面认识对象并且与对象实施通信联系。对象界面实际上就是若干个外部接口,它对外部开放并为外部所见,而对象封装屏蔽了外界对内部细节的了解,这种屏蔽就称为隐蔽。129/262.2 面向对象数据库技术(04)面向对象基本概念1.对象
(3)稳定性
对象内部的对象行为建立在对象属性之上,即行为服务于属性或行为依赖于属性,这就在对象内部建立起以属性为核心并以行为为附属的稳定实体特性称为对象的稳定性(stationary)。130/262.2 面向对象数据库技术(05)面向对象基本概念2.消息
消息(message)是对象与对象之间的联系信息。由于对象的封装性和隐蔽性,对象的消息仅仅作用于对象界面,然后再通过界面进一步作用于对象内部。
①
消息的作用
请求对象为其服务;向对象传递消息并对对象操作;反馈服务结果。131/262.2 面向对象数据库技术(06)面向对象基本概念2.消息
②
消息的组成
接收者:表示消息所施加作用的对象;操作要求:消息对对象的造作要求;操作参数:消息行使操作时作需的外部数据。
③消息发送与接收每个对象都可以发送和接收若干消息。面向对象数据模型中的“消息”与
计算机网络中传输的消息含义不同。它是指对
象间操作请求的传递,而不考虑操作实现细节。132/262.2 面向对象数据库技术(07)面向对象基本概念3.类
类(Class)是对具有共同属性和方法的对象全体的概括描述,它相当于关系模型中的关系模式。类给出了属于其全部对象属性与行为的抽象定义,类中对象仅是类定义中的一个实体,即对象实例。学生是一个类,一个具体学生,例如John就是学生类中一个对象实例。面向对象数据模式与关系模式类似,首先抽象描述具有共同属性的对象的类,按照类来定义属性和方法,从而避免了给每个对象一一重复定义。查询操作等方法也定义在类上。。133/262.2 面向对象数据库技术(08)面向对象基本概念3.类类继承:类与类之间的层次结构重要特点之一就是继承(inheritance)。继承反映一个类能够自动继承其它某些类所具有的属性和方法。这是面向对象数据模型中避免重复定义的一个重要机制。继承性比较自然地体现了类之间的“is-a”联系。类A
is-a类B表示A中对象也是B中对象,但A中对象也具有B中对象所不具有的某些属
性或方法。此时,称类A是类B的子类(subclass),称类B是类A的超类(superclass).134/262.2 面向对象数据库技术(09)面向对象基本概念3.类类继承通常具有下面的四个基本性质。
●传递性设有A,B,C三个类,其种类C继承类B,而类B继承类A,此时必有类C继承类A,继承的
此种性质就称为类继承的传递性。例如动物、
哺乳动物与灵长类动物均为类,而其中灵长类
动物继承哺乳动物,哺乳动物继承动物,此时
必有灵长类动物继承动物。135/262.2 面向对象数据库技术(10)面向对象基本概念3.类
●单向性设有类B继承类A,则此时一定不能有类A继承类B,如研究生类继承学生
类,但学生类必不继承研究生类。
传递性和单向性说明了类继承具有单向层次性。.136/262.2 面向对象数据库技术(11)面向对象基本概念3.类
●可重用性可重用性(reuse)指得是子类可以重用超类的全部资源,同时根据继承的传递性,它还可以重用继承链上所有超类资源。137/262.2 面向对象数据库技术(12)面向对象基本概念3.类
●包含性继承除了具有类之间一般与特殊关系之外,还可以有包含关系,即灵长类继承哺乳动物类,此时灵长类必包含在哺乳动物中,即是说,任一个对象如它属于灵长类动物则它必属于哺乳动物,而且类中继承的包含关系一般而言是真包含关
系。.138/262.2 面向对象数据库技术(13)面向对象基本概念3.类
●包含性继承除了具有类之间一般与特殊关系之外,还可以有包含关系,即灵长类继承哺乳动物类,此时灵长类必包含在哺乳动物中,即是说,任一个对象如它属于灵长类动物则它必属于哺乳动物,而且类中继承的包含关系一般而言是真包含关
系。.139/262.2 面向对象数据库技术(14)面向对象基本概念3.类继承的多态性
①多态性在类的继承过程中,超类属性与方法在子类中可以允许有不同的实现形式、方法与语义,这种情形就称为多态性(polymophic)。140/262.2 面向对象数据库技术(15)面向对象基本概念3.类
②联编多态性为对象与属性、方法之间的复杂关系提供了处理上的方便与灵活性,在计算机软件中为实现多态性需要有联编(binding)等功能的支撑。
联编也称为绑定。将一个程序经过编译到成为可以运行的目标代码过程,就是将执行代码聚束在一起的联编过程。141/262.2 面向对象数据库技术(16)2.2.2面向对象数据模型1.数据模型
①数据模式由对象结构以及类间继承和组合关系建立起来的数据间的组织结构关系,这种模式结构的语义表示能力远比ER方法与EER方法要强。142/262.2 面向对象数据库技术(17)2.2.2面向对象数据模型1.基本概念
②数据操作由对象与类中方法建构对象数据模式上的数据操作,这种操作语义强于传统数据模型,如可以构做一个圆形类,它的操作可以除查询、修改外,还可以有图形的放大/缩小,图形的移动、图形的拼接等。在面向对象数据操作分为两个部分,一个部分封装在类之中称之为方法,另一部分是类之间相互沟通的操作称之为消息。143/262.2 面向对象数据库技术(18)2.2.2面向对象数据模型1.基本概念
③数据约束数据约束也是一种方法,即是一种逻辑表示式,可以用类中方法表示模式约束。面向对象数据一般使用方法或消息表示完整性约束条件,称为完整性约束方法与完整性约束消息,并在其之前标有特殊标识。144/262.2 面向对象数据库技术(19)2.2.2面向对象数据模型2.数据类型(1)基本类型
①基础类型通常意义下的整型、字符串和布尔型等。
②“类”类型一个类本身就是一种下述的构造型,是一种复杂类型。但仍然可以将其作为一个整体看成一个基础的型,从而可以像上述基础型一样对待和使用。145/262.2 面向对象数据库技术(20)2.2.2面向对象数据模型1.数据类型(2)构造类型
基础型和“类”型是基本型,通过它们,可以使用下述构造器形成各种复杂型(构造型)。
①ARRAY如果T是一个型,i是一个正整数,则
ARRAY<T,i>j就是一个型,其对象为T的i个对象的一个数组,例如,ARRAY<char,10>就是长
度为10的字符串。146/262.2 面向对象数据库技术(21)2.2.2面向对象数据模型2.数据类型(2)构造类型
②LIST如果T是任意型,则LIST<T>也是一种型,其对象是T的零个或多个对象的一个147/262.2 面向对象数据库技术(22)2.2.2面向对象数据模型2.数据类型(2)构造类型③BAG如果T是任意型,则BAG<T>也是一种型,其对象是型T的对象的一个“可重复”集合即一个元素可重用的集合,称为一个“袋”或
“包”。包与集合的区别就是其中的元素可以重复。例如{1,4,1,6}是一个包而不是一个集合。148/262.2 面向对象数据库技术(23)2.2.2面向对象数据模型2.数据类型(2)构造类型
④SET如果T是任意型,则SET<T>也是一种型,其对象是T的对象的一个有限集合。
⑤序列表,例如,字符串型char实际上是表LIST<char>型的一个速记特例。149/262.2 面向对象数据库技术(24)2.2.2面向对象数据模型2.数据类型(2)构造类型
⑥RECORD设Ti和Fi(i=1,2,……,n)分别为任意的一个型和该型的一个域(field)的名字,则RECORD(F1:T1;F2:T·,…,Fn:Tn)也为一种型,其对象为分别具有名字Fi和型Ti(i=1,2,……,n)的域所组成的记录。150/262.2 面向对象数据库技术(25)2.2.2面向对象数据模型2.数据类型(2)构造类型
⑥RECORD设Ti和Fi(i=1,2,……,n)分别为任意的一个型和该型的一个域(field)的名字,则RECORD(F1:T1;F2:T·,…,Fn:Tn)也为一种型,其对象为分别具有名字Fi和型Ti(i=1,2,……,n)的域所组成的记录。2.2 面向对象数据库技术(26)面向对象数据模型3.与关系模型比较151/26152/262.2 面向对象数据库技术(27)2.2.3基于ODMG数据操作1.ODMG标准ODMG工业标准对C++的扩展主要包括C++对象定义语言(object
definition
language,ODL)和C++对象操作语言(object
Manipulatelanguage,OML),其中,OML又分为对象查询语言(OQL)和对象控制语言(OCL)。ODMG工业标准中的对象数据模型主要包括有下述5个核心概念:153/262.2 面向对象数据库技术(28)2.2.3基于ODMG数据操作1.ODMG标准
①对象和文字对象和文字是面向对象数据建模的基本原语。每个对象有一个唯一标识符,文
字(literal)没有标识符。对象标识符在对象整个生命周期中都有效,即无论对象是存储在外
存中还是在内存中,标识符都始终有效。对象
作为基本数据结构,是存储和操作的基础单元。154/262.2 面向对象数据库技术(29)2.2.3基于ODMG数据操作1.ODMG标准
②类型对象和文字都可以被划分为类型,同一类型(type)的对象或文字具有相同的状态,对象可以称为类型的实例。
③状态对象的状态可以通过一组性质定义。性质(property)可以分为两种:对象属性(attribute)和对象之间联系(relationship)。155/262.2 面向对象数据库技术(30)2.2.3基于ODMG数据操作1.ODMG标准
④操作对象行为可以通过一组操作来定义。操作(operation)具有输入和输出参数,并且可以返回特定类型的结果。
⑤ODL利用ODL定义对象数据管理系统的模式,它所存储的对象都是模式中定义类型的实例,即对象,这些对象可以供多个应用程序共享。156/262.2 面向对象数据库技术(31)2.2.3基于ODMG数据操作2.ODMG数据操作1.数据定义2.数据查询有关实例见教材157/262.2 面向对象数据库技术(32)2.2.4面向对象数据库系统1.面向对象数据库管理系统
数据库管理系统是任何一个数据库的中枢系统,面向对象数据库管理系通常需要:支持面向对
象的数据模型;提供面向对象的数据库语言;
提供面向对象数据库管理机制;同时具有传统
数据库的管理能力。
面向对象数据库管理系统由类管理、对象管理和对象控制等三个部分组成。158/262.2 面向对象数据库技术(33)2.2.4面向对象数据库系统1.面向对象数据库管理系统
①类管理用于对类定义和类操作进行管理,利用类来描述复杂的对象。
②对象管理对象管理又称为实例管理,主要完成对类中对象的操作管理,利用类中的封装的方法来模拟对象的复杂行为。159/262.2 面向对象数据库技术(34)2.2.4面向对象数据库系统1.面向对象数据库管理系统
③对象控制对象控制具有传统数据库中数据控制功能,但也补充了一些新的内容。整体上来说,对象控制包括如下一些基本点:完整性约束条件及检验,安全性表示与检查,并发控制与事务处理,故障恢复,利用继承性来实现对象的结构和方法的重用等。160/262.2 面向对象数据库技术(35)2.2.4面向对象数据库系统1.面向对象数据库管理系统
正是由于OODBMS上述特性,使得其在一些特定应用领域(如CAD、GIS等),能较好地满足其应用需求。当然,这种纯粹的面向对象数据库系统并不支持SQL语言,在通用性方面失去了优势,因此其应用领域受到了一定限制。161/262.2 面向对象数据库技术(36)2.2.4面向对象数据库系统2.面向对象数据库系统一个数据库系统要成为OODBS,基本标准是:
①首先是一个面向对象系统其出发点是针对面向对象程序设计语言的持久性对象存储管理,
其核心是充分支持完整地面向对象概念和机制,例如用户自定义数据类型、自定义函数、对象
封装等必不可少的OO方法特征,与当前流行的
OO程序设计语言取得一致。162/262.2 面向对象数据库技术(37)2.2.4面向对象数据库系统2.面向对象数据库系统
②其次是一个数据库系统,借助扩充传统数据库语义,使之与核心OO数据模型协调,以支持传
统数据库系统中的所有数据库特征和功能,例
如持久性、辅存管理、数据共享、事务管理、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化妆品销售顾问的面试技巧与问题
- 三年(2023-2025)湖北中考语文真题分类汇编:专题07 非文学文本阅读(解析版)
- 环保公司项目部经理的工作计划及实施
- 我和姐姐看电影演讲稿
- 热爱吉林建设吉林演讲稿
- 商超安全生产管理制度
- 2025年AI艺术生成技术的轻量化模型设计与应用
- 2026年大学生趣味国学知识竞赛试题库280题及答案
- 2026年大学生国防科技知识竞赛题库及答案(共80题)
- 演讲稿具有等特点北邮
- GB/T 4354-2008优质碳素钢热轧盘条
- GB/T 311.1-2012绝缘配合第1部分:定义、原则和规则
- 第五章遗传及其分子基础
- 初中语文系列-诗歌写作-学写三行诗P课件
- 光伏组件生产技术第2章光伏组件构成课件
- 工资调整单模板
- 《HSK标准教程1》第4课课件
- 支撑架施工验收记录表
- 组合结构设计PPT
- 教科版科学五年级下册全册单元全套教学设计[表格式]
- 部编版三年级下册语文第一单元教材解读PPT课件
评论
0/150
提交评论