高级数据库复习笔记
高级数据库知识点
第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)减少数据的冗余度。
(3)数据的独立性。
(4)数据实现集中控制。
(5)数据一致性和可维护性,以确保数据的安全性和可靠性。
主要包括:①安全性控制:以防止数据丢失、错误更新和越权使用;②完整性控制:保证数据的正确性、有效性和相容性;③并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;④故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏(6)故障恢复。
由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。
2.数据库系统是数据库、数据库管理系统、硬件、操作人员的合在一起的总称数据库管理系统,用来管理数据及数据库的系统。
数据库系统包含数据库管理系统、数据库及数据库开发工具所开发的软件(数据库应用系统)。
3.内模式内模式也称存储模式,一个数据库只有一个内模式。
它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
4.外模式也称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
5.数据模型的三要素:数据结构、数据操作及完整性约束条件 1):数据结构,就是前面说的数据在数据区中的存储结构,在关系模型中就是采用的关系模型了,就是“二维表”的形式2):数据操作,指的是对数据的一些操作,包括查询、删除、更新、插入等等3):数据的完整性约束:就是对所存数据的约束规则,有实体完整性、参照完整性等等,就是取值唯一、不能为空等一系列操作6.E-R图即实体-联系图(Entity Relationship Diagram),是指提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
高级数据库技术 笔记
高级数据库技术笔记一、数据库基础概念1. 数据库(Database):是一个组织数据的方法,它以某种方式存储,使数据可以检索,修改和删除。
2. 关系型数据库(RDBMS):使用二维表结构来存储和组织数据,表之间通过字段建立关系。
3. 索引(Index):是一种数据结构,用于快速查找和检索数据。
4. SQL(Structured Query Language):用于与数据库进行交互的高级语言。
二、数据库设计1. 实体-关系模型(ER图):用于表示现实世界中的实体以及它们之间的关系。
2. 规范化(Normalization):通过消除冗余和避免数据依赖来提高数据库的可靠性和性能。
3. 数据库设计原则:保持数据的一致性、完整性、可维护性和可扩展性。
三、SQL高级特性1. 存储过程(Stored Procedure):是一段预编译的SQL代码,用于完成特定任务,并可被数据库反复执行。
2. 触发器(Trigger):是一种在表上定义的事件驱动的程序,它在表数据发生变化时自动执行。
3. 视图(View):是SQL中一种虚拟的表,它基于其他表或查询生成,用户只能看到其中的数据,而无法直接修改。
4. 游标(Cursor):用于遍历和操作大量数据,是处理大量数据时的有效工具。
四、高级查询技术1. 连接(Join):将两个或多个表中的数据进行匹配和关联,以获取更丰富的信息。
2. 聚合函数(Aggregate Functions):如SUM、COUNT、AVG 等,用于对数据进行统计和计算。
3. 子查询(Subquery):在一个SQL语句中嵌套另一个SQL语句,用于获取更详细或更复杂的数据。
4. 排序(Ordering):对查询结果进行排序,以便更方便地分析和比较数据。
五、数据库安全与性能优化1. 用户权限管理:设置不同的用户权限,确保数据的安全性和保密性。
2. 备份与恢复:定期备份数据库,以防止数据丢失或损坏。
3. 性能优化:通过调整SQL语句、优化索引、增加硬件资源等方式提高数据库性能。
IT认证-数据库复习笔记
数据库复习笔记第四章数据库的管理1.标识符:1)标识符第一个字母必须是字母,下划线,@或者是#@局部变量或参数,@@全局变量#临时表或过程,##全局临时变量2)后续字符字母、下划线、@、数字、数字符号标识符是保留字或者空格时,应用“”或者【】2.数据库的建立、修改、删除create database aalter database adrop database a第五章表的管理1.数据类型:Sql server 支持四种基本数据类型:字符和二进制数据类型、日期时间数据类型、逻辑数据类型、数字数据类型1)字符数据类型:用于存储汉字,英文字母,数字符号和其他各种符号,字符型数据类型有定长字符型char(默认长度1,短于指定长度用空格填充),变长字符型varchar(,按输入的实际长度存储,不需要填空格,所需存储空间比char 少,存取速度比char列慢),文本型text(数据量庞大而变长的字符文本数据,不能用作变量或存储过程的参数)Unicode标准字符集:多字节的字符数据类型:nchar(n),nvarchar(n),ntext2)二进制数据类型:用于存储二进制数或字符串定长二进制类型:binary ,(默认值1,存储二进制字符,如程序代码和图像数据,存储长度为实际数据长度+4字节)变长二进制类型varbinary,(存储长度为实际数据长度+4字节)大块二进制类型image,(存储的是二进制数据而不是文本字符,不能用作变量或存储过程的参数)除非数据长度超过8kb,一般宜用varbinary,image可以用来存储超过8kb的二进制数据,如word文档,execl表格,图像或其他文件3)日期时间数据类型Datetime精确到3/100s,他存储两个长度为4字节的整数:日期和时间,对于定义成datetime的数据类型的列,并不需要同时输入日期和时间,可省略其中一个Smalldatetime精确到分钟,只需四个字节的存储空间,时间值按照小时和分钟来存储,插入数据时,以字符串形式传给服务器4)逻辑数据类型也称为位(bit)数据类型,用于判断真假,一个字节,取值为0,1,null,位列不允许建立索引,多个位列可以占用同一个字节5)数字数据类型1)整数数据类型:int(4字节),smallint(2字节),tinyint(1字节),bigint(8字节)2)浮点数据类型:float精确到第15位,8字节存储空间Real精确到第7位,4字节存储空间精确数值数据类型:decimal 【(p[,s])】numeric【(p[,s])】P指精度,小数点左边和右边可以存储的十进制数真的最大个数,s指小数位数,小数点右边可以存储的十进制数字的最大个数货币数据类型:money 8字节smallmoney 4字节输入货币数据时必须在货币数据前加$,如果未提供该符号,值被当成浮点数,可能会丧失值的精度,甚至被拒绝。
高级数据库期末考试复习题重点
1、判断结构完整性直接正比于完整地遵循设计过程的程度。
( T )只要完全遵守数据库设计过程就能完全消除可能遇到的数据库设计问题。
( F)创建数据结构是数据库设计过程的第二阶段。
( F )在座谈中,一般要使用封闭式的问题提问。
( F)在制定任务陈述时,无需了解单位的情况。
( F)应该与用户和管理人员进行座谈,以帮助制定任务目标。
(T )一项目标可以包含不止一个任务。
( F)2、请问任务陈述和任务目标有何关系?它们在数据库设计过程中有何作用?1.与适当的人员进行座谈,并做详细的座谈记录。
2.在座谈的基础上,为你将要设计的数据库制定任务陈述和任务目标。
1、判断可以采用当前数据库的结构作为新数据库的基础。
(F )在座谈中,一般只要使用封闭式的问题提问。
( F )应该同时与用户和管理人员进行座谈。
(F )2、填空(开放式问题)问题可以关注特定的主题;(封闭式)问题允许关注特定主题的具体细节。
完整的字段列表包括(初始字段列表的第三个版本)和(计算字段列表)。
3、什么是计算字段?在编辑初始字段列表时,应该怎样处理它?1.请问你所要设计的数据库当前属于哪种类型?2.请提供分析当前数据库所收集的样本。
3.在座谈的基础上,给出你将要设计的数据库的主题列表、特征列表和完整的字段列表。
1.定义初始表列表的前提条件是什么?2.试述初始表列表的第一版本、第二版本、第三版本分别是如何得到的?3.填空:在最终表列表中要定义(名称)、(类型)和(描述)三项内容。
表的类型有数据表、(子集表)、(连接表)和(验证表)四种。
4 .判断:在刚刚定义的最终表列表中只包含数据表,而在最后设计好的数据库中必须包含四种类型的表。
(F)根据“用最少的字来表达表主题”的原则,我们使用首字母缩写词来对表进行命名是很好的。
(F)表名通常使用名词的复数形式,而字段名通常使用单数形式。
(T)5.试分析下图所示的Instructors表中存在的问题,如何解决?6.填空:表结构中常见的问题有(重复字段)和(冗余数据)两种。
数据库高级应用知识点
第一章:创建数据库和数据表1.1数据定义语言(用于创建数据库及数据表的结构):包括create database,crate table, alter table,drop table, drop database1.2 创建数据库1.3 修改数据库1.4 删除数据库1.5 创建表1.6 修改表结构--修改列的数据类型(添加非空约束)Alter table [表名] Alter column [字段] [字段类型] not null--添加列Alter table 表名add [字段] [字段类型](varchar指明长度)not null--删除列Alter table 表名drop column [字段]--删除约束Alter table 表名drop constraint 约束名--主键约束Alter table 表名add constraint 约束名primary key (字段)--唯一约束Alter table 表名add constraint 约束名unique (字段)--检查约束Alter table 表名add constraint 约束名check(约束表达式)--默认约束Alter table 表名add constraint 约束名default …xxx‟ for 字段名(xxx表示默认值)--外键约束Alter table 表名add constraint 约束名foreign key (字段) references 表名(字段)--标识列约束Alter table 表名add [字段] int identity(1,1) primary key1.7 删除数据表drop table 表名第二章:创建数据库和数据表T-SQL 中的变量p291.定义局部变量:用于批处理,存储过程或是触发器内声明declare @变量名数据类型变量名必须以@符开头,数据类型不能是text,ntext 或image赋值select/set @变量名=表达式/select 字句2.定于全局变量p30全局变量@@xxx 优先于系统及的变量3.函数p31聚合函数count,sum,avg,max, min日期时间函数dateadd() :返回加上一个时间的新时间datediff(): 计算两时间差datename(): 返回年月日星期等字符串datepart(): 返回部分日期字符函数p334.流程控制与语句If [表达式]…else…(满足相应的条件,则执行相应的语句)While 表达式:只要条件为真,就重复执行语句,可以用break,continue关键字在循环内部控制while 循环中语句的执行Waitfor :延迟语句,在指定的时间执行该语句Return 语句:从查询中无条件退出,不再执行return 后面得语句。
数据库复习笔记
数据库概念模型:层次模型,网状模型,关系模型,面向对象模型模式结构:子模式、概念模式、内模式什么是数据库:按照一定结构来组织、存储和管理数据的仓库。
数据库存储的是数据,数据是信息的载体。
信息-->信息采集-->数据(编码),数据-->数据处理-->信息(解码)。
数据库(Database):存放数据的仓库;存放于计算机存储设备;按照一定的规范和格式;数据库管理系统(DBMS):位于操作系统和用户之间的数据库管理软件,主要用于科学、高效管理数据,让和用户更方便地存储、查找和使用数据。
表(关系):由行、列组成的二位关系表数据库管理技术经历了人工管理、文件系统、数据库系统三个阶段。
人工阶段:计算机不通过数据管理;程序和数据是不可分割的整体;数据不能共享;不单独保存数据;文件系统阶段:数据以文件形式持久保存在外部存储设备上;程序和数据实现了分离;数据的逻辑结构和物理结构有了区别;没有专门的数据库管理系统,文件的建立,数据增、删、改、查都要用程序来实现。
缺点:数据冗余;不一致性;数据联系弱数据库系统阶段:为了让数据能在不同应用间实现共享,同时为了用户能更方便使用数据,逐渐形成了数据管理学科分支,计算机中数据又数据库系统来完成。
数据库结构分为3级:1,面向用户或应用程序员的用户级。
2,面向建立和维护数据库人员的概念级。
3,面向系统程序员的物理级。
描述数据库物理存储和实现的细节:1.数据和索引的存储空间分配2.用于数据存储的记录描述(数据结构)3.记录放置数据压缩、加密描述实体、数据类型及约束:1所有实体、实体属性和实体间的联系2.数据的约束3数据的语义信息4安全性和完整性分层模式的意义::1保证数据的独立性,较低层的修改不会影响高层2逻辑独立性:外部模式不受概念模式变化的影响3物理独立性:概念模式不受内部模式变化的影响数据模型定义:对现实世界数据特征的抽象目的:使数据更容易表达、理解数据组成:实体:客观存在的、可以相互区分的事物,可以是具体事物,也可以是抽象事物。
数据库复习重点
数据库复习重点第2章● 1. 数据库(简称DB):是在计算机系统中按照一定的数据模型组织、存储和应用的相互联系的数据集合。
● 2、数据库管理系统(简称DBMS),数据库属于DBMS。
● 3、数据库应用系统或称数据库系统(简称DBS),DBS包括DB、DBMS(核心)、应用系统、user等。
● 4、关系:一个二维表就是一个关系,每个关系有一个关系名。
在Access 2003中,一个关系就是一个数据库文件的表。
● 5、数据模型有3种,①层次模型:树型结构②网状模型有回路③关系模型:用二维表格表示实体与实体之间的模型(ACCESS数据库属于关系数据库)。
● 6、表中的行称为元组,表中的列称为属性。
● 7、数据库有7个对象:表、查询、窗体、报表、宏、数据访问页、模块。
● 8、①表(Table)是数据库中用来存储数据的对象,它是整个数据库系统的数据源,也是数据库其他对象的基础。
②查询(query)是以表为基础数据源的“虚表”。
它一是可以作为表加工处理后的结果,二是可以作为数据库其他对象数据来源。
③窗体(form)是屏幕的工作窗口。
在Access中,可以通过系统提供的,以及自己设计的各式各样美观大方的工作窗口,在友好的工作环境下,对数据库中数据进行处理。
④报表(report)是数据库中数据打印输出显示的一种形式。
⑤宏(macro)是一个或多个操作命令的集合,其中每个命令实现一个特定的操作。
⑥数据访问页(web)可以实现因特网与用户数据库中的数据的相互访问。
⑦模块(module)是由Visual Basic程序设计语言编写的程序集合,或一个函数过程。
第3章表● 1、字段的数据类型:①文本:用于文本或文本与数字的组合,或用于不需要计算的数字,最多可为255个字符。
②是/否:用于记录逻辑型数据。
③数字:用于将要进行数学计算的数值数据,但涉及货币的计算除外。
④日期/时间:用于日期/时间,数值的设定范围是100~9999年。
数据库学习笔记
数据库系统概论什么是数据库:数据库管理系统(DBMS—Database Management System)是一个由互相关联的数据的集合和一组用于访问这些数据的程序组成•第一章::DBMS的目的文件处理系统中存储信息的弊端:数据冗余和数据部一致数据访问困难数据孤立完整性问题原子性问题并发访问异常安全性问题:数据视图数据抽象:物理层逻辑层视图层(概念层)实例和模式:数据库中的数据会随时发生变化,特点时刻存储在数据库中的信息的集合称为数据库的一个实例,而数据总体设计称为数据库的模式,数据库的模式不会发生频繁变化•数据库模式:物理模式(内模式)逻辑模式(模式)子模式(外模式)数据独立性:在某个层次上修改模式定义不影响位于其上层模式的能力•物理数据独立性:修改数据库的物理模式而不必重写应用程序的能力•逻辑数据独立性:修改数据库的逻辑模式而不必重写应用程序的能力•:数据模型数据模型:就是描述数据(数据结构),数据之间的联系,数据语义(数据操作)一致性(完整性)约束的概念工具的集合•物理数据模型逻辑数据模型概念数据模型实体联系模型(E-R模型)E-R图:矩形(实体集)椭圆(属性)菱形(实体间的联系集)线段面向对象模型基于记录的数据模型:关系模型网状模型层次模型数据库语言数据定义语言(DDL):定义数据库模式实现细节数据字典:包含元数据的文件,元数据时关于数据的数据•数据操作语言:(DML Data Manipulation Language)过程化的DML:要求用户指定需要什么数据以及如何获取这些数据;非过程化的DML:只要求用户指定需要什么数据;事务:是数据库应用中完成单一逻辑功能的操作集合,是一个既具有原子性又具有一致性的逻辑执行单元•存储管理器:是为存储在数据库库中的底层数据与应用程序及向系统提交的查询之间提供接口的程序模块•数据库管理员(DBA Database Administration)数据库管理系统:查询处理器部件存储管理器部件数据结构:数据文件:存储数据库中的数据;数据字典:存储关于数据库结构的元数据;由于频繁使用数据字典,因此字典良好的设计和高效实现是非常重要的•索引:提供对数据项的快速访问;统计数据:存储关于数据库的统计信息,这些信息被查询处理器用来选择高效的查询方法.第二章:实体-联系模型实体:是现实世界中可区别于其他对象的"事件"或"物体"。
数据库期末考试复习知识点总结
数据库期末考试复习知识点总结数据库期末考试复习知识点总结数据库是计算机科学领域中非常重要的一个概念,它用于管理和组织数据。
在现代信息技术时代,数据库的应用变得越来越广泛,几乎涉及到所有行业和领域。
而作为数据库专业的学生,在期末考试前进行一次全面系统的复习是至关重要的。
本文将围绕数据库的核心概念、数据库设计、数据库管理系统以及数据库查询语言等方面进行复习知识点总结。
第一部分:数据库的核心概念数据库是以特定方式组织的、存储数据的集合。
在数据库中,数据以表的形式组织,每个表包含多行多列的数据,每行代表一个记录,每列代表一种属性。
数据库的核心概念包括: 1. 数据库模型:数据库模型是定义数据如何在数据库中组织和存储的方案。
常见的数据库模型包括层次模型、网状模型和关系模型。
其中,关系模型是最常用的,使用表格和关系的方式组织数据。
2. 关系型数据库:关系型数据库是基于关系模型的数据库管理系统。
其中,最常用的关系型数据库管理系统包括MySQL、Oracle、SQL Server等。
关系型数据库使用SQL语言进行数据操作。
3. 数据库管理系统(DBMS):数据库管理系统是用于管理和操作数据库的软件系统。
它提供了数据的增删改查等操作,同时还具备数据一致性、安全性和完整性等特性。
第二部分:数据库设计数据库设计是指按照一定的规范和原则,将现实世界的数据转化为数据库模式的过程。
数据库设计的核心内容包括:1. 数据库需求分析:根据用户的需求,确定数据库的功能和应用场景。
需求分析是数据库设计的第一步,可以通过调研、访谈等方式进行。
2. 概念设计:概念设计是根据需求分析结果,抽象出数据库的逻辑结构和关系模式。
在概念设计中,需要确定实体、属性、关系等概念,并使用ER图进行可视化表示。
3. 逻辑设计:逻辑设计是将概念设计转化为关系模型的过程。
在逻辑设计中,需要使用关系模式表示实体和关系,确定关系的主键和外键关系。
4. 物理设计:物理设计是将逻辑设计转化为数据库的具体实现方案。
高一计数据库专业知识点
高一计数据库专业知识点数据库(Database)是指按照数据结构来组织、存储和管理数据的仓库。
在计算机科学领域中,数据库是存储和组织数据的重要工具。
作为一名高一学生,了解数据库的基础知识是非常重要的。
本文将介绍高一计数据库专业的知识点,帮助你对数据库有更深入的理解。
一、数据库的基本概念1.1 数据库的定义数据库是指按照一定的数据模型组织、描述和存储数据的集合。
它是长期存储在计算机内、有组织、可共享的数据集合。
1.2 数据库的分类数据库可以分为关系型数据库和非关系型数据库两大类。
常见的关系型数据库有MySQL、Oracle等;非关系型数据库有MongoDB、Redis等。
1.3 数据库的组成数据库由多个表组成,每个表由多个列和行组成。
表用于存储具有相同属性的相关数据,列表示表的属性,行表示表中的记录。
二、关系型数据库2.1 关系型数据库的特点关系型数据库是指通过建立数据库中不同表之间的关系来存储和管理数据的数据库。
它具有数据一致性、完整性和可操作性强的特点。
2.2 数据库的设计在关系型数据库中,数据库的设计是十分关键的。
主要包括实体-属性-关系模型设计、范式设计以及关系模式的转换等。
2.3 SQL语言SQL(Structured Query Language)是关系型数据库的标准查询语言,通过使用SQL语句可以对数据库进行增删改查操作。
三、非关系型数据库3.1 非关系型数据库的特点非关系型数据库是指不使用关系型结构进行数据管理的数据库。
它具有高扩展性、高可用性和灵活性等特点。
3.2 NoSQL数据库NoSQL(Not Only SQL)数据库是一类非关系型数据库的总称,它主要解决了关系型数据库的扩展性问题。
常见的NoSQL数据库有MongoDB、Redis等。
四、数据库管理系统4.1 数据库管理系统的作用数据库管理系统(DBMS)是指对数据库进行管理和操作的软件系统。
它负责数据的存储、查询、更新和删除等操作。
数据库背诵知识点
第一章数据库系统概述1、数据(Data):是用于承载信息的物理符号。
2、数据的型:指数据的结构。
3、数据的值:指数据的具体数值。
4、数据的结构:指数据的内部构成和对外联系。
5、数据的特征:(1)数据有型和值之分;(2)数据受数据的类型和取值范围的约束;(3)数据有定性表示和定量表示之分;(4)数据应具有载体和多种表现形式。
6、数据库(DB):是一个按数据结构来存储和管理数据的计算机软件系统。
(也是长期存储在计算机内,有组织、可共享的数据集合。
)7、数据库方法与文件方法相比的两个明显优点:(1)数据库中数据具有整体性;(2)数据中数据具有数据共享性;[数据共享性:不同用户可以按各自的用法使用数据库中的数据;多个用户可以共享数据库中的数据资源。
]8、数据库的数据特点:(1)具有较小的冗余度;(2)较高的数据独立性;(3)易扩展性。
9、数据库系统(DBS):指带有数据库并利用数据库技术进行数据库管理的计算机系统。
10、数据库管理系统(DBMS):指专门用于管理数据库的计算机系统软件。
[是为定义、建立、维护、使用和控制数据库而提供的有关数据管理的系统软件。
]11、数据库应用系统(DAS):凡使用数据库技术管理数据的系统。
12、数据库系统及其发展:(1)手工管理数据阶段;(2)文件管理阶段;(3)数据库技术阶段。
13、数据的物理独立性:指应用程序对数据存储结构的依赖程度。
14、数据的逻辑独立性:指应用程序对全局逻辑结构的依赖程度。
15、数据的独立性由三级模式二级映像实现。
三级模式:内模式、模式、外模式;二级映像:外模式/模式映像、模式/内模式映像。
16、数据库管理员(DBA)的取责:(1)应参与数据库和应用系统的设计;(2)应参与决定数据库的存储结构和存储策略工作;(3)负责定义数据的安全性要求和完整性条件;(4)数据库管理员负责监视和控制数据库系统的运行,负责数据库系统的维护和数据的恢复;(5)负责数据库的改进和重组。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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上的代理。