《2022年《数据库系统概论》复习总结,推荐文档 .pdf》由会员分享,可在线阅读,更多相关《2022年《数据库系统概论》复习总结,推荐文档 .pdf(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 数据库系统概论 (王珊 .第五版)第一章绪论?本章内容: 数据库系统概述、数据模型、数据库系统结构?本章主要考点:数据、数据库、数据库管理系统的概念、概念模型、ER 图、三种数据模型、数据库的三级模式结构1、试述数据、数据库、数据库系统、数据库管理系统的概念(1)数据( Data) :描述事物的符号记录称为数据。(2)数据库( Data Base ,简称DB ):数据库是长期储存在计算机内的、有组织的、可共享的数据集合。(3)数据库系统(Data Base System ,简称DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应
2、用系统、数据库管理员构成。(4)数据库管理系统(DataBase Management System,简称DBMS ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。2、对于 DB、DBS 、DBMS 的关系,下列哪一种描述是正确的( B)A、DB 包括 DBS、DBMS B、DBS 包括 DB 、DBMSC、DBMS 包括 DBS、DB D、以上都不对3、概念模型中的术语:实体、属性、码、域、实体型、实体集实体:客观存在并可以相互区分的事物叫实体。属性:实体所具有的某一特性, 一个实体可由若干个属性来刻画。码:惟一标识实体的属性集
3、称为码。域:域是一组具有相同数据类型的值的集合。实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体, 称为实体型。实体集:同型实、体的集合称为实体集。4、目前数据库领域中最常用的逻辑数据模型有层次模型、网状模型、关系模型等。5、数据库管理系统的主要功能有哪些?(冷叶顷)(1)数据库定义功能(2)数据存取功能( 3)数据库运行管理(4)数据库的建立和维护功能。6、实体联系图(E R 图)实体型: 用矩形表示,矩形框内写明实体名;属性: 用椭圆形表示,并用无向边将其与相应的实体连接起来;联系: 用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来
4、,同时在无向边旁标上联系的类型(1:1 或 1:n 或 m:n) 。例: 假设教学管理规定:一个学生可选修多门课,一门课有若干学生选修;一个教师可讲授多门课,一门课只有一个教师讲授;一个学生选修一门课,仅有一个成绩。学生的属性有学号、学生姓名; 教师的属性有教师编号,教师姓名; 课程的属性有课程号、课程名。要求:根据上述语义画出ER 图,要求在图中画出实体的属性并注明联系的类型;解:根据以上规则画出对于的ER图如下名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 17 页
5、- - - - - - - - - 2 7、数据库系统的三级模式结构:外模式: 亦称子模式或用户模式,是数据库用户 (包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻 辑表示。模式:亦称逻辑模式, 是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。内模式: 亦称存储模式, 是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。数据库系统在这三级模式之间提供了两层映像:外模式模式映像和模式内模式映像。这两层映
6、像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。8、对数据库中进行增加记录类型或增加数据项,通过调整下列哪一级映像,可以使应用程序尽可能保持不变,便达到了哪一种数据的独立性(A)A、外模式模式映像,逻辑数据独立性B、外模式模式映像,物理数据独立性C、模式内模式映像,逻辑数据独立性D、模式内模式映像,物理数据独立性9、数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是(D)A外模式B内模式C存储模式D模式10、层次模型不能直接表示(C) 。A 1 :1 关系B1 :m 关系C m :n 关系D1 :1 和 1 :m 关系第二章关系数据库(重点)?本章内容: 关系
7、数据结构及形式化定义、关系操作、关系的完整性、关系代数?本章主要考点:概念、关系的完整性、关系代数名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 17 页 - - - - - - - - - 3 1、关系数据库管理系统应能实现的专门关系运算包括(B) 。A排序、索引、统B选择、投影、连接C关联、更新、排序D显示、打印、制表2、自然连接是构成新关系的有效方法。一般情况下,当对关系R 和 S 使用自然连接时,要求R 和 S含有一个或多个共有的(D) 。A元组B行C记录D属性3
8、、关系运算中花费时间可能最长的运算是(C) 。A投影B选择C笛卡尔积D除4、关系模式的任何属性( A) 。A不可再分B可再分C命名在该关系模式中可以不惟一D以上都不是5、在关系代数运算中,五种基本运算为( C) 。A并、差、选择、投影、自然连接B并、差、交、选择、投影C并、差、选择、投影、乘积D并、差、交、选择、乘积6、要求学生的年龄在15 至 40 岁之间,是关系模型的哪一种完整性规则(C)A参照完整性B实体完整性C用户定义的完整性规则D以上都不是7、关系 R 的元数为 5,关系 S 的元数是 4,则 R ? S可以等价于下列哪一种(B)23A23( RS)B27(RS)CR ? S D62
9、(RS)8、关系的三类完整性约束:实体完整性规则:若属性 A 是基本关系R 的主属性,则属性A 不能取空值参照完整性规则:若属性(或属性组)F 是基本关系R 的外码它与基本关系S 的主码 Ks 相对应(基本关系R 和 S 不一定是不同的关系) ,则对于 R 中每个元组在F 上的值必须为: 或者取空值(F 的每个属性值均为空值) 或者等于S 中某个元组的主码值用户定义的完整性:针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求 9、关系代数(冷叶顷)(1)RS 仍为 n 目关系,由属于R 或属于 S的元组组成(2)R - S 仍为 n 目关系,由属于R 而不属于 S
10、 的所有元组组成名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 17 页 - - - - - - - - - 4 (3)RS 仍为 n 目关系,由既属于R 又属于 S 的元组组成(4)笛卡尔积: RS 列: (n+m)列元组的集合,元组的前n 列是关系R 的一个元组,后m 列是关系 S 的一个元组,行:k1k2个元组(5)选择:选择运算符的含义:在关系R 中选择满足给定条件的诸元组F(R) = t|tRF(t)= 真F:选择条件,是一个逻辑表达式例如:查询信息系(IS 系
11、)全体学生Sdept = IS (Student)(6)投影:投影运算符的含义:从R 中选择出若干属性列组成新的关系A(R) = tA | t R A 是 R 中的属性列例如:查询学生的姓名和所在系,即求Student 关系上学生姓名和所在系两个属性上的投影Sname,Sdept(Student)(7)连接:连接运算的含义:从两个关系的笛卡尔积中选取属性间满足一定条件的元组分为等值连接、一般连接、自然连接例如:关系R 和关系 S 如下所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -
12、第 4 页,共 17 页 - - - - - - - - - 5 (8)除:给定关系 R (X ,Y) 和 S (Y,Z),其中 X,Y,Z 为属性组。 R 中的 Y 与 S中的 Y 可以有不同的属性名,但必须出自相同的域集。R 与 S 的除运算得到一个新的关系P(X) ,P 是 R 中满足下列条件的元组在X 属性列上的投影: 元组在 X 上分量值 x 的象集 Yx 包含 S在 Y 上投影的集合,记作:R S = tr X | tr RY (S) Yx 例如:设关系R、S 分别为下图的 (a)和(b),RS 的结果为图 (c)例: 设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:S(
13、 SNO,SNAME ,STATUS,CITY) ;P(PNO,PNAME ,COLOR ,WEIGHT) ;J(JNO,JNAME ,CITY) ;SPJ(SNO,PNO,JNO,QTY) ;供应商表 S 由供应商号码(SNO) 、供应商姓名(SNAME ) 、供应商状态(STATUS) 、供应商所在城市 (CITY )组成;零件表 P 由零件代码 (PNO) 、零件名 (PNAME ) 、颜色(COLOR ) 、重量( WEIGHT )组成;工程项目表J 由工程项目代码(JNO) 、工程项目名( JNAME ) 、工程项目所在城市( CITY )组成;供应情况表SPJ由供应商代码( SNO
14、) 、零件代码( PNO) 、工程项目名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 17 页 - - - - - - - - - 6 代码(JNO) 、供应数量 (QTY )组成,表示某供应商供应某种零件给某工程项目的数量为QTY 。试用关系代数完成如下查询:(1) 求供应工程J1 零件的供应商号码SNO;(2) 求供应工程J1 零件 P1 的供应商号码SNO;(3) 求供应工程J1 零件为红色的供应商号码SNO;(4) 求没有使用天津供应商生产的红色零件的工程号JNO
15、;(5) 求至少用了供应商S1 所供应的全部零件的工程号JNO。解:(1)求供应工程J1 零件的供应商号码SNO:Sno( Jno=J1(SPJ))(2)求供应工程J1 零件 P1 的供应商号码SNO:Sno( Jno=J1Pno=P1(SPJ)(3)求供应工程J1 零件为红色的供应商号码SNO:Sno( Jno=J1(COLOR= 红(P) ? SPJ))或Sno( Jno=J1(SPJ) ?(COLOR= 红(P))(4)求没有使用天津供应商生产的红色零件的工程号JNO:Jno(SPJ)- JNO(city=天津Color= 红(S ? SPJ ? P) )或Jno(SPJ)- JNO(c
16、ity=天津(S) ?SPJ ?Color= 红(P) )(5)求至少用了供应商S1所供应的全部零件的工程号JNO:Jno,Pno(SPJ) Pno(Sno=S1(SPJ) )第三章关系数据库标准语言SQL(重点)?本章内容: SQL 概述、数据定义、数据查询、数据更新、视图?本章主要考点:基本概念、数据查询的基本语句操作、数据更新语句1、SQL 语言是 (C)语言。A层次数据库B网络数据库C关系数据库D非数据库2、SQL 语言具有两种使用方式,分别称为交互式SQL 和(C) 。A提示式SQL B多用户 SQL C嵌入式 SQL D解释式SQL 3、假定学生关系是S(S#,SNAME ,SEX
17、,AGE) ,课程关系是C(C#,CNAME ,TEACHER) ,学生选课关系是SC(S#,C#,GRADE) 。要查找选修 “COMPUTER” 课程的 “ 女” 学生姓名,将涉及到关系 (D) 。AS BSC,C CS,SC DS,C,SC 4、如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作 (B)不能执行。A从职工表中删除行( 025, 王芳 , 03,720) B将行 ( 005, , 乔兴 , 04,750)插入到职工表中C将职工号为,001的工资改为700 D将职工号为, 038的部门号改为03 5、在 SQL 语言中,用来测试一个集合里是
18、否有重复元组存在,使用下列哪一个关键字(A)AUNIQUE BDISTINCT CEXISTS DNOT IN 6、SQL 数据查询语句(冷叶顷)SELECT 语句格式:SELECT ALL|DISTINCT , FROM , WHERE 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 17 页 - - - - - - - - - 7 GROUP BY HA VING ORDER BY ASC|DESC ;(注: SQL 语句中不区分大小写)单表查询(1)选择表中的若干列
19、:查询指定列:例: 查询全体学生的学号与姓名SELECT Sno,SnameFROM Student ;查询所有列:(将 指定为*)例: 查询全体学生的详细记录。SELECT *FROM Student;查询结果计算的值:例: 查全体学生的姓名及其出生年份。SELECT Sname,2012-Sage /*假定当年的年份为2012 年,减去年龄即得出生年份*/FROM Student;(2)选择表中的若干元组取消取值重复的行: (指定 DISTINCT 关键词,去掉表中重复的行)例: 查询选修了课程的学生号码SELECT DISTINCT Sno (使用 DISTINCT 关键词取消了重复学号
20、的行)FROM SC ;查询满足条件的行: (WHERE 语句 )例: 查询计算机科学系全体学生的名单。(比较)SELECT SnameFROM StudentWHERE Sdept = CS;例:查询年龄在2023 岁(包括 20 岁和 23 岁)之间的学生的姓名、系别和年龄(确定范围)SELECT Sname,Sdept,SageFROM StudentWHERE Sage BETWEEN 20 AND 23 ;例:查询信息系 (IS) 、数学系(MA )和计算机科学系 (CS)学生的姓名和性别。(确定集合)SELECT Sname,SsexFROM StudentWHERE Sdept
21、IN ( IS ,MA ,CS );例: 查询学号为200215121 的学生的详细情况。(字符匹配)SELECT * 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 17 页 - - - - - - - - - 8 FROM Student WHERE Sno LIKE 200215121;例: 某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。查询缺少成绩的学生的学号和相应的课程号。(空值)SELECT Sno, CnoFROM SCWHERE Grad
22、e IS NULL /*不能用 =代替 IS*/例: 查询计算机系年龄在20 岁以下的学生姓名。(多重条件)SELECT SnameFROM StudentWHERE Sdept= CS AND Sage20 ;(3)ORDER BY子句可以按一个或多个属性列排序。升序:ASC;降序: DESC;缺省值为升序例: 查询选修了3 号课程的学生的学号及其成绩,查询结果按分数降序排列。SELECT Sno, GradeFROM SCWHERE Cno= 3 ORDER BY Grade DESC;(4)聚集函数COUNT (DISTINCT|ALL *)统计元组个数COUNT (DISTINCT|A
23、LL ) 统计一列中值的个数SUM (DISTINCT|ALL )计算一列值的总和AVG( DISTINCT|ALL )计算一列值的平均值MAX (DISTINCT|ALL )求一列中的最大值MIN (DISTINCT|ALL )求一列中的最小值例: 计算 1 号课程的学生平均成绩。SELECT AVG(Grade)FROM SCWHERE Cno= 1 ;多表查询(1)等值查询例: 查询每个学生及其选修课程的情况SELECT Student.* ,SC.*FROM Student,SCWHERE Student.Sno = SC.Sno;(2)嵌套查询带有 IN 谓词的子查询:例: 查询与
24、“ 刘晨 ” 在同一个系学习的学生SELECT Sno,Sname,SdeptFROM StudentWHERE Sdept IN(SELECT SdeptFROM StudentWHERE Sname= 刘晨 );带有比较运算符的子查询:(当内查询的结果是一个值时,可以用=代替 IN )名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 17 页 - - - - - - - - - 9 例: 查询与 “ 刘晨 ” 在同一个系学习的学生SELECT Sno,Sname,Sde
25、ptFROM StudentWHERE Sdept =(SELECT SdeptFROM StudentWHERE Sname= 刘晨 );带有 ANY 或 ALL谓词的子查询例: 查询其他系中比计算机科学某一学生年龄小的学生姓名和年龄SELECT Sname,SageFROM StudentWHERE Sage ANY (SELECT SageFROM StudentWHERE Sdept= CS )AND Sdept CS ; /*这句是父查询块中的条件*/带有 EXISTS 谓词的子查询:相当于存在量词?,带有 EXISTS 谓词的子查询不返回任何数据,只产生逻辑真值“true ”或逻辑
26、假值 “false ”。例: 查询所有选修了1 号课程的学生姓名。SELECT SnameFROM StudentWHERE EXISTS(SELECT *FROM SCWHERE Sno=Student.Sno AND Cno= 1 ) ;(3)集合查询(冷叶顷)集合操作的种类:并操作UNION ,交操作 INTERSECT ,差操作EXCEPT例: 查询计算机科学系的学生及年龄不大于19 岁的学生。(并)SELECT *FROM StudentWHERE Sdept= CSUNIONSELECT *FROM StudentWHERE Sage=19 ;例: 查询计算机科学系的学生与年龄不大
27、于19 岁的学生(交)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 17 页 - - - - - - - - - 10 SELECT *FROM StudentWHERE Sdept=CS INTERSECTSELECT *FROM StudentWHERE Sage=19 例: 查询计算机科学系的学生与年龄不大于19 岁的学生。(差)SELECT *FROM StudentWHERE Sdept=CSEXCEPTSELECT *FROM StudentWHERE Sa
28、ge 80名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 17 页 - - - - - - - - - 11 ( 5)SELECT SNAMEFROM SWHERE NOT EXISTS(SELECT *FROM CWHERE NOT EXISTS(SELECT *FROM SCWHERE S#=S.S# AND C#=C.C# ) ( 6) SELECT SNAMEFROM S,SCWHERE S.S#=SC.S#GROUP BY SNAMEHAVING COUNT(
29、*)3 第四章数据库安全性?本章内容: 计算机安全性概述、数据库安全性控制、审计、数据加密?本章主要考点:基本概念、数据库安全性控制1、下面哪个不是数据库系统必须提供的数据控制功能(B) 。A安全性B可移植性C完整性D并发控制2、数据库的 (B)是指数据的正确性和相容性。A安全性B完整性C并发控制D恢复3、在数据系统中,对存取权限的定义称为(B) 。A命令B授权C定义D审计4、数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的 (D) 。A可靠性B一致性C完整性D安全性5、保护数据安全性的一般方法是设置用户标识和存取权限控制。6、安全性控制的一般方法有用户标识
30、鉴定、存取控制、审计、数据加密和视图的保护五级安全措施。第六章关系数据理论(冷叶顷)?本章内容: 规范化、数据依赖的公里系统、模式分解?本章主要考点:函数依赖、多值依赖的概念、范式判定 、Armstrong 公理系统1、设计性能较优的关系模式称为规范化,规范化主要的理论依据是(A) 。A关系规范化理论B关系运算理论C关系代数理论D数理逻辑2、规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及( C)的缺陷。A数据的不一致性B结构不合理C冗余度大D数据丢失3、当关系模式R(A ,B)已属于 3NF,下列说法中 (B)是正确的。名师资料总结 - - -精品资料欢迎下载 - - - - -
31、 - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 17 页 - - - - - - - - - 12 A它一定消除了插入和删除异常B仍存在一定的插入和删除异常C一定属于BCNF DA 和 B 都是4、在关系 DB 中,任何二元关系模式的最高范式必定是(D) 。A1NF B2NF C3NF DBCNF 5、在关系模式R 中,若其函数依赖集中所有候选关键字都是决定因素,则 R 最高范式是 (C) 。A2NF B3NF C4NF DBCNF 6、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。下面“ 部门 ” 关系中,因哪个
32、属性而使它不满足第一范式?(B) 。部门 (部门号,部门名,部门成员,部门总经理)A部门总经理B部门成员C部门名D部门号7、函数依赖的概念函数依赖的定义:设 R(U)是一个属性集U 上的关系模式,X 和 Y 是 U 的子集。若对于R(U) 的任意一个可能的关系r,r 中不可能存在两个元组在X 上的属性值相等,而在 Y 上的属性值不等,则称“X函数确定 Y” 或 “Y 函数依赖于X”,记作 XY。即只要X 上的属性值相等, Y 上的值一定相等。平凡的函数依赖在关系模式R(U)中,对于 U 的子集 X 和 Y,如果 XY,但 Y X,则称 XY是平凡的函数依赖非平凡的函数依赖在关系模式R(U)中,
33、对于 U 的子集 X 和 Y,若 XY ,但 YX,则称 XY是平凡的函数依赖例: 在关系 SC(Sno, Cno, Grade)中,非平凡函数依赖:(Sno, Cno) Grade平凡函数依赖:(Sno, Cno) Sno (Sno, Cno) Cno部分函数依赖:若XY,但 Y 不完全依赖于X,则称 Y 对 X 部分函数依赖。记作完全函数依赖:在R(U)中,如果 XY ,并且对于X 的任何一个真子集X ,都有 XY, 则称 Y 对 X 完全函数依赖。记作例:学校教务的数据库: 学生的学号(Sno) 、所在系(Sdept) 系主任姓名 (Mname) 、 课程号(Cno)成绩( Grade)
34、U Sno, Sdept, Mname, Cno, Grade (Sno,Cno) Grade是完全函数依赖,(Sno,Cno)Sdept 是部分函数依赖因为 Sno Sdept成立,且 Sno 是( Sno,Sanme)的真子集传递函数依赖:在R(U)中,如果 XY,(Y X) ,YX, Y Z,Z 不属于 Y, 则称 Z 对 X传递函数依赖。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 17 页 - - - - - - - - - 13 例: 在关系 Std(Sn
35、o, Sdept, Mname)中,有:Sno Sdept,Sdept MnameMname 传递函数依赖于Sno8、第一范式 BCNF第一范式( 1NF) :若关系模式R 的每一个分量是不可再分的数据项,则关系模式R 属于第一范式。第二范式( 2NF) :若关系模式R1NF,且每一个非主属性完全函数依赖于码,则关系模式R2NF 。 (即1NF 消除了非主属性对码的部分函数依赖则成为2NF) 。例:关系模式S-L-C(Sno, Sdept, Sloc, Cno, Grade) Sloc 为学生住处,假设每个系的学生住在同一个地方函数依赖包括(Sno, Cno) GradeSno Sdept(S
36、no, Cno) SdeptSno Sloc(Sno, Cno) SlocSdept Sloc(虚线表示部分函数依赖)由于非主属性Sdept 和 Sloc 并不完全函数依赖于码(Sno, Cno),所以不是2NF解决方法:S-L-C 分解为两个关系模式,以消除这些部分函数依赖,这就属于2NF 了SC(Sno, Cno, Grade)S-L(Sno, Sdept, Sloc)第三范式( 3NF) :关系模式R 中若不存在这样的码X、属性组Y 及非主属性Z(Z 不是 Y 的子集 )使得 X Y,YX,YZ 成立,则称R3NF(每一个非主属性既不部分依赖于码有人不传递依赖于码)例:上例中,在S-L
37、中存在非主属性对码的传递函数依赖,所以不属于3NF解决方法:采用投影分解法,把S-L 分解为两个关系模式,以消除传递函数依赖:S-D(Sno, Sdept)码为 Sno D-L (Sdept,Sloc) 码为 SdeptBCNF :关系模式R1NF 。若 XY 且 Y 不是X 的子集时 ,X 必含有码,则RBCNF (即每一个决定属性因素都包含码)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 17 页 - - - - - - - - - 14 BCNF 性质:若RBC
38、NF 所有非主属性对每一个码都是完全函数依赖所有的主属性对每一个不包含它的码,也是完全函数依赖没有任何属性完全函数依赖于非码的任何一组属性例: 在关系模式STJ(S,T,J)中, S表示学生, T 表示教师, J 表示课程。每一教师只教一门课。每门课由若干教师教,某一学生选定某门课,就确定了一个固定的教师。某个学生选修某个教师的课就确定了所选课的名称函数依赖:(S,J)T,(S,T)J,TJ (S,J)和(S,T)都是候选码STJ3NF(S,J)和(S,T)都可以作为候选码,S、T、J都是主属性,没有任何非主属性对码传递依赖或部分依赖。但STJ 不是 BCNF ,因为 T 是决定因素, T 不
39、包含码解决方法:将STJ 分解为二个关系模式:ST(S,T) BCNF , TJ(T,J) BCNF关于第四范式和多值依赖的内容,大家按书复习例题: 设有如下关系R课程名教师名教师地址C1刘爽英D1C2乔志伟D2C3于得水D2C4井超D2(1)它为第几范式? 为什么 ? (2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的? (3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题? 解: (1)它是 2NF。 因为 R 的候选关键字为“ 课程名 ” 。依赖关系 : 课程名 教师名,教师名 课程名, 教师名 教师地址, 所以课程名 教师地址。 即存在非主属性
40、“ 教师地址 ” 对候选关键字课程名的传递函数,因此R 不是 3NF。但:因为不存在非主属性对候选关键字的部分函数依赖,所以R 是 2NF。(2)存在。当删除某门课程时,会删除不该删除的教师的有关信息。(3)分解为高一级范式如图所示。R1(课程名,教师名)R2(教师名,教师地址)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 17 页 - - - - - - - - - 15 课程号教师名C1刘爽英C2乔志伟C3于得水C4井超R1 R2 分解后,若删除课程数据时,仅对关
41、系R1 操作,教师地址信息在关系R2 中仍然保留,不会丢失教师方面的信息。第七章数据库设计(冷叶顷)?本章内容: 数据库设计概述、数据库设计的6 个步骤?本章主要考点:数据库设计的6 个步骤、ER 图合并出现的冲突与解决方法、ER 图转换成关系模式1、简述数据库设计的主要步骤。(1)需求分析(2)概念结构设计(3)逻辑结构设计(4)数据库物理设计(5)数据库实施(6)数据库运行和维护。2、ER 图合并汇总会出现什么冲突?怎么解决冲突?出现的冲突有:属性冲突、命名冲突、结构冲突属性冲突和命名冲突通常用讨论、协商等行政手段解决。结构冲突通常根据应用语义对实体联系的类型进行综合或调整。3、在数据库设
42、计中,用E-R 图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的 (B)阶段。A需求分析B概念设计C逻辑设计D物理设计4、在关系数据库设计中,设计关系模式是(C)的任务。A需求分析阶段B概念设计阶段C逻辑设计阶段D物理设计阶段5、数据库物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作是(B) 。A建立库结构B扩充功能C加载数据D系统调试6、从 E-R 模型关系向关系模型转换时,一个 MN 联系转换为关系模型时,该关系模式的关键字是 (C) 。AM 端实体的关键字BN 端实体的关键字CM 端实体关键字与N 端实体关键字组合D重新选取其他属性7、当局部 E-R 图合
43、并成全局E-R 图时可能出现冲突,不属于合并冲突的是(B) 。A属性冲突B语法冲突C结构冲突D命名冲突8、数据流程图(DFD)是用于描述结构化方法中(C)阶段的工具。A可行性分析B详细设计C需求分析D程序编码9、设有商店和顾客两个实体,“商店”有属性商店编号、商店名、地址、电话,“顾客”有属性顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商教师名教师地址刘爽英D1乔志伟D2于得水D2井超D2名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共
44、 17 页 - - - - - - - - - 16 店购物,顾客每次去商店购物有一个消费金额和日期。试画出E-R 图,并注明属性和联系,并将其转换为关系模型。解: E-R 图关系模型: 顾客(顾客编号,姓名,地址,年龄,性别)商店(商店编号,商店名,地址,电话)购物(顾客编号,商店名称,日期,消费金额)第十章数据库恢复技术(冷叶顷)?本章内容: 事务的基本概念、故障的种类、恢复策略?本章主要考点:基本概念、恢复策略1、 ( C)是 DBMS 的基本单位,它是用户定义的一组逻辑一致的程序序列。A程序B命令C事务D文件2、事务的原子性是指(A) 。A事务中包括的所有操作要么都做,要么都不做B事务
45、一旦提交,对数据库的改变是永久的C一个事务内部的操作及使用的数据对并发的其他事务是隔离的D事务必须是使数据库从一个一致性状态变到另一个一致性状态3、若数据库中只包含成功事务提交的结果,则此数据库就称为处于(B)状态。A安全B一致C不安全D不一致4、若系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非控制方式终止,这时内存中的信息丢失,而存储在外存上的数据未受影响,这种情况称为(B) 。A事务故障B系统故障C介质故障D运行故障5、 ( B)用来记录对数据库中数据进行的每一次更新操作。A后援副本B日志文件C数据库D缓冲区6、用于数据库恢复的重要文件是(C) 。A数据库文件B
46、索引文件C日志文件D备注文件7、数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包括( C) 。A数据字典、应用程序、审计档案、数据库后备副本B数据字典、应用程序、日志文件、审计档案名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 17 页 - - - - - - - - - 17 C日志文件、数据库后备副本D数据字典、应用程序、数据库后备副本8、事务的特性为原子性、隔离性、一致性、持续性。9、数据库系统中的故障包括事务内部的故障、系统故障、介质故障、计算机病毒。
47、第十一章并发控制?本章内容: 并发控制的概述、封锁、活锁和死锁、两段锁协议?本章主要考点:封锁中读锁和写锁的概念、活锁和死锁的概念、两段锁协议1、设有两个事务T1、T2,其并发操作如右图所示,下面评价正确的是 (B) 。A该操作不存在问题B该操作丢失修改C该操作不能重复读D该操作读 “ 脏” 数据2、解决并发操作带来的数据不一致性总是普遍采用(A) 。A封锁B恢复C存取控制D协商3、若事务T 对数据 R 已经加 X 锁,则其他事务对数据R(D) 。A可以加S 锁不能加 X 锁B不能加 S锁可以加X 锁C可以加S锁也可以加X 锁D不能加任何锁4、并发操作会带来哪些数据不一致性(D) 。A丢失修改
48、、不可重复读、脏读、死锁B不可重复读、脏读、死锁C丢失修改、脏读、死锁D丢失修改、不可重复读、脏读5、什么是封锁?封锁就是事务T 在对某个数据对象操作之前,先向系统发出请求,对其加锁6、什么是活锁?什么是死锁?活锁: 事务 T1 封锁了数据R,事务 T2 又请求封锁R,于是 T2 等待。 T3 也请求封锁R,当 T1释放了 R 上的封锁之后系统首先批准了T3 的请求, T2 仍然等待。 T4 又请求封锁R,当 T3 释放了 R 上的封锁之后系统又批准了T4 的请求 T2 有可能永远等待,这就是活锁的情形。避免方法:采用先来先服务的策略。死锁: 事务 T1 封锁了数据R1,T2 封锁了数据R2,
49、T1 又请求封锁R2,因 T2 已封锁了R2,于是 T1 等待 T2 释放 R2 上的锁, 接着 T2 又申请封锁R1,因 T1 已封锁了R1,T2 也只能等待T1释放 R1 上的锁,这样T1 在等待 T2,而 T2 又在等待 T1,T1 和 T2 两个事务永远不能结束,形成死锁。7、预防死锁的方法有一次性封锁法、顺序封锁法。8、死锁的诊断与解除方法有超时法、等待图法。9、试述两段锁协议的概念所谓两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。获得封锁:在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁释放封锁:在释放一个封锁之后,事务不再申请和获得任何其他封锁若并发事务都遵守两段锁协议,则对这些事务的任何并发调度策略都是可串行化的若并发事务的一个调度是可串行化的,不一定所有事务都符合两段锁协议T1T2读 A=10A=A-5 写回读 A=10A=A-8 写回名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 17 页 - - - - - - - - -