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