数据库系统概论复习资料(第四版)_第1页
数据库系统概论复习资料(第四版)_第2页
数据库系统概论复习资料(第四版)_第3页
数据库系统概论复习资料(第四版)_第4页
数据库系统概论复习资料(第四版)_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章 绪论数据库(DB):长期储存在计算机内、有组织的、可共享的大量数据集合数据库管理系统(DBMS):位于用户与操作系统之间的数据管理软件(系统软件)。数据库系统(DBS):在计算机系统中引入数据库后的系统。数据管理技术的发展过程人工管理阶段(40年代中-50年代中)文件系统阶段(50年代末-60年代中)数据库系统阶段(60年代末-现在)物理独立性:用户的应用程序与磁盘上的数据库中数据是相互独立的。 当数据的物理存储改变了,应用程序不用改变。逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的。 数据的逻辑结构改变了,用户程序也可以不变。数据模型的组成要素:数据结构:对系统静态特性的描

2、述数据操作 :对系统动态特性的描述数据的约束条件 模式(Schema):数据库中全体数据的逻辑结构和特征的描述外模式(子模式、用户模式):数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述内模式(也称存储模式):数据物理结构和存储方式的描述外模式模式映象:保证数据的逻辑独立性模式内模式映象:保证数据的物理独立性数据库系统的组成:数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员、(用户)数据库管理员(DBA)(1)决定数据库中的信息内容和结构(2)决定数据库的存储结构和存取策略(3)定义数据的安全性要求和完整性约束条件(4)监控数据库的使用和运行周期性转储数

3、据库、故障恢复、监视审计文件(5)数据库的改进和重组性能监控和调优、数据重组(6) 数据库重构第3章 关系数据库标准语言SQLSQL的特点1. 综合统一2. 高度非过程化3. 面向集合的操作方式4. 以同一种语法结构提供两种使用方法(自含式语言(交互式)/嵌入式语言(宿主式))5. 语言简洁,易学易用定义基本表CREATE TABLE <表名> (<列名> <数据类型> <列级完整性约束条件> ,<列名> <数据类型> <列级完整性约束条件> ,<表级完整性约束条件> );修改基本表ALTER TA

4、BLE <表名> ADD <新列名> <数据类型> 完整性约束 DROP <完整性约束名> ALTER COLUMN <列名> <数据类型> ;删除基本表DROP TABLE <表名> RESTRICT|CASCADE; 建立索引 CREATE UNIQUE CLUSTER INDEX <索引名> ON <表名>(<列名><次序>,<列名><次序> );删除索引 DROP INDEX <索引名>;查 询SELECT ALL|DI

5、STINCT <目标列表达式> ,<目标列表达式> FROM <表名或视图名>, <表名或视图名> WHERE <条件表达式> GROUP BY <列名1> HAVING <条件表达式> ORDER BY <列名2> ASC|DESC ;插入单个元组INSERTINTO <表名> (<属性列1>,<属性列2 >)VALUES (<常量1> ,<常量2> )插入子查询结果INSERT INTO <表名> (<属性列1>

6、 ,<属性列2> )子查询;例3 对每一个系,求学生的平均年龄,并把结果存入数据库。第一步:建表 CREATE TABLE Deptage (Sdept CHAR(15) /* 系名*/ Avgage SMALLINT); /*学生平均年龄*/第二步:插入数据 INSERT INTO Deptage(Sdept,Avgage) SELECT Sdept,AVG(Sage) FROM Student GROUP BY Sdept;修改数据UPDATE <表名>SET <列名>=<表达式>,<列名>=<表达式>WHERE &l

7、t;条件>;删除数据DELETEFROM <表名>WHERE <条件>;建立视图CREATE VIEW <视图名> (<列名> ,<列名>)AS <子查询>WITH CHECK OPTION;授 权GRANT <权限>,<权限>. ON <对象类型> <对象名>TO <用户>,<用户>.WITH GRANT OPTION;收回权限 REVOKE <权限>,<权限>. ON <对象类型> <对象名>

8、FROM <用户>,<用户>.;角色的创建CREATE ROLE <角色名>全称量词和逻辑蕴含等价实现:例43 查询选修了全部课程的学生姓名。即查询这样的学生,没有一门课程是他不选修的。 SELECT Sname FROM Student WHERE NOT EXISTS (SELECT * FROM Course WHERE NOT EXISTS (SELECT * FROM SC WHERE Sno= Student.Sno AND Cno= Course.Cno);例44 查询至少选修了学生95002选修的全部课程的学生号码。 不存在这样的课程y,学生

9、95002选修了y,而学生x没有选。 SELECT DISTINCT Sno FROM SC SCX WHERE NOT EXISTS (SELECT * FROM SC SCY WHERE SCY.Sno = ' 95002 ' AND NOT EXISTS (SELECT * FROM SC SCZ WHERE SCZ.Sno=SCX.Sno AND SCZ.Cno=SCY.Cno);不相关子查询相关子查询常用完整性约束实体完整性约束: PRIMARY KEY参照完整性约束: FOREIGN KEY用户定义的完整性约束唯一性约束:UNIQUE非空值约束:NOT NULL检查

10、性约束:CHECKa%b表示以a开头,以b结尾的任意长度的字符串a_b表示以a开头,以b结尾的长度为3的任意字符串违约处理策略拒绝操作NO ACTION级联操作CASCADE置空值SET NULL置缺省值SET DEFAULT聚簇索引:在一个基本表上最多只能建立一个聚簇索引 对于经常更新的列不宜建立聚簇索引数据控制:安全性控制、完整性控制、并发控制、恢复第4章 数据库安全性数据库安全性控制的常用方法:用户标识和鉴定、存取控制(自主存取控制、强制存取控制)、视图、审计、密码存储第六章关系数据理论数据库设计:数据库概念设计(ER模型) 、数据库逻辑设计(规范化理论) 、数据库物理设计函数依赖定义6

11、.1R中的任意两个元组,若X值相等,Y也相等,则XY。X、Y之间是m-1联系(包括1-1)。X称为决定因素。若XY,并且YX, 则记作:XY。若Y不函数依赖于X, 则记作:XY。如果XY,但Y Í X, 则称XY是平凡的函数依赖如果XY,但Y Í X,则称XY是非平凡的函数依赖完全函数依赖与部分函数依赖定义6.2 R(U)中,如果XY,并且对于X的任何一个真子集X都有X Y, 则称Y完全函数依赖于X,记作X Y。若Y不完全函数依赖于X,则称Y部分函数依赖于X,记作XY。传递函数依赖定义6.3 在关系模式R(U)中,如果XY,YZ,且YÍX,YX,则称Z传递函数依赖

12、于X。XY,且Y ÍX:非平凡依赖XY,且YX:不互相依赖(若XY,则Z直接依赖于X)。范式一个低一级范式的模式,通过模式分解可转换为若干个高一级范式的关系模式的集合,这个过程就叫规范化1NF的定义如果一个关系模式R的所有属性都是不可分的基本数据项,则R1NF。2NF的定义关系模式R1NF,并且每一个非主属性都完全函数依赖于R的码,则R2NF。3NF的定义如果R满足2NF,且它的任何一个非主属性都不传递依赖于任何候选码时,则R属于 3NFBCNF定义若每一个决定因素都包含码,则RBCNF如果关系模式RBCNF,必定有R3NF如果R3NF,则R未必属于BCNF。如果R3NF,且R只有一

13、个候选码,则R必属于BCNF。BCNF的关系模式所具有的性质 所有非主属性都完全函数依赖于每个候选码 所有主属性都完全函数依赖于每个不包含它的候选码 没有任何属性完全函数依赖于非码的任何一组属性第四范式(4NF)关系模式R<U,F>1NF,如果对于R的每个非平凡多值依赖XY(Y Í X),X都含有候选码,则R4NF不允许有非平凡且非函数依赖的多值依赖允许的非平凡多值依赖实际上是函数依赖多值依赖多值依赖 XY成立当且仅当对R的任一关系r,r在(X,Z)上的每个值对应一组Y的值,这组值仅仅决定于X值而与其他属性Z值无关。若XY,而Z,则称 XY为平凡的多值依赖,否则称XY为非

14、平凡的多值依赖多值依赖的性质(1)多值依赖具有对称性若XY,则XZ,其中ZUXY(2)若XY,则XY。函数依赖是多值依赖的特殊情况。(3)多值依赖具有传递性若XY,YZ, 则XZ Y(4)多值依赖合成规则若XY,XZ,则XY Z。符号YZ=YZ(5)多值依赖分解规则若XY,XZ,则XYZ。XY-ZXZ -Y函数依赖的逻辑蕴含定义6.11 对于满足一组函数依赖F的关系模式R <U,F>,其任何一个关系r,若函数依赖XY都成立, 则称F逻辑蕴含X Y更好理解的定义设F是关系模式R的一个函数依赖集,X、Y是R的属性子集,如果从F中的函数依赖能够推出XY,则称F逻辑蕴涵X Y,或称X Y是

15、F的逻辑蕴涵。定义6.l2 在关系模式R<U,F>中为F所逻辑蕴含的函数依赖的全体叫作F的闭包,记为F+。Armstrong公理系统Al.自反律: 若Y Í X,则X Y。(平凡的函数依赖)A2.增广律:若XY,则XZYZ。A3.传递律:若XY,YZ,则XZ。公理的推论(1)合并规则:若XY,XZ,则XYZ(2)伪传递规则:若XY,WYZ,则XWZ。(3)分解规则:若XYZ,则XZ,XY。属性集的闭包定义6.13 设F为属性集U上的一组函数依赖,X ÍU, XF+ = A|XA能由F 根据Armstrong公理导出, XF+称为属性集X关于函数依赖集F的闭包例

16、已知关系模式R<U,F>,其中U=A,B,C,D,E;F=ABC,BD,CE,ECB,ACB。求(AB)F+ 。解:设X(0)=AB;(1)计算X(1): 逐一的扫描F集合中各个函数依赖, 找左部为A,B或AB的函数依赖。得到两个: ABC,BD。 于是X(1)=ABCD=ABCD。(2)因为X(0) X(1) ,所以再找出左部为ABCD子集的那些函数依赖,又得到:ABC,BD, CE,ACB, 于是X(2)=X(1)BCDE=ABCDE。(3)因为X(2)=U,算法终止所以(AB)F+ =ABCDE。求候选码例:已知R,U=A,B,C,D,E,G,F=ACB,CB D,A BE,

17、E GC,问:AB,BC,AC是否为关系R的候选码?解:AB F+ =U,BC F+ = B,C,D,AC F+ =U 所以,BC不是候选码。 但AF+ =U,即U部分函数依赖AB、AC。 所以AB、AC不是候选码,A为候选码。最小依赖集定义6.15 如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集。亦称为最小依赖集或最小覆盖。 (1) 每个函数依赖的右部仅含有一个属性。 (2) 删除F中的任一个函数依赖都将改变它的闭包F+ 。 (3) 每个函数依赖的左部是不可约的删除任何一个属性都将改变闭包F+模式的分解:分解既要保持函数依赖,又要具有无损连接性如果分解后的关系可以通过自然连接恢复为

18、原来的关系,那么这种分解就没有丢失信息第七章 数据库设计数据库设计的基本步骤(1)系统需求分析阶段:最困难、最耗费时间(2)概念结构设计阶段 1、2面向用户需求(3)逻辑结构设计阶段(4)物理设计阶段 :存储结构和存取方法 3、4面向DBMS(5)数据库实施阶段(6)数据库运行与维护阶段 5、6 面向具体实现需求分析的任务通过详细调查现实世界要处理的对象(组织、部门、企业等) 充分了解原系统(手工系统或计算机系统)工作概况 明确用户的各种需求在此基础上确定新系统的功能充分考虑今后可能的扩充和改变。需求分析的重点调查、收集与分析用户在数据管理中的 信息要求 处理要求 安全性与完整性要求需求分析的

19、方法:自顶向下的结构化分析方法(SA方法)数据字典的内容:数据项、数据结构、数据流、数据存储、处理过程概念结构设计的方法与步骤设计概念结构的四类方法自顶向下自底向上逐步扩张混合策略常用策略概念结构设计的步骤抽象数据并设计局部视图集成局部视图,得到全局概念结构验证整体概念结构系统需求分析:自顶向下概念结构设计:自底向上自底向上设计概念结构的步骤(1) 数据抽象,设计局部E-R模型。(2) 集成局部E-R模型,形成全局E-R模型,即视图的集成。数据抽象分类聚集概括:定义类型之间的一种子集联系,它抽象了类型之间的“is subset of”的语义视图集成的两种方式:一次集成、逐步累积式视图集成均分成

20、两个步骤:1. 合并 2. 修改与重构逻辑结构设计的步骤将概念结构转化为一般的关系、网状、层次模型将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换对数据模型进行优化设计用户子模式E-R图向关系模型的转换原则 一个实体型转换为一个关系模式。 关系的属性:实体型的属性 关系的码:实体型的码 一个m:n联系转换为一个关系模式。 关系的属性:与该联系相连的各实体的码以及联系本身的属性 关系的码:各实体码的组合 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。1) 转换为一个独立的关系模式关系的属性:与该联系相连的各实体的码以及联系本身的属性关系的码:n端实体

21、的码2) 与n端对应的关系模式合并合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性合并后关系的码:不变可以减少系统中的关系个数,一般情况下更倾向于采用这种方法 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。1) 转换为一个独立的关系模式关系的属性:与该联系相连的各实体的码以及联系本身的属性关系的候选码:每个实体的码均是该关系的候选码2) 与某一端对应的关系模式合并合并后关系的属性:加入对应关系的码和联系本身的属性合并后关系的码:不变一般应以尽量减少连接操作为目标。 三个或三个以上实体间的一个多元联系转换为一个关系模式。关系的属性:与该多元联系相连

22、的各实体的码以及联系本身的属性关系的码:各实体码的组合6. 具有相同码的关系模式可合并。优化数据模型的方法 确定数据依赖 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。 按照数据依赖的理论对关系模式逐一进行分析,考查是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。 按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解。 按照需求分析阶段得到的各种应用对数据处理的要求,对关系模式进行必要的分解或合并,以提高数据操作的效率和存储空间的利用率数据库物理设计的步骤:确定数据库的物理结构对物

23、理结构进行评价,评价的重点是时间和空间效率DBMS常用存取方法:索引方法、聚簇方法、HASH方法数据库实施的工作内容用DDL定义数据库结构组织数据入库编制与调试应用程序数据库试运行维护工作主要是由DBA完成的,包括:数据库的转储和恢复数据库的安全性、完整性控制数据库性能的监督、分析和改进数据库的重组织和重构造第八章 数据库编程存储过程定义CREATE PROC add_cust(cust_namevarchar(20),cust_numinteger,credit_limmoney,target_slsmoney,rep_idinteger,offc_cityvachar(15)AS BEGI

24、NINSERT INTO CUSTOMER(cust_num,company,cust_rep,credit_limit)VALUES(cust_num,cust_name,rep_id,credit_lim) UPDATE SALESREP SET quota=quota+target_slsWHERE empl_num=rep_id UPDATE OFFICE SET target=target+target_slsWHERE city=offc_city END调用EXECUTE add_cust XYZ Corporation,2137,3000.00,5000.00,103,Chic

25、ago例18定义一个BEFORE行级触发器,为教师表Teacher定义完整性规则“教授的工资不得低于4000元,如果低于4000元,自动改为4000元”。CREATE TRIGGER Insert_Or_Update_SalBEFORE INSERT OR UPDATEON Teacher FOR EACH ROW /*行级触发器*/AS BEGIN IF (new.Job='教授') AND (new.Sal < 4000)THEN new.Sal :=4000; END IF END; Transact-SQL中的触发器 示例:删除一个学生记录时,检查该生是否存在选课

26、记录。如果存在则撤消删除,并显示提示信息'Cannot delete.'CREATE TRIGGER del_stuON SFOR deleteASif(select count(*) from SC,deleted where SC.SNO=deleted.SNO) >0BEGINROLLBACK TRANSACTIONPRINT 'Cannot delete. END示例:当SALESREP表插入一个新的销售人员时,根据这个新的销售人员的定额来提高其所在销售公司的销售目标。CREATE TRIGGER upd_tgtON salesrepFOR insert-

27、也可指定UPDATE,DELETE,或综合AS-之后是触发器的主体IF(rowcount=1)-系统变量,确定已插入一行BEGINUPDATE officeSET target=target+inserted.quotaFROM office,insertedWHERE office.office=inserted.rep_officeEND第九章 关系查询处理及查询优化典型的启发式规则1.选择运算应尽可能先做 2.投影运算和选择运算同时进行3.将投影运算与其前面或后面的双目运算结合4.某些选择运算在其前面执行的笛卡尔积 => 连接运算 5. 把公共子表达式的运算结果存入外存第10章 数据库恢复技术定义事务:显式定义方式 BEGIN TRANSACTION BEGIN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论