高级数据库复习笔记

合集下载

高级数据库知识点

高级数据库知识点

第1章进程:OralceServiceORCL:数据库服务,是核心服务,是数据库启动的基础(必须启动)OralceOraDb11g_home1TNSListner:监听器服务,在远程访问数据库才需要(必须启动) OralceOraDb11g_home1ConfigurationManager:配置Oralce启动时的参数的服务(非必须) OralceOraDb11g_home1ClrAgent:提供对.NET支持的Oracle数据库扩展服务(非必须) OralceJobSchedulerORCL:数据库作业调度服务(非必须)OralceDBConsoleorcl:控制台服务,只有该服务启动了才可以使用web方式的企业管理器管理(非必须)OralceVssWriterORCL:是Oralce对VSS提供支持的服务(非必须)OralceMTSRecoveryService:允许数据库充当一个微软事务服务器、COM/COM+对象和分布式环境下的事务资源管理器的服务第三章:数据库内存结构,后台进程结构,存储结构之间的关系:SGA:system globalarea系统全局区。

是用于存储数据库信息的内存区,该信息为数据库进程所共享。

又称共享全局区物理结构组成:数据文件,控制文件,重做日志文件,归档日志文件,初始化参数文件,跟踪文件,告警文件逻辑存储结构组成和关系:数据块:最小的逻辑存储单元,是数据库执行输入,输出操作的最小单位区:由一系列连续的数据块构成的逻辑存储单元,是存储空间分配的最小单位段:由一个或多个连续或不连续的区组成的逻辑存储单元,用于存储特定的,具有独立存储结构的数据库对象表空间:是数据库最大的逻辑存储单元,数据库的大小从逻辑上看就是由表空间决定的,所有表空间大小的和就是数据库的大小。

DBWR进程何时启动:1.当满足下列某个条件时:服务器进程在数据高速缓存区中搜索一定数据的缓存块后,仍然没有找到可用的空闲缓存块2.检查点发生时3.当数据高速缓冲区中LRU(最少置换)列表长度达到初始化参数DB_BLOCK_WRITE_BATCH指定值的一半时4.DBWR进程发生超时LGWR进程何时被启动:1.当用户通过COMMIT语句提交当前事务2.重做日志缓冲区被写满三分之一3.DBWR进程开始将脏缓存块写入数据文件4.LGWR进程超时内存结构:SGA:由数据缓冲区、共享池、重做日志缓冲区、大型池、JAVA池构成;PGA区由排序区、私有SQL 区以及堆栈构成由Oracle分配的共享内存结构,包含一个数据库实例共享的数据和控制信息。

数据库复习资料考试必备知识点总结

数据库复习资料考试必备知识点总结

数据库复习资料1、数据库的基本概念概念模型数据模型分成两个不同的层次(1) 概念模型也称信息模型,它是按用户的观点来对数据和信息建模。

(2) 数据模型主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。

概念模型的用途概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次是数据库设计的有力工具数据库设计人员和用户之间进行交流的语言对概念模型的基本要求较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识简单、清晰、易于用户理解。

概念模型是现实世界到机器世界的一个中间层次。

相关概念:实体、实体型、实体集、联系、码、属性等实体(Entity)客观存在并可相互区别的事物称为实体。

可以是具体的人、事、物或抽象的概念。

实体型(Entity Type)用实体名及其属性名集合来抽象和刻画同类实体称为实体型实体集(Entity Set)同型实体的集合称为实体集联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系实体型间联系两个实体型一对一联系(1:1)三个实体型一对多联系(1:n)一个实体型多对多联系(m:n)码(Key)唯一标识实体的属性集称为码。

属性(Attribute)实体所具有的某一特性称为属性。

一个实体可以由若干个属性来刻画。

表示方法:E-R图数据模型:网状模型:网状模型是一个网络层次模型实际是网状模型的一个特例网状模型的条件允许一个以上的结点无父结点一个结点可以有多于一个的父结点优点能够更为直接地描述现实世界,如一个结点可以有多个双亲具有良好的性能,存取效率较高缺点结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握;DDL、DML语言复杂,用户不容易使用关系模型:优点1、建立在严格的数学概念的基础上2、概念单一。

数据结构简单、清晰,用户易懂易用。

实体和各类联系都用关系来表示。

数据库笔记

数据库笔记

第一章、数据库系统概述本章要点: 1、通过理解数据库系统主要特点,初步了解数据库系统全貌。

2、了解关系、关系模型、关系数据库系统等基本概念。

3、了解数据库管理系统的组成和各部分的基本功能。

4、初步理解本章中提到的有关数据库的专业术语。

5、了解数据库系统体系结构以及数据库系统运行过程。

1。

1 有关数据库的基本概念一、数据:凡是计算机中用来描述事物的记录,都可以统称为数据。

三、数据库:数据库是长期储存在计算机内的、有组织的、可共享的数据集合。

四、数据库管理系统:由一个互相关联的数据的集合和一组用于访问这些数据的程序组成,介于应用程序和操作系统之间的数据管理软件。

DBMS的主要功能包括:1、数据定义2、数据操纵3、数据库的运行管理4、数据库的建立和维护五、数据库系统:包括和数据库有关的整个系统:数据库、DBMS、应用程序以及数据库管理员和用户等等。

也即:DBS = DB + DBMS + APPLICATION + DBA + USER六、DBA的职责:(1)决定数据库中的信息内容和结构;(2)决定数据库的存储结构和存取策略;(3)定义数据库的安全性要求和完整性约束条件;(4)监控数据库的使用和运行;(5)数据库的改进和重组重构。

到底什么是数据库管理系统呢?你可以把数据库管理系统看成是一个仓库,在仓库里放着数据,还有一个仓库的保管员,这个保管员负责数据的搬进、整理和搬出。

这样仓库、数据和保管员就组成了一个数据库管理系统,这里的仓库是“文件”,保管员是“管理软件”。

仓库+数据就是数据库。

这个保管员要做的事情很多,要检查输入的数据是否合法(数据的定义问题),如何摆放最好(数据的结构问题),如何更快地找到用户所需要的数据并提取出来(数据的操纵问题),数据如何不被坏人提走(数据的安全性问题)等等。

有些时候可能会有多个人来提货,为了提高效率那么就可以一次拿几张单子,顺路把需要的数据都取出来(涉及到并发控制问题)。

数据库复习整理笔记

数据库复习整理笔记

☐加密的基本思想根据一定的算法将原始数据(术语为明文,Plain text)变换为不可直接识别的格式(术语为密文,Cipher text)。

不知道解密算法的人无法获知数据的内容。

☐触发器(Trigger)用户定义在关系表上的一类由事件驱动的特殊过程,一旦定义,任何用户对表的增加、修改和删除工作均由服务器自动激活相应的触发器,在DBMS核心层进行集中的完整性控制。

触发器类似于约束,但是比约束更加灵活,可以进行更为复杂的检查和操作,具有更精细和更强大的数据控制能力。

☐重点掌握并能够灵活运用关系模式规范化的方法和关系模式分解的方法,这也是本章的难点。

关系数据库:基于关系模型的数据库,利用关系来描述现实世界。

⏹关系模式由五部分组成,即它是一个五元组:R ( U, D, DOM, F ) ☐R:关系名☐U:组成该关系的属性名集合☐D:属性组U中属性所来自的域☐DOM:属性到域的映象集合☐F:属性间的数据依赖关系集合⏹由于D和DOM对模式设计关系不大,因此可以把关系模式看做一个三元组:R <U, F>。

例如:关系模式:S(Sno, Sdept, Sno→Sdept)⏹当且仅当U上的一个关系r 满足F时,r 称为关系模式R <U, F>的一个关系。

数据依赖是数据库模式设计的关键,它是一个关系内部属性与属性之间的一种约束关系,这种约束关系是通过属性间的值是否相等体现出来的数据间的相互关系。

它是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。

数据依赖有很多类型,其中最重要的是:函数依赖(Functional Dependency,简记为FD)多值依赖(Multivalued Dependency,简记为MVD)其中,函数依赖起着核心的作用,是模式分解和模式设计的基础,范式是模式分解的标准。

⏹一个“好”的模式应当:不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。

⏹造成这些问题的原因,是由该模式中的某些数据依赖引起的。

高级数据库知识点

高级数据库知识点

第一章数据库基础知识1.信息就是新的有用的事实和知识。

信息具有有效性、有用性和知识性的特性。

P12.信息具有四个基本特征;(1)信息的内容是关于客观事物或思想方面的知识(2)信息是有用的(3)信息能够在空间和时间上被传递(4)信息需要一定的形式表示。

P13数据是用于承载信息的物理符号。

P14数据的四个特征(1)数据有“型”和“值”之分(2)数据受数据类型和取值范围的约束(3)数据有定性表示和定量表示之分(4)数据应具有载体和多种表现形式。

P25数据处理的概念;围绕着数据处理所做的工作称为数据处理。

数据处理时指对数据收集、组织、整理、加工、存储、传播等工作。

P36数据处理工作分为三类:数据管理、数据加工、数据传播。

P37数据管理:在数据处理中最基本的工作是数据管工作。

数据管理是其他数据处理的核心和基础。

P38数据管理工作包括三项内容:组织和保存数据、进行数据维护、提供数据查询和数据统计功能。

P39传统的数据管理方法是人工管理方法。

P310数据库简称为DB,他是一个按数据结构来存储和管理数据的计算机软件系统。

P311数据库的特征:数据库中的数据具有数据整体性、数据库中的数据具有数据共享性。

P412数据库管理系统简称DBMS,它是专门用于管理数据库的计算机系统软件。

数据库管理系统能够为数据库提供数据的定义、建立、维护、查询、和统计等操作功能,并完成对数据库完整性、安全性进行控制的功能。

P513数据管理系统的操作功能:数据定义功能、数据建立功能、数据维护功能、数据查询和统计功能。

P514数据库管理系统的目标是让用户更方便、更有效、更可靠的建立数据库和使用数据库中信息资源。

P515管理信息系统简称MIS,它是计算机应用领域的一个重要分支。

P616管理信息系统有2个特点管理信息系统是以数据库技术为基础的、管理信息系统一般采用功能选单方式控制程序。

P617一个数据库系统由计算机硬件、数据库、数据库管理系统、数据库应用系统和数据库管理员五个部分构成。

数据库学习笔记与总结

数据库学习笔记与总结

数据库学习笔记与总结1.数据库1.1.基本查询语句1. S electSELECT column_name,column_name FROM table_name;SELECT * FROM table_name;SELECT DISTINCT column_name,column_name FROM table_name;2. W hereSELECT * FROM Websites WHERE country='CN'SQL 使用单引号来环绕文本值,如果是数值字段,请不要使用引号运算符描述= 等于<> 不等于。

注释:在SQL 的一些版本中,该操作符可被写成!= > 大于< 小于>= 大于等于<= 小于等于BETWEEN 在某个范围内LIKE 搜索某种模式IN 指定针对某个列的多个可能值SELECT * FROM Websites WHERE country='CN' AND alexa > 50SELECT * FROM Websites WHERE country='USA' OR country='CN';SELECT * FROM Websites WHERE alexa > 15 AND (country='CN' OR country='USA');3. O RDER BYORDER BY 关键字默认按照升序对记录进行排序。

如果需要按照降序对记录进行排序,您可以使用DESC 关键字。

SELECT column_name,column_nameFROM table_nameORDER BY column_name,column_name ASC|DESC;SELECT * FROM Websites ORDER BY country,alexa;4. I NSERT INTOINSERT INTO table_nameVALUES (value1,value2,value3,...);NSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);5. U PDEATEUPDATE table_nameSET column1=value1,column2=value2,...WHERE some_column=some_value;6. D ELETEDELETE FROM Websites WHERE name='百度' AND country='CN';1.2.高级查询1.LIKESELECT TOP 50 PERCENT * FROM Websites;SELECT * FROM Websites WHERE name LIKE 'G%'"%" 符号用于在模式的前后定义通配符(缺省字母);“_”代替一个字符2.IN、BETWEEN、AS(1) IN 操作符允许您在WHERE 子句中规定多个值(2) BETWEEN 操作符用于选取介于两个值之间的数据范围内的值(3) AS 为表名称或列名称指定别名SELECT * FROM WebsitesWHERE name IN ('Google','菜鸟教程')SELECT column_name(s)FROM table_nameWHERE column_name BETWEEN value1 AND value2;3.JOIN(1)INNER JOIN 与JOIN 是相同的。

数据库复习总结知识点大全

数据库复习总结知识点大全

数据库复习总结知识点大全数据库是指按照数据模型组织、描述和存储数据的集合。

数据库系统是指由数据库、数据库管理系统(DBMS)和应用程序组成的系统。

本文将对数据库的相关知识点进行复习总结,包括数据库的概念、数据库管理系统、关系数据库和面向对象数据库的比较、SQL语言、数据库设计、数据完整性、数据索引、事务和并发控制等内容。

1.数据库的概念-数据库是指按照数据模型组织、描述和存储数据的集合。

-数据库系统是指由数据库、数据库管理系统(DBMS)和应用程序组成的系统。

2.数据库管理系统(DBMS)-DBMS是指用于管理数据库的软件系统,提供了对数据库的访问、操作和管理的功能。

3.关系数据库和面向对象数据库的比较-关系数据库以表格的形式存储数据,使用结构化查询语言(SQL)进行操作,适用于结构化数据。

-面向对象数据库以对象的形式存储数据,使用面向对象的查询语言进行操作,适用于半结构化和非结构化数据。

-关系数据库适用于多表之间关系复杂的数据,而面向对象数据库适用于对象之间关系复杂的数据。

4.SQL语言- SQL(Structured Query Language)是用于管理关系数据库的标准化查询语言。

-SQL包括数据库定义语言(DDL)、数据库操作语言(DML)、数据查询语言(DQL)和数据控制语言(DCL)等部分。

-DDL用于创建、修改和删除数据库和表的结构。

-DML用于插入、更新和删除数据。

-DQL用于查询数据。

-DCL用于授权和撤销权限。

5.数据库设计-数据库设计是指根据应用需求,将实体、属性和关系映射到数据库的过程。

-数据库设计的步骤包括需求分析、概念设计、逻辑设计和物理设计。

-需求分析阶段通过收集应用需求,确定数据库中的实体、属性和关系。

-概念设计阶段将实体、属性和关系转换为概念模型,通常使用E-R图进行表示。

-逻辑设计阶段将概念模型转换为逻辑模型,通常使用关系模型进行表示。

-物理设计阶段根据逻辑模型选择合适的存储结构、索引和数据分布方案。

数据库各章记忆重点

数据库各章记忆重点

数据库各章记忆重点第1章数据是信息的载体,信息是数据的内涵数据库的特征:数据结构化实现数据共享减少数据冗余度数据独立性统一的数据安全保护数据模型的要求:真实模拟世界能为人理解能在计算机上实现数据模型:概念模型(信息模型):实体-联系模型基本数据模型:网状模型层次模型关系模型面向对象模型数据库系统的核心和基础:数据模型数据模型三要素:数据结构数据操作(检索更新)数据约束条件PK 主关键字FK外部关键字关系模式(对关系的描述):格式为关系名(属性名1,属性名2,...,属性名n)自然连接的前提条件:二表之间存在外键约束关系完整性约束(保证数据的完整性和相容性):实体完整性:不能存在两个完全相同的记录参照完整性:必须有外键域完整性用户定义完整性数据库应用模式:客户服务器应用模式(CS)浏览器服务器应用模式(BS)第4章ole对象P74文本框(text box):记录源组合框(combo box)列表框(list box)标签(label)按钮(button)子窗体/子报表(subform/subreport)直线(line)矩形(rectangle)图像(image)图表(chart)复选框(check box):是/否值,独立控件,用对勾表示选项按钮(option group):是/否值,只能选中一个选项按钮,用点表示选项组(option group)切换按钮(toggle button)选项卡控件(tab control)页(page)分页符(page break)超链接(hyperlink)附件(attachment)绑定对象框(bound object frame)未绑定对象框(unbound object frame)窗体类型按是否绑定数据表:绑定窗体未绑定窗体按窗体表现形式:平面窗体分割窗体多项目窗体主/子窗体数据透视图窗体数据透视表窗体选项卡窗体切换面板窗体模式对话框窗体第五章报表分类:表格式报表标签式报表报表视图:报表视图布局试图设计视图打印预览视图第七章计算机基本原理:按序编写自动执行VBA结构化编程过程:进入VBE开发环境;插入模块和过程,并在过程中输入代码;运行代码,得到结果编程界面构成:工程资源管理器窗口属性窗口代码窗口(代码窗口视图:过程视图全模块视图)Ctrl+G 显示立即窗口数据类型:具有的运算确定数据取值范围确定数据在计算机类的表示方式确定Byte 字节型(0-255),boolean布尔型(2字节存储,0变成false,其他值变成true;false 变成0,true变成-1)integer整型,single单精度,double双精度,currency(货币型,声明字符@,变比整型,小数点左边15位,右边4位),date(日期型) string(串类型-变长),学号必须是字符型,默认的是variant,string*length (定长的字符串)例题:常量:一、立即窗口显示常量及对应类型1、?2print 22、?Typename(“江西财经大学”)?Typename(#2009-12-12#)二、Option explict 强制显式声明变量:变量赋值语句let【let】<变量名>=<表达式>将右赋值给左,表达式一般是常量,但也可以是变量a,b,c 结果输出后之间有空格a;b;c 结果输出后无空格函数:系统函数自定义函数举例:monthname(month(date()))Left(b,4)从左求四个字符子串函数Mid(b,3,2)从第三个位置开始,截取2个字符其中b为表达式,如“中华人民共和国”Now()系统当前时间系统函数(其后面的表达式必须有括号,无论表达式是常量还是变量)一、数值处理函数1、三角函数(tan,sin,cos,atn反正切)2、一般计算(exp(数值表达式):自然对数e的数值表达式次方,log(<数值表达式>):数值表达式的自然对数值,sqr求平方根)3、产生随机数(rnd:返回0到1之间的随机数值)4、求绝对值(abs)5、sgn(求符号函数,正号为1,符号为-1)6、取整(int,fix)二、字符函数1、大小写转换转换为大写Lcase转换为小写Ucase2、建立重复字符的字符串建立空格函数space(3)输出3个空格重复字符函数string(3,“中华人民共和国”)将中华人民共和国共和国的第一个字“中”重复3次,即输出“中中中”3、len(“中华人民共和国”):返回中华人民共和国的字符长度,结果为74、设置字符串格式Format(8315.4,“00000.00”)将8315.4转换成后面那种格式,结果输出为08315.40 Format(now,yyyy年MM月dd日hh 时mm分)将现在的时间转换为“XXXX年XX月XX日XX时XX分”的形式5、处理字符串Instr(“江西财经大学”,“财经”):财经的财在江西财经大学第3个位置,所以输出3 Left(“江西财经大学”,4):从左数截取4个字符,得江西财经Right(“江西财经大学,4”):从右数截取4个字符,得财经大学Mid(“江西财经大学”,3,2)得财经,mid(“江西财经大学”,3)未指定长度,则直到尾部,得财经大学Ltrim删除前置空格,Rtrim删除尾部空格,Trim删除前置和尾部空格,注意是尾部,而不是后置6、ASCII值与ANSI值用asc和chr三、日期函数[日期时间类型为:2013-11-22 12:13:11]返回日期或时间计算日期dateadd日期加或减一个时间间隔后的日期Datediff求指定日期间的时间间隔Datepart求日期所在旳季度、日数、周数等转换日期或时间dateserial将时分秒转换为时间类型如dateserial(2010,07,07)得2010-07-07TimeserialDatevalue(date)求日期时间类型的日期Timevalue(date)求日期时间类型的时间Weekday(date)求日期的星期数设置日期或时间Date=#2014-12-13#Time=#13:23:34#计时Timer从午夜开始到现在的秒数四、金融函数五、输入输出函数Spc(22)在当前打印位置输出22个空格符号Tab函数Msgbox函数Msgbox(提示信息,按钮,标题)Inputbox(提示信息,标题,默认值)表达式数值表达式:mod求模运算,即求余数字符表达式:& ?“江西”&“南昌”+日期和时间表达式:?#2010-02-01#- #2013-03-03# 日期差#2010-02-01#-31 前31天的日期#2010-02-01#+31 后31天的日期关系表达式:比较运算符>,<,>=,<=,<>,=Like运算符?,*,#,【A-Z】,【!A-Z 】Is 运算符逻辑表达式not and or xor(抑或,两侧不同时为true) eqv(异同,两侧结果相同时为true),imp: A Imp B=(Not A )Or B 表达式优先级:数值表达式(字符或日期表达式)>关系表达式>逻辑表达式注释符:rem或(’)续行符:-第9章对象是类的实例,对象是由属性和方法(或事件)构成的方法或事件是对象具有的某种功能,在程序代码上表现为一个过程,方法调用属于显式调用,事件调用是隐式的,通常不存在一条语句来说明事件被调用,需要用户去操作,即事件驱动接口:可以实现交互消息:类:生产多个具有相同属性和方法(或事件)的对象模板,类是对象的抽象,对象是类的实例。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

高级数据库复习笔记2007年1月22日10:02对照复习PPT摘下来的一些PPT内容第一章、第二章第一章1、分布式数据库系统定义: 物理上分散而逻辑上集中的数据库系统特点:物理分布性、逻辑整体性、站点自治性分布式数据库系统的分类:同构型、异构型、集中型、分散型、可变型2、为什么需要OODB新领域的应用需求...3、事务处理第二章1、分布式数据库的体系结构2、分布式数据库的问题分布式DB设计;分布式查询处理;分布式并发控制;分布式数据库的可用性3、分布数据独立与分布透明访问分段透明;位置透明;本地映射透明;无透明第三章、第四章第三章 DDB设计1、DDB设计的两个问题分段和分配即:如何分割数据及如何分配这些数据到不同站点2、DDB设计目标优化响应时间/吞吐量/费用/…3、数据分段分段原则:假若有全局关系R被分段为子关系(片段)集合F = {F1, F2, …, Fn}则 F满足完整性、不相交性、重构性水平分段:以关系自身的属性性质为基础,执行“选择”操作,将关系分割成若干个不相交的片段导出分段:从另一个关系的属性性质或水平分段推导出来垂直分段:通过“投影”操作把一个全局关系的属性分成若干组4、数据分配简单模型设所有的读、写、存储代价都是1,仅比较远程读写次数和单机存储代价,选一个最优的仿照作业答案中的做法,可以画个表,写出个事务在各方案下的读写总次数来比较哪个较优。

一般只考虑远程读写,本地操作忽略。

5、最佳适应方法片段i在站点j被应用K执行,k在站点j上激活的频率乘以激活一次的读写总次数,计算一个最大值,片段i就应该存放在相应的站点j上6、所有得益站点方法假设片段i放在站点j上,计算所有应用对它读的次数和写的次数,如果读的次数比写的次数多,即Bij>0,那么就应该把i放在站点j上第四章分布式查询处理1、全局查询:涉及多个站点数据, 优化复杂局部查询:只涉及本地. 单个站点的数据, 优化同集中式2、查询变换下推 PJ(投影), SL(选择),上推UN ;消除公共子表达式;将全局转换为段上查询;消除空关系;分组操作与聚集操作第五章、第六章第五章1、基于半连接操作的连接操作目标:减少通讯量执行步骤如下:从S中选择B这一列,发送到site r Cost = C0+C1*Size(B)*Val(B[S])在r站点执行SJ, 费用为零,令R’=R SJA=B S (R和S在A=B的关系上做半连接)发送R’到site s, 费用 Cost = C0+C1*Size( R )*Card (R’)在r站点计算JN,费用为零。

总费用 CSJ=2*C0+C1*((Size(B)*Val(B[S]) + Size( R)* Card (R’))2、基于半连接的优化SJ 不对称(R SJ S) JN S 的费用CSJ( S SJ R) JN R 的费用CSJ'CSJ’=2*C0+C1((Size(A)*Val(A[R]) + Size( S)* Card (S’))比较CSJ与CSJ’,取最优者3、SDD-1算法思想:计算SJ的得益和损失,循环计算各种可能的SJ情况,选一个得益最大或损失最小的SJ优化方案4、直接查询优化四种算法:利用站点依赖信息的算法;分片与复制算法;站点依赖和数据复制结合算法;Hash 划分算法5、分段关系的连接第六章面向对象模型1、面向对象模型借鉴面向对象的设计方法而建立的模型2、面向对象方法以客观世界中的客体为注视目标的方法特点:通过可构造的手段将客观世界表示出来,也即可以用有限的构造手段与有限的步骤建立一个客观世界的模型3、面向对象数据模型用对象与类结构以及类间继承与组合关系建立数据间的复杂结构关系4、面向对象数据库管理系统OODBMS必须满足两个基本条件:支持核心的面向对象数据模型;支持传统数据库系统所具有的数据库特征5、对象结构结构主体由三种基本结构及其组合而成:元组结构(tupe_structure);集合结构(set_structure);列表结构(list_structure)6、类型的实例化GOM类型的实例化过程第一步说明对象变量第二步执行赋值语句第三步对空对象的每个属性进行实际值的初始化工作7、对象标识标识对象的三种方法:内容标识—关键字标识符;地址标识—物理对象标识符;逻辑对象标识符8、持久性持久性Persistence :当程序的执行终止后,其创建的构件和数据仍然存在GOM中持久化构件:对象类型;对象实例;变量一个对象实例的持久化可以采用以下几种途径:按类型持久:一个持久化类型的实例可以自动确认为持久的按创建持久:将持久操作与初始化操作绑定,即将持久对象与临时对象采用不同的初始化子提供一个持久化操作,即用显式的持久化操作将对象持久化。

即将持久化声明延迟到对象创建之后按引用声明持久:仅对一个(或多个)对象显式的声明为持久对象(根对象)。

其他对象的持久化定义为沿着根对象的引用链进行持久化扩展第七章、第八章第七章对象行为说明1、操作分类实例的构造,销毁:该类操作属函数操作,将返回一个新的对象实例OID可细分为两类:原始构造:通过创建函数创建特定类型的新实例例: matrix$create(i)一般构造:通过执行某些计算而创建新实例。

即新实例是对老实例的运算过程中产生的实例状态的查询:该类操作称为观测函数(observer function),它返回一个相应对象的内部状态转换操作:该类操作是一个过程,它将按照参数内容改变被激活的对象的内部状态转换操作会改变DB的状态,因此,设计该类操作时必须考虑DB的一致性状态维护问题2、类型相关操作操作说明:declare <OperationName>:<parameter Type List> -> <ResultType> [code <CodeName>]操作定义子句:define <codeName>[“(“<parameterlist>”)”] isbegin<Variable section><Operation Body>end3、对象封装为了保证对象状态转换的一致性,必须对所有的转换操作进行必要的封装。

将可能造成不一致的转换操作私有化,或者,将其增加了维护状态一致性的操作后再放到public序列中4、重载提供了在同一个名字空间下,语义相关但操作内容不同的操作名的重用。

要求参数类型和个数不同5、自由操作用户在类型框架外定义的与类型无关的操作。

Persistent declare distance: Vertex, Vertex → float Code FreeDistanceCode;Define FreeDistanceCode(p,q) isreturn p.distance(q);自由操作的实现最终是调用类型相关操作来构建第八章联系的实现1、联系的类型对象类型间通过属性的引用建立了对象实例间的联系。

二元联系中,二个对象间的联系语义有1:1,1:N,N:1,N:M2、不同类型的实现方法第九章、第十章第九章继承1、对继承概念的需求:2、继承含有三方面语义:特化/泛化的抽象语义;子类型是父类型的一个扩展;可替换性语义(Substitutability)3、继承的操作重定义重定义用refine标识,对操作体进行重写,即定义子类型自己的操作版本重定义的作用:既支持了操作的继承,又支持了子类型的特殊需求从当前接受者对象的直接类型开始,沿着继承的层次结构中指向根ANY的路径进行搜索,所遇到的第一个操作的实现体被执行第十章多态1、多态操作需求在数据库概念上,有许多操作,例如查询操作,需要一个通用的独立于类型的格式,从而增加了软件设计的灵活性和可复用性2、多态操作的分类特定的(adhoc)多态:即是普通的重载操作包含多态:允许一个特定类型的操作可以作用在子类型对象上有界多态:多态的一般化描述,一个操作可以定义在多种类型上对表结构类型长度计算的多态操作polymorph declare length(\ListType<=<ElementType>):\ListType||->intcode polyLength;define polyLength isvar item:\ElementType;I:int:=0;beginforeach (item in self)I:=I+1;return I;end define polyLength;第十一章、第十二章第十一章多重继承与多重置换1、多重继承--子类从一个以上的超类继承属性和方法2、多重替代--不同类型对象之间的相互替代3、多重继承二义性操作(OP)的歧义--操作冲突操作冲突解决方案:方法一定义优选权,允许用户指定继承的优先权用户通过对Supertype子句中超类型队列来指定优先权方法二--显式重命名对所继承的同名的操作,分别在当前子类型中重新命名Type OT Supertypes OT1(renames op to op1)…OTm-1(renames op to opm-1)OTm,is …方法三重定义操作,对op进行重新精化4、多重置换的瑞士军刀例type SwissKnife Supertype Knife isbody [scissor : Scissor ];fashion Scissor via self.scissor;…end type SwissKnife;语句fashion Scissor via self.scissor 的语义为只要瑞士军刀当作scissor看待,则所有的方法调用均转移到SwissKnife的Scissor部件第十二章关联对象访问1、二种查询语言GOMql、GOMsqlGOMql是基于关系语言QUEL在面向对象上的扩展GOMsql是SQL在面向对象上的扩展GOMQL怎么写?不带参数的选择操作多态选择操作说明为Polymorph overload select (\t1<={\t2}) :\t1 || ( \t2 || -> bool ) -> \t1Code selectNoParam语义为类型\t1:是一个集合类型,其元素类型为\t2Select操作的两个变元:接受者类型为\t1,另一个变元是一个布尔函数,它对类型为\t2的对象进行选择,返回一个布尔型结果Select语义:对t1的元素用布尔函数进行筛选例子define selectNoParam(selPred) isvar result: \t1;candidate: \t2;beginresult.create; !! 生成空结果集foreach (candidate in self)if candidate.selPred then result.insert(candidate);return result;end define selectNoParam带参数的选择操作该参数是为选择谓词服务的,所以需要在谓词函数中说明由于在引用时,显然需要由Select来引用,因此,在Select的参数表中也要说明,规则如下:poly overload select (\t1<={\t2}):\t1||(\t2||\t3 -> bool), \t3 -> \t1语义:其中类型\t3可以是任何类型,它的约束条件是Select的第三个参数类型\t3,必须与选择谓词所需一个参数类型一致GOMSQL怎么写?就是普通SQL,加上对象的概念例子Selectb.weight from b in Brep where =“cubo#5”嵌套查询Select f Form f in(select b.faces from b in Brep where b.weight>1000)where f.surface>10select an.someAttrfrom an in someSet.A1.A2.….An2、关联选择操作函数联接利用引用链建立对象集合间的联接当引用路径表达式中如果有集合属性,则需要连接例select , from b in BRep, f in b.faceswhere f.surface > 20范围变量b与BRep类型对象集合捆绑,而b.faces寻找通过faces属性与b相关联的Face类集合第十三章事务管理与恢复1、事务概念事务是访问或更新各种数据项的程序执行单元.事务必须保证数据库的一致性事务执行期间数据库可能不一致当事务提交(commit)时数据库必须是一致的事务性质:原子性、一致性、持久性、独立性事务状态:活动、部分提交、失败、夭折、提交2、事务代理事务代理(Agent)应用在各个Site上执行的若干进程,称作应用在该Site上的代理。

相关文档
最新文档