四级数据库重难点分析

来源:互联网 发布:工程管家软件 编辑:程序博客网 时间:2024/06/05 00:29
 引言
1. 数据是描述现实世界事物的符号记录,是用物理符号记录下来的可以识别的信息。
   数据是信息的符号表示,是载体;信息是数据的语义解释,是内涵。
2. 数据模型是对现实世界数据特征的抽象,是数据库系统的形式框架,用来描述数据的一组概念和定义,包括描述数据、数据联系、数据操作、数据语义以及数据一致性的概念工具。
   满足三条件:比较真实地模拟现实世界;易于人们理解;易于计算机实现
   三个组成要素:数据结构(静态,数据对象本身结构及之间的联系)、数据操作(对数据对象操作及操作规则的集合)和完整性约束(语义约束:数据模型、数据内部及之间联系)
3. 模式是对数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,也称为逻辑模式或概念模式。
外模式是对数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示,也称为子模式、用户模式或用户视图。
内模式是对数据库中数据的物理结构和存储方式的描述,也称为物理模式或存储模式。
当数据库模式发生变化时,通过调整外模式/模式间的映像关系,使得应用程序不必随之修改,从而保证数据与应用程序间的逻辑独立性,简称数据的逻辑独立性。
当数据库数据的物理存储结构改变时,通过调整模式/内模式映像关系,保持数据库模式不变,使数据库系统的外模式和应用程序不随之改变,保证数据与应用程序间的物理独立性,简称数据的物理独立性。
4. 数据库是存储在计算机内的共享数据集合,数据库管理系统是一种数据管理系统软件。数据库系统则是在计算机系统中引入数据库后的软硬件系统构成,包括了数据库、数据库管理系统和数据库应用程序。
5. DBMS的主要功能有数据定义、数据操纵、数据库运行管理与控制、数据库建立与维护。
DBMS包括查询处理器和存储管理器。查询处理器实现面向用户的查询分析处理和优化功能。存储管理器为用户和应用程序提供了访问存储在数据库文件中的应用数据的接口。
6.关系模型 用二维表表示实体及实体之间的联系,现实世界中的每个客观对象对应表中的一行叫做一条记录,表中的每个列(属性)描述对象类的某一特征,列的值(属性的取值)刻画和描述客观对象的某一具体的特征。
 优缺点:建立在“集合”“关系”上,严格成熟的理念基础;用关系表示实体及之间联系,简单易懂;存储路径透明,较好的数据独立性和安全保密性;查询效率低于非关系模型。

数据库应用系统生命周期

2.1  软件生命周期是指软件产品从考虑其概念开始,到该产品不再使用的整个时期。一般包括概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、安装部署及交付阶段、运行阶段与维护阶段。数据库应用系统需求是指用户对数据库应用系统在功能、性能、行为、设计约束等方面的期望和要求:数据及数据处理、业务、性能、其他存储安全备份与恢复等。

2.2 数据库应用系统生命周期模型

1.瀑布模型原理,项目规划、需求分析、系统设计、实现与部署、运行管理与维护五部分
2.快速原型模型和增量模型原理,允许渐进、迭代地开发DBAS。
3.根据DBAS的软件组成和各自功能,细化DBAS需求分析和设计阶段,引入了数据组织与存储设计、数据访问与处理设计、应用设计三条设计主线,分别用于设计DBAS中的数据库、数据库事务和应用程序
4.设计阶段细分为概念设计、逻辑设计、物理设计三个步骤,每一步涵盖三条设计主线。

需求分析及功能建模方法
3.1 数据元素(列)是数据处理中的最小单位。
3.2 DFD图:数据流(标有名字的箭头)、处理、数据存储(横圆柱)、数据源/终点(棱形)
3.3 IDEF0图:更好地理解需求;ICOM(输入、控制、输出、机制)码;至少一个控制和输出箭头。A-0;A0(顶层图);A1;A11
3.4 DFD与IDEF0的比较:结构化分析思想:自顶而下逐级细化
1.DFD图用箭头也叫数据流来描述数据移动的方向、数据处理之间的数据依赖关系,IDEF0图也用箭头表示数据流,但不强调流或顺序,强调数据约束,箭头语义更丰富。
2.DFD模型有四种元素,IDEF0图只有两种:箭头和活动
3.IDEF0图更加规范。其概念、建模方法、画图规则等均有说明和规定
4.IDEF0模型结构更清楚,便于理解和沟通
3.5 结构化分析及建模方法的优点:
1)不过早陷入具体的细节,从整体或宏观入手分析问题,如业务系统的总体结构,系统及子系统的关系。
2)通过图形化的模型对象直观地表示系统完成什么功能,方便系统分析员理解和描述系统。
3)模型对象不涉及太多技术术语,便于用户理解模型。
数据库概念设计与数据建模
4.1 概念设计的目的和任务:面向现实世界,理解和描述应用领域中的数据需求,分析确定系统需要存储和处理什么数据。过程:确定实体集;确定联系和联系类型;建立由信息模型表示的业务模型;确定实体集属性;优化信息模型。
4.2 实体集描述具有相同属性特征和性质的事物集合;属性描述实体集具有的某一特征或性质
4.3 IDEF1X:标定型(子依父实例才标定)(确定型);非标定型(确定型);分类;不确定
关系数据库逻辑设计
5.1 关系数据库:按照二维表格组织和存储的相互关联的关系(表)的集合。
关系数据库采用关系模型在计算机中组织、存储、处理和管理数据。5.2 主码约束:惟一性;最小性,不能取空值,并且取值要唯一
外码约束
:如果两个关系R和S,X是R的属性或属性组,且X不是R的码,但X是S的码,则称X是R的外码。或者取空值,或者等于S中某个元组的主码的值
5.3 逻辑设计的内容:定义和描述数据库的全局逻辑结构、数据之间的关系、数据的完整性等
目的:得到实际数据库管理系统可以处理的数据库模式。
步聚:ER图转化关系模式;优化关系模式;数据完整性设计;外模式设计
5.4 关系模式描述关系的静态结构,由模式名、属性、完整性约束组成,关系是一个表中记录的集合,关注和强调的是值(模式实例)的集合,也是关系模式在某一时刻状态的反映。
5.5 关系的完整性(完整性约束):对关系所满足条件的定义。作用:限定和检查数据库所含实例的合法性和正确性。静态:主码、外码、域(用户定义);动态:基于业务规则
5.6 伪传递规则:X-Y,YW-Z,则XW-Z成立。
5.7 规范化设计理论的主要内容是范式,即关系模式满足的条件,它是数据库逻辑设计的指南,也是衡量关系模式设计优劣的标准。目的:消除数据冗余及避免操作异常,基本过程:对关系进行分解。一个低级范式的关系模式通过分解(投影)方法可转换成多个高一级范式的关系模式的集合,这个过程叫规范化
5.8 1NF:R的每一属性均不可再分;
2NF:是1NF且每个非主属性完全依赖于主码。在1上消除非主属性对主码的部分函数依赖;
3NF:是1NF且每个非主属性只依赖于主码。在2上消除非主属对主码的传递函数依赖。
5.9 ER模型转换关系模型:实体集转为同名关系;联系转为一个关系,各实体集的码及联系的属性转为关系的属性(1:1均可、1:n取n、m:n取集);合并具有相同码的关系。
数据库应用系统功能设计
7.1软件体系结构:软件架构={构件,连接件,约束}
7.2 软件设计包括系统的总体结构设计、系统的过程设计、系统的数据设计三方面内容(+人机界面设计),从工程管理的角度,分为概要设计、详细设计
7.3 应用软件分为数据库事务和应用程序。后者一方面可以与数据库事务协调合作,另一方面还可实现与数据库访问无关的功能,如通信、人机交互。
7.4 事务:具有逻辑独立功能的一系列操作的集合,实现了某些特定的业务规则。
7.5 事务概要设计的核心是辨识和设计事务自身的事务处理逻辑,采用面向数据流的程序设计方法设计事务内部的数据处理流程和结构。
7.6 C/S结构特点:数据管理和数据处理被分在客户端和服务器上;服务器可支持多个客户端;客户端也可访问多个服务器;客户端=人机交互+数据处理
B/S结构特点:表示层,WEB浏览器;功能层,WEB应用服务器;数据层,DBMS服务
优点:实现人面交互、应用业务逻辑处理、数据管理三层分离,提高了系统的可维护性;用WEB浏览器可访问多个异构应用平台,解决了跨平台数据管理问题。
SQL
8.1 SQL=Structured Query Language,结构化查询语言
8.2 二进制字符串是用十六进制表示的,0x前缀
8.3 创建表:CREATE TABLE Table_Card
(CardID varchar(8) NOT NULL,
StartDate datetime NOT NULL,
EndDate datetime NOT NULL,
Score int NOT NULL CHECK(Score >=0) DEFAULT 0,
State char(1) NOT NULL CHECK(State in (0,1,2)),
Sex char(1) CHECK(Sex in(‘男’,’女’)),
Age int CHECK( Age between[16,85]),
CustomerID varchar(8),
CHECK(EndDate > StartDate),
PRIMARY KEY (CardID),
FOREIGN KEY (CustomerID) REFERENCES Table_Customer (CustomerID) )
删除表:DROP TABLE Table_Card
修改表:ALTER TABLE Table_Card ADD CardType char(4) NULL
ALTER TABLE Table_Card ALTER COLUMN CardType char(8)
ALTER TABLE Table_Card DROP COLUMN CardType
8.4 SELECT Cname FROM Tablb_Customer WHERE
Address IN (‘海淀区’,’朝阳区’) AND
age BETWEEN 40 AND 50 AND
Cname LIKE ‘[王张李]%’ (‘王_ _’)
ORDER BY StartDate ASC, EndDate DESC
8.5 除COUNT(*)不忽略空值外,其他函数COUNT(DISTINCT 列名)、SUM()、AVG()、MAX()、MIN()均忽略空值。均返回单值。
SELECT SUM (Score),MAX(Age),MIN(Age),AVG(Age),COUNT (DISTINCT ..)FROM Table
8.6 分组(GROUP BY)依据列不能是text,ntext,imagebit类型的列。先分组后计算
统计每种类别商品的商品数,只列出商品数大于4个的商品类别编号和商品数:
SELECT GoodClassID as 商品类别编号,COUNT(*)as 商品数 FROM Table_Goods
GROUP BY GoodClassID HAVING COUNT(*)>4
8.7 自连接:查询与王晓在同一个区的顾客的姓名及地址:
SELECT T2.Name,T2.Address FROM Table_Customer as T1 JION Table_Customer as T2
ON T1.Address = T2.Address WHERE T1.Name = ‘王晓’ AND T2.Name !=’王晓’
子查询:一个SELECT语句嵌套在一个SELECT、UPDATE、INSERT或DELETE语句中
SELECT Name,Address FROM Table_Customer WHERE Address IN
(SELECT Address FROM Table_Customer WHERE Name=’王晓’) AND Name!=’王晓’
8.8 外连接:LEFT OUTER JOIN 左外连接(左表全输出)RIGHT OUTER JOIN 右外连接
8.9 子查询: [NOT] IN()集合 不相关子查询,先内后外
WHERE 列 =/</> () 比较 不相关子查询,先内后外
[NOT] EXIST(SELECT *)存在 相关子查询,先外后内
8.10 修改数据INSERT [INTO]表名 [列名表] VALUES(值列表)
UPDATE 表名 SET 列名=表达式 [WHERE子句]/ DELETE [FROM] 表名 [WHERE子句]
分情况修改:UPDATE Table_Goods
SET SalePrice= CASE GoodsClassName
WHEN ‘家用电器’ THEN SalePrice – SalePrice*0.05
WHEN ‘服装’ THEN SalePrice + SalePrice*0.06
ELSE SalePrice
END
FROM Table_Goods a JION Table_GoodsClass b ON a.ClassID=b.ClassID
8.11 创建索引CREATE [UNIQUE][CLUSTERED][NONCLUSTERED]INDEX 索引名
ON 表名 (列名 [顺序(ASC/DESC)])
8.12 视图:由从数据库基本表中选取出来的数据组成的逻辑窗口,是一个虚表数据库只存放视图的定义而不存放视图包括的数据。对视图的操作最终都会转换为对基本表的操作。
CREATE VIEW 视图名 [视图列名表]
AS
SELECT 语句
[WITH CHECK OPTION]
作用:简化数据查询语句;使用户从多角度观察同一数据;提高了数据安全性(屏蔽掉敏感数据);提供一定程度的逻辑独立性
8.13 定点数:numeric(p,q)或decimal(p,q),p为精度(数字位个数),不大于38,q为小数位个数;bit类型:只存储1和0,不多于8个bit列则只用1个字节存储
8.14 Char(n)代表的是普通字符编码按定长存储的字符串,“n”的含义是字符的个数,固定占用n个字节的空间。varchar(n) 代表的是普通字符编码按不定长存储的字符串,“n”的含义也是字符的个数,按字符的实际长度占用空间。
事务调度与并发控制
9.1 调度:定义在多个事务上的调度是这些事务的所有操作的一个执行序列,代表了这些操作的执行顺序;冲突操作:事务Ti 的操作Ii与事务Tj的操作Ij是冲突的,当且仅当Ii 和 Ij访问数据库中同一个数据项Q,并且Ii 和 Ij中至少有一个是写操作write(Q);冲突可串行:一个并发调度冲突等价于某个串行调度(判断一个并行调度是否正确)
死锁是指数据库系统中部分或全部事务由于无法获得对需要访问的数据项的控制权而处于等待状态,并且将一直等待下去的一种系统状态。
9.2 ACID:Atomicity原子性;Consistency一致性;Isolation隔离性;Durability持久性
9.3 1级加锁协议要求事务T在修改数据项Q之前必须先对Q加X锁,直到事务结束才释放该锁。事务结束包括正常结束(commit)和非正常结束(rollback)。但事务如果是只读Q而不对其进行修改,是不需要对Q加锁的。
2级加锁协议是在1级加锁协议基础上,要求事务T在读取数据项Q之前必须先对其加S锁,读完Q后可以立即释放S锁。
3级加锁协议则是在1级加锁协议基础上,要求事务T在读取数据项Q之前必须先对其加S锁,但是需要等到事务结束时才释放该S锁。9.42阶段锁协议将每个事务的执行过程分为加锁阶段和解锁阶段。在加锁阶段,事务可以申请获得数据项上的任何类型的锁,但不允许释放任何锁。在解锁阶段,事务可以释放任何数据项上的任何类型的锁,但不能再申请任何锁。每个事务开始执行后就进入了加锁阶段。当第一次释放锁后,即转入解锁阶段。
9.5解决死锁主要采用死锁预防和死锁检测与恢复两类方法。
死锁预防利用死锁预防协议,通过破坏死锁产生的必要条件来避免系统进入死锁状态。一次性加锁法;顺序加锁法
死锁检测与恢复则是允许系统进入死锁状态,并且定期检查系统是否发生死锁。当发现系统发生死锁后,采取相应的恢复机制使系统摆脱死锁状态。9.6活锁产生的原因是在系统非死锁状态下,某些事务由于始终无法获得对所需访问的数据项的控制权而长期等待下去,无法继续执行。
9.7 锁粒度大:被加锁数据项少、事务并发执行度低、系统开销小;锁粒度小则反之
9.8 基于锁的并发控制技术的原理 P166
数据库的实施、运行和维护
10.1 试运行:功能测试;性能测试
10.2 数据库维护数据库的转储和恢复;数据库的安全性、完整性控制;数据库性能的检测和改善;数据库的重组和重构
10.3 数据库安全:行政手段制定规范;权限管理、口令等;维护多个数据副本;防及除毒
10.4 数据库重组:按照系统设计要求对数据库存储空间进行全面调整;数据库重构:业务小范围变化需对数据库逻辑结构作必要改变。
10.5 数据库监控分析:DBA借助相应工具监测数据库系统的运行情况,对监测数据进行分析,评估整个系统的运行状态,为系统的安全运行和性能优化提供依据。
10.6 数据库空间管理:数据量增加和碎片使性能降低;空间溢出会带来灾难性停机故障。
包括:创建修改删除数据库空间、新建移动关联数据文件等。
10.7 数据库参数调整:外部调整:CPU、网络;调整内存分配(改善程度大);调整磁盘I/O(I/O时间是响应时间的最大组成部分);调整竞争
10.8 数据库查询优化:合理使用索引;避免或简化排序(Order by、Group by,磁盘排序比内存排序开销大速度慢);避免相关子查询、外连接(左右连接比内连接消耗大);存储过程
10.9 属于Oracle 但不属于SQL Server的逻辑和物理空间结构:表空间、段、区

故障管理
  11.1 故障种类:事务内部故障(事务回滚撤消修改)、系统故障(影响事务不坏数据)、介质故障(软件容错、硬件容错)、病毒
  11.2 系统故障对策:重启,撤消(UNDO)未提交的事务,重做(REDO)已提交的事务
  11.3 软件容错:备份、日志文件,利用恢复技术;硬件容错:双物理存储设备
  11.4 恢复基本原理:冗余,即所有数据均可通过存储在别处的冗余数据来重建。
  11.5 对于经常进行数据操作的数据库:完全转储+差异转储
  11.6 以记录为单位的日志文件:开始标记(Ti BEGIN TRANSACTION)、结束标记(Ti COMMIT或者Ti ROLLBACK)、每个事务的所有操作(Ti,A,50,80)
  11.7 以数据块为单位的日志文件:存放更新前和更新后的整个数据块。只有事务标识和被更新的数据块,没有操作类型和操作对象。
  11.8 日志的作用:用来进行业务故障和系统故障恢复;协助后备副本进行介质故障恢复(动态转储必用);记录操作监视行为分析问题
  登记原则:登记次序严格按并行事务执行次序;必须先写日志文件再写数据库
  11.9 检查点:最大限度减少数据库完全恢复时所必须执行的日志部分(针对系统故障)。
  11.10 数据库镜像:提高数据库可用性的解决方案(比如介质故障,两台服务器相互备份)
  优点:提供完整或几近完整的数据冗余,增强数据保护;发生介质故障时,数据不会丢失且服务不会中断,提高数据库可用性;提高镜像数据库在升级期间的可用性。
  双机互备援模式(均为主);双机热备份模式(一主一备份机)。数据库镜像可用于并发操作。
  11.11 RAID廉价冗余磁盘阵列:(镜像冗余、)校验冗余:对成员磁盘上的数据执行异或(XOR)操作得到其校验值并存放在另外的校验磁盘上。当某个磁盘发生故障时,只须计算其他磁盘上的校验数据和数据的异或便可重新得到该磁盘的值。

SQL Server2000数据库管理系统
12.1 四个服务:SQL Server 核心服务;
SQL Server Agent:代理服务,代理定期进行的管理工作;
DTC:Distributed Transaction Coordinator,分布式事务协调器,同一事务访问多个服务器
Microsoft Search:全文检索服务
12.2 四个版本:企业版(全部功能、大型数据库)、标准版(小部门)、开发版(同企业版,作开发测试系统用,不作生产服务用)个人版(移动环境、本地数据)
12.3 服务帐户:使用本地系统帐户:自动取当前登录到Windows的用户,没有Windows的网络访问权限,适用于非网络服务器操作系统(如XP);使用域用户帐户:使用Windows身份验证设置连接到SQL Server,用户必是Windows系统管理员,适用于网络服务器OS
12.4网络库:在SQL S客户端和服务器间传递网络数据包。服务器可一次监听多个网络库
12.5 SQLServer的两大类数据库系统数据库:DBMS自动创建及维护,存放维护系统正常运行的信息,master(系统级信息)、msdb(支持自动执行任务)、model(所有用户数据库的公共信息)、tempdb(临时数据库),示例Pubs、Northwind;用户数据库
12.6 估算存储空间:SQLServer数据存储单位为页(Page),一个数据页是一块8KB的连续磁盘空间,行不能跨页存储,一行数据的大小不能超过一页的大小。一个表10000行数据,每行3000字节,则需要(10000/2)*8KB=40MB的空间。
12.7 主数据文件:扩展名为.mdf,包含数据库系统信息并可存放用户数据库数据,每个数据库只有一个主数据文件。辅助数据文件:扩展名为.ndf,数据量很大时使用,可存放在不同的磁盘驱动器上,以便得利用多个磁盘上的存储空间并提高数据存取的并发性。
12.8 每个数据文件及日志文件(.ldf)初始大小均不得小于512KB,主数据文件大小不得小于model数据库主数据文件,日志文件最好不小于1MB
12.9 创建数据库CREAT DATABASE jessymin
ON ――表示数据库按下面参数创建
( NAME = jessymin, ――逻辑文件名
FILENAME = ‘…\MSSQL\Data\jessymin_Data.mdf’, ――OS下的物理文件名
SIZE = 10,――文件初始大小,单位默认为MB,下同
MAXSIZE =30,――文件最大大小
FILEGROWTH = 5,――文件增量,为0表示不自动增长,默认按当前10%增长
LOG ON ――表示该数据库日志文件按下面参数创建
(……..同上,只是物理文件名为jessymin.LDF)
12.10 删除数据库:DROP DATABASE jessymin。删除六种数据库对象均用DROP
12.11 Transact-SQL:非过程化高级语言,全司变量@@,局部变量@,局部变量可以是自定义类型但不能是text或image类型。
12.12 Transact-SQL示例:计算1+2+3+…+100的和:
DECLARE @i int, @sum int
SET @i = 1,@sum = 0 --SET可换为SELECT
WHILE @i <=100
BEGIN
SET @sum = @sum + @i
SET @i = @i +1
END
PRINT @sum
12.13 DTS(Data Transformation Service)数据转换服务。注意区别DTC(分布式事务协调器)。导出数据时用户必须是要连接的数据库服务器的合法用户,且对要导出的表具有查询权限
备份和恢复数据库
15.1 备份的两种方式:先创建备份设备(备份数据库的场所),再将数据库备份到备份设备上(永久备份设备);直接将数据库备份到物理文件上(临时备份设备)
15.2 创建磁盘备份设备:EXEC sp_addumpdevicedisk’,’mydiskdump’,’..\mydump.bak
15.3 常用备份策略:完全备份加差异备份加日志备份,备份和恢复速度都比较快,而且当系统出现故障时丢失的数据较少。
15.4 Transact-SQL语句:BACKUP DATABASE\LOG jessymin TO mydiskdump WITH INIT
WITH INIT表示覆盖掉原有内容,相当于“重写现有媒体
15.5 恢复的一般顺序:先恢复最近的完全数据库备份;再恢复完全备份之后的最近的差异备份;最后按日志备份的先后顺序恢复自最近的完全备份或差异备份之后的所有日志备份。
15.6 Transact-SQL语句恢复过程示例:
1)首先恢复完全备份
RESTORE DATABASE jessymin FROM mydiskdump WITH FILE=1,NORECOVERY
2)然后恢复差异备份(如果有的话)
RESTORE DATABASE jessymin FROM mydiskdump WITH FILE=2,NORECOVERY
3)最后恢复日志文件
RESTORE LOG jessymin FROM mydiskdump
Norecovery表示对数据库的恢复操作尚未完成,相当于“使数据不再运行,但能还原其他事务的日志文件”。默认为RECOVERY。
VB开发环境与数据访问接口
16.1 标准数据绑定控件:TextBox、CheckBox、ListBox、ComboxBox等
外部(ActiveX)数据绑定控件:DataCombo、DataList、DataGrid、MSHFGrid等
16.2 DBMS支持的两种数据接口:专用接口(与特定的DBMS有关);通用接口(屏蔽掉每个DBMS底层接口的差异,提供一种标准的访问方法)
16.3 通用接口:ODBC、OLE DB、JDBC,让应用程序具有很好的适应性和可移植性;具备同时访问多种DBMS系统的能力。
16.4 ODBC(只访关系型DB):开放数据库互连Open DataBase Connectivity,ODBC应用系统大致工作流程从开始配置数据源到回收各种句柄为此。句柄是32位整数值,代表一个指针。
16.5 OLE DB:对象链接与嵌入的数据库Object Linked and Embed DataBase,是Microsof t OLE对象标准的一个实现,是COM对象,是为数据访问而设计的一系列COM接口。
16.6 ADO:动态数据对象ActiveX Data Object,建在OLE DB之上的高层接口集,是介于OLE DB底层接口和应用程序之间的接口,它避免了开发人员直接使用OLE DB底层接口的麻烦。
16.7 ODBC与OLE DB的主要区别
1)ODBC只能访问关系型数据库,而OLE DB可以访问关系和非关系型甚至是无结构的数据。
2)OLE DB克服了ODBC的一个主要缺点:一个ODBC驱动程序需要支持几乎所有的DBMS特征和功能,这需要大量的工作和初始投资,而OLE DB允许DBMS提供商只实现他们产品的一部分功能。
统一建模语言
18.1 UML视图分类:用例视图:用例图;结构视图:类图、对象图;行为视图:顺序图、交互图、状态图、活动图;实现视图:组件图;环境视图:部署图
18.2 类与类之间有关联(聚集,共享聚集+组成)、通用化(继承)(带空心三角形的线)、依赖(单向实线)、精化(带空心三角形的线)
18.3 (子系统)的四种可见性还包括实现可见性,与私有可见性类似。A指向B的单向虚线表示子系统B被子系统A引用。
18.4 顺序图强调时间,协作图强调空间,状态图强调一个实体在不同时刻的状态变化,活动图强调程序对象逻辑流程的串行执行顺序和并行次序
分布式数据库、对象数据库和并行数据库
19.1 分布式数据库(物理分散逻辑集中)最基本特征:本地自治、非集中式管理、高可用性;分片透明性(最高级)、位置透明性、局部数据模型透明性构成了分布式数据库的分布透明性。
19.2 分片是对关系(表)的操作,分配是对分片结果的操作。
19.3 分布式数据库的模式结构:全局外模式、全局概念模式、分片模式、分配模式、局部概念模式、局部内模式;系统组成结构:GDBMS全局、GDD、LDBMS局部、CM通信管理
19.4 分布式事务管理:恢复控制(基于两阶段的提交协议)和并发控制(基于封锁协议)
19.5 分布查询数据传输量大的主要原因:连接操作和并操作
19.6 单继承:一颗树;多继承:带根的有向无回路图
19.7 面向对象数据库(面向对象语言中引入数据库):实现方法主要是扩充面向对象程序设计语言,使之能处理持久数据。所谓持久数据,指创建这些数据的程序运行终止后,数据仍然存在于系统之中。数据库中的关系就是持久数据。ObjectStore、Ontos、O2等
19.8 对象关系数据库(关系数据库中引入面向对象):扩展的数据类型定义;继承性;扩充的SQL语言.Informix Universal Server、DB2 UDB、Adaptive Server、Oracle8i、SQL Server
19.9 并行数据库体系结构:共享内存;共享磁盘(中小型);无共享(最好的,银行出纳、民航售票等OLTP类,缺点:通信代价和非本地磁盘访问代价);层次结构(综合)