《数据库系统概论》复习总结.docx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库系统概论 数据库 系统 概论 复习 总结
- 资源描述:
-
______________________________________________________________________________________________________________ 《数据库系统概论》(王珊.第五版) ★第一章 绪论 v 本章内容:数据库系统概述、数据模型、数据库系统结构 v 本章主要考点: 数据、数据库、★数据库管理系统的概念、概念模型、★ER图、三种数据模型、数据库的三级模式结构 1、试述数据、数据库、数据库系统、数据库管理系统的概念 (1)数据(Data) :描述事物的符号记录称为数据。 (2)数据库(Data Base ,简称 DB ):数据库是长期储存在计算机内的、有组织的、可共享的数据集合。 (3)数据库系统(Data Base System ,简称 DBS ) :数据库系统是指在计算机系统中 引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、 数据库管理员构成。 (4)数据库管理系统(DataBase Management System,简称 DBMS ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。 2、对于DB、DBS、DBMS的关系,下列哪一种描述是正确的(B) A、DB包括DBS、DBMS B、DBS包括DB、DBMS C、DBMS包括DBS、DB D、以上都不对 3、概念模型中的术语:实体、属性、码、域、实体型、实体集 实体:客观存在并可以相互区分的事物叫实体。 属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。 码:惟一标识实体的属性集称为码。 域:域是一组具有相同数据类型的值的集合。 实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。 实体集:同型实、体的集合称为实体集。 4、目前数据库领域中最常用的逻辑数据模型有 层次模型、网状模型、关系模型 等。 5、数据库管理系统的主要功能有哪些?(冷叶顷) (1)数据库定义功能(2)数据存取功能(3)数据库运行管理(4)数据库的建立和维护功能。 ★6、实体联系图(E— R图) 实体型:用矩形表示,矩形框内写明实体名; 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来; 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1或1:n或m:n)。 ▲例:假设教学管理规定: ①一个学生可选修多门课,一门课有若干学生选修; ②一个教师可讲授多门课,一门课只有一个教师讲授; ③一个学生选修一门课,仅有一个成绩。 学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。要求:根据上述语义画出ER图,要求在图中画出实体的属性并注明联系的类型; 解:根据以上规则画出对于的E—R图如下 7、数据库系统的三级模式结构: 外模式:亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局 部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻 辑表示。 模式:亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。 内模式:亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。 数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 8、对数据库中进行增加记录类型或增加数据项,通过调整下列哪一级映像,可以使应用程序尽可能保持不变,便达到了哪一种数据的独立性(A) A、外模式/模式映像,逻辑数据独立性 B、外模式/模式映像,物理数据独立性 C、模式/内模式映像,逻辑数据独立性 D、模式/内模式映像,物理数据独立性 9、数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是(D) A.外模式 B.内模式 C.存储模式 D.模式 10、层次模型不能直接表示(C)。 A. 1 :1关系 B.1 :m关系 C. m :n关系 D.1 :1和1 :m关系 ★第二章 关系数据库(重点) v 本章内容:关系数据结构及形式化定义、关系操作、关系的完整性、关系代数 v 本章主要考点:概念、关系的完整性、★★关系代数 1、关系数据库管理系统应能实现的专门关系运算包括(B)。 A.排序、索引、统 B.选择、投影、连接 C.关联、更新、排序 D.显示、打印、制表 2、自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R 和S含有一个或多个共有的(D)。 A.元组 B.行 C.记录 D.属性 3、关系运算中花费时间可能最长的运算是(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,则Rwv S可以等价于下列哪一种(B) 2﹥3 A.s2﹥3(R×S) B.s2﹥7(R×S) C.Rwv S D.s6<2(R×S) 8、关系的三类完整性约束: 实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值 参照完整性规则:若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对 应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为: ●或者取空值(F的每个属性值均为空值) ●或者等于S中某个元组的主码值 用户定义的完整性:针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据 必须满足的语义要求 ★★9、关系代数(冷叶顷) (1)R∪S仍为n目关系,由属于R或属于S的元组组成 (2)R - S 仍为n目关系,由属于R而不属于S的所有元组组成 (3)R∩S仍为n目关系,由既属于R又属于S的元组组成 (4)笛卡尔积:R×S 列:(n+m)列元组的集合,元组的前n列是关系R的一个元组,后m列是关系S的一个元组,行:k1×k2个元组 (5)选择: 选择运算符的含义:在关系R中选择满足给定条件的诸元组 σF(R) = {t|tÎR∧F(t)= '真'} F:选择条件,是一个逻辑表达式 例如:查询信息系(IS系)全体学生 σSdept = 'IS' (Student) (6)投影: 投影运算符的含义:从R中选择出若干属性列组成新的关系 πA(R) = { t[A] | t ÎR } A是R中的属性列 例如:查询学生的姓名和所在系,即求Student关系上学生姓名和所在系两个属性上的投影 πSname,Sdept(Student) (7)连接: 连接运算的含义:从两个关系的笛卡尔积中选取属性间满足一定条件的元组 分为等值连接、一般连接、自然连接 例如:关系R和关系S 如下所示: (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 ÎR∧πY (S) Í Yx } 例如:设关系R、S分别为下图的(a)和(b),R÷S的结果为图(c) ★例:设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: S( 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)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。 试用关系代数完成如下查询: (1) 求供应工程J1零件的供应商号码SNO; (2) 求供应工程J1零件P1的供应商号码SNO; (3) 求供应工程J1零件为红色的供应商号码SNO; (4) 求没有使用天津供应商生产的红色零件的工程号JNO; (5) 求至少用了供应商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)wv SPJ))或 πSno(σJno=‘J1‘(SPJ)wv(σCOLOR=’红‘(P)) (4)求没有使用天津供应商生产的红色零件的工程号JNO: πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘(Swv SPJwv P))或 πJno(SPJ)- πJNO(σcity=‘天津’(S)wv SPJ wv σColor=‘红‘(P)) (5)求至少用了供应商S1所供应的全部零件的工程号JNO: πJno,Pno(SPJ)÷ πPno(σSno=‘S1‘(SPJ)) ★第三章 关系数据库标准语言SQL(重点) v 本章内容:SQL概述、数据定义、数据查询、数据更新、视图 v 本章主要考点:基本概念、★★数据查询的基本语句操作、数据更新语句 1、SQL语言是(C)语言。 A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库 2、SQL语言具有两种使用方式,分别称为交互式SQL和(C)。 A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL 3、假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系(D)。 A.S B.SC,C C.S,SC D.S,C,SC 4、如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作(B)不能执行。 A.从职工表中删除行(‘025’,‘王芳’,‘03’,720) B.将行(‘005,’,‘乔兴’,‘04’,750)插入到职工表中 C.将职工号为,‘001’的工资改为700 D.将职工号为,’038’的部门号改为‘03’ 5、在SQL语言中,用来测试一个集合里是否有重复元组存在,使用下列哪一个关键字(A) A.UNIQUE B.DISTINCT C.EXISTS D.NOT IN ★★6、SQL数据查询语句(冷叶顷) SELECT语句格式: SELECT [ALL|DISTINCT] <目标列表达式> [,<目标列表达式>] … FROM <表名或视图名>[, <表名或视图名> ] … [ WHERE <条件表达式> ] [ GROUP BY <列名1> [ HAVING <条件表达式> ] ] [ ORDER BY <列名2> [ ASC|DESC ] ]; (注:SQL语句中不区分大小写) ①单表查询 (1)选择表中的若干列: 查询指定列: 例:查询全体学生的学号与姓名 SELECT Sno,Sname FROM Student; 查询所有列:(将<目标列表达式>指定为 *) 例:查询全体学生的详细记录。 SELECT * FROM Student; 查询结果计算的值: 例:查全体学生的姓名及其出生年份。 SELECT Sname,2012-Sage /*假定当年的年份为2012年,减去年龄即得出生年份*/ FROM Student; (2)选择表中的若干元组 取消取值重复的行:(指定DISTINCT关键词,去掉表中重复的行) 例:查询选修了课程的学生号码 SELECT DISTINCT Sno (使用DISTINCT关键词取消了重复学号的行) FROM SC; 查询满足条件的行:(WHERE语句) 例:查询计算机科学系全体学生的名单。(比较) SELECT Sname FROM Student WHERE Sdept =‘CS’; 例:查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄(确定范围) SELECT Sname,Sdept,Sage FROM Student WHERE Sage BETWEEN 20 AND 23; 例:查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。(确定集合) SELECT Sname,Ssex FROM Student WHERE Sdept IN ( 'IS','MA','CS' ); 例:查询学号为200215121的学生的详细情况。(字符匹配) SELECT * FROM Student WHERE Sno LIKE ‘200215121'; 例:某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。查询缺少成绩 的学生的学号和相应的课程号。(空值) SELECT Sno,Cno FROM SC WHERE Grade IS NULL /*不能用’=’代替IS*/ 例:查询计算机系年龄在20岁以下的学生姓名。(多重条件) SELECT Sname FROM Student WHERE Sdept= 'CS' AND Sage<20; (3)ORDER BY子句 可以按一个或多个属性列排序。升序:ASC;降序:DESC;缺省值为升序 例:查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。 SELECT Sno,Grade FROM SC WHERE Cno= ' 3 ' ORDER BY Grade DESC; (4)聚集函数 COUNT([DISTINCT|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.Sno = SC.Sno; (2)嵌套查询 带有IN谓词的子查询: 例:查询与“刘晨”在同一个系学习的学生 SELECT Sno,Sname,Sdept FROM Student WHERE Sdept IN (SELECT Sdept FROM Student WHERE Sname=‘ 刘晨 ’); 带有比较运算符的子查询:(当内查询的结果是一个值时,可以用=代替IN) 例:查询与“刘晨”在同一个系学习的学生 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 ' ; /*这句是父查询块中的条件 */ 带有EXISTS谓词的子查询: 相当于存在量词∃,带有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= 'CS' UNION SELECT * FROM Student WHERE Sage<=19; 例:查询计算机科学系的学生与年龄不大于19岁的学生(交) SELECT * FROM Student WHERE Sdept='CS' INTERSECT SELECT * FROM Student WHERE Sage<=19 例:查询计算机科学系的学生与年龄不大于19岁的学生。(差) SELECT * FROM Student WHERE Sdept='CS' EXCEPT SELECT * FROM Student WHERE Sage <=19; ★例题:设学生课程数据库中有三个关系: 学生关系S(S#,SNAME,AGE,SEX) 学习关系SC(S#,C#,GRADE) 课程关系C(C#,CNAME) 其中S#(学号)、C#(课程号)、SNAME(姓名)、AGE(年龄)、SEX(性别)、GRADE(成绩)、CNAME(课程名) 用SQL语句表达下列操作 (1)检索选修课程名称为“MATHS”的学生的学号与姓名 (2)检索至少学习了课程号为“C1”和“C2”的学生的学号 (3)检索年龄在18到20之间(含18和20)的女生的学号、姓名和年龄 (4)检索平均成绩超过80分的学生学号和平均成绩 (5)检索选修了全部课程的学生姓名 (6)检索选修了三门课以上的学生的姓名 解:(1)SELECT SNAME,S# FROM S,SC,C WHERE S.S#=SC.S# AND C.C#=SC.C# AND CNAME=’ MATHS’ (2)SELECT S# FROM SC WHERE CNO=’C1’ AND S# IN( SELECT S# FROM SC WHERE CNO=’C2’) (3)SELECT S#,SNAME,AGE FROM S WHERE AGE BETWEEN 18 AND 20 (4)SELECT S# ,AVG(GRADE) FROM SC GROUP BY S# HAVING AVG(GRADE)>80 (5)SELECT SNAME FROM S WHERE NOT EXISTS (SELECT * FROM C WHERE NOT EXISTS (SELECT * FROM SC WHERE S#=S.S# AND C#=C.C# ) ) (6) SELECT SNAME FROM S,SC WHERE S.S#=SC.S# GROUP BY SNAME HAVING COUNT(*)>3 ◎第四章 数据库安全性 v 本章内容:计算机安全性概述、数据库安全性控制、审计、数据加密 v 本章主要考点:基本概念、数据库安全性控制 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、安全性控制的一般方法有用户标识鉴定、存取控制、审计、数据加密和视图的保护五级安全措施。 ★第六章 关系数据理论(冷叶顷) v 本章内容:规范化、数据依赖的公里系统、模式分解 v 本章主要考点:函数依赖、多值依赖的概念、★范式判定、Armstrong公理系统 1、设计性能较优的关系模式称为规范化,规范化主要的理论依据是(A)。 A.关系规范化理论 B.关系运算理论 C.关系代数理论 D.数理逻辑 2、规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及(C)的缺陷。 A.数据的不一致性 B.结构不合理 C.冗余度大 D.数据丢失 3、当关系模式R(A,B)已属于3NF,下列说法中(B)是正确的。 A.它一定消除了插入和删除异常 B.仍存在一定的插入和删除异常 C.一定属于BCNF D.A和B都是 4、在关系DB中,任何二元关系模式的最高范式必定是(D)。 A.1NF B.2NF C.3NF D.BCNF 5、在关系模式R中,若其函数依赖集中所有候选关键字都是决定因素,则R最高范式是(C)。 A.2NF B.3NF C.4NF D.BCNF 6、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。下面“部门”关系中,因哪个属性而使它不满足第一范式?(B)。 部门(部门号,部门名,部门成员,部门总经理) A.部门总经理 B.部门成员 C.部门名 D.部门号 7、函数依赖的概念 函数依赖的定义:设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作X→Y。即只要 X 上的属性值相等,Y 上的值一定相等。 ●平凡的函数依赖 在关系模式R(U)中,对于U的子集X和Y, 如果X→Y,但Y Í X,则称X→Y是平凡的函数依赖 ●非平凡的函数依赖 在关系模式R(U)中,对于U的子集X和Y, 若X→Y,但YX,则称X→Y是平凡的函数依赖 例:在关系SC(Sno, Cno, Grade)中, 非平凡函数依赖: (Sno, Cno) → Grade 平凡函数依赖: (Sno, Cno) → Sno (Sno, Cno) → Cno ●部分函数依赖:若X→Y,但Y不完全依赖于X,则称Y对X部分函数依赖。记作 ●完全函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有X’Y, 则称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)中,如果X→Y,(Y X) ,YX, Y→Z,Z不属于Y, 则称Z对X传递函数依赖。 例:在关系Std(Sno, Sdept, Mname)中,有: Sno → Sdept,Sdept → Mname Mname传递函数依赖于Sno 8、第一范式~BCNF 第一范式(1NF):若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式。 第二范式(2NF):若关系模式 R∈1NF,且每一个非主属性完全函数依赖于码,则关系模式 R∈2NF 。(即 1NF 消除了非主属性对码的部分函数依赖则成为2NF)。 例:关系模式 S-L-C(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):关系模式 R<U,F> 中若不存在这样的码 X、属性组 Y 及非主属性 Z(Z 不是Y的子集)使得 X → Y,YX,Y→Z 成立,则称 R<U,F>∈3NF (每一个非主属性既不部分依赖于码有人不传递依赖于码) 例:上例中,在S-L中存在非主属性对码的传递函数依赖,所以不属于3NF 解决方法:采用投影分解法,把S-L分解为两个关系模式,以消除传递函数依赖: S-D(Sno, Sdept)码为Sno D-L(Sdept,Sloc) 码为Sdept BCNF:关系模式 R<U,F>∈1NF 。若 X→Y 且 Y 不是 X 的子集时,X必含有码,则 R<U,F>∈BCNF(即每一个决定属性因素都包含码) BCNF性质:若R∈BCNF ①所有非主属性对每一个码都是完全函数依赖 ②所有的主属性对每一个不包含它的码,也是完全函数依赖 ③没有任何属性完全函数依赖于非码的任何一组属性 例:在关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。 每一教师只教一门课。每门课由若干教师教,某一学生选定某门课,就确定了一个固定的教师。某个学生选修某个教师的课就确定了所选课的名称 函数依赖: (S,J)→T,(S,T)→J,T→J (S,J)和(S,T)都是候选码 STJ∈3NF (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)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题? 解: (1)它是2NF。 因为R的候选关键字为“课程名”。依赖关系: 课程名→教师名,教师名 → 课程名,教师名→教师地址,所以课程名→教师地址。即存在非主属性“教师地址”对候选关键字课程名的传递函数,因此R不是3NF。但:因为不存在非主属性对候选关键字的部分函数依赖,所以R是2NF。 (2)存在。当删除某门课程时,会删除不该删除的教师的有关信息。 (3)分解为高一级范式如图所示。 R1(课程名,教师名) R2(教师名,教师地址) 课程号 教师名 教师地址 刘爽英 D1 乔志伟 D2 于得水 D2 井超 D2 教师名 C1 刘爽英 C2 乔志伟 C3 于得水 C4 井超 R1 R2 分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不 会丢失教师方面的信息。 ★第七章 数据库设计(冷叶顷) v 本章内容:数据库设计概述、数据库设计的6个步骤 v 本章主要考点:★数据库设计的6个步骤 、ER图合并出现的冲突与解决方法、★ER图 转换成关系模式 ★1、简述数据库设计的主要步骤。 (1)需求分析(2)概念结构设计(3)逻辑结构设计(4)数据库物理设计 (5)数据库实施(6)数据库运行和维护。 2、ER图合并汇总会出现什么冲突?怎么解决冲突? ①出现的冲突有:属性冲突、命名冲突、结构冲突 ②属性冲突和命名冲突通常用讨论、协商等行政手段解决。结构冲突通常根据应用语义对实体联系的类型进行综合或调整。 3、在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的(B)阶段。 A.需求分析 B.概念设计 C.逻辑设计 D.物理设计 4、在关系数据库设计中,设计关系模式是(C)的任务。 A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段 5、数据库物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作是(B)。 A.建立库结构 B.扩充功能 C.加载数据 D.系统调试 6、从E-R模型关系向关系模型转换时,一个M∶N联系转换为关系模型时,该关系模式的关键字是(C)。 A.M端实体的关键字 B.N端实体的关键字 C.M端实体关键字与N端实体关键字组合 D.重新选取其他属性 7、当局部E-R图合并成全局E-R图时可能出现冲突,不属于合并冲突的是(B)。 A.属性冲突 B.语法冲突 C.结构冲突 D.命名冲突 8、数据流程图(DFD)是用于描述结构化方法中(C)阶段的工具。 A.可行性分析 B.详细设计 C.需求分析 D.程序编码 ★9、设有商店和顾客两个实体,“商店”有属性商店编号、商店名、地址、电话,“顾客”展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




《数据库系统概论》复习总结.docx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/2242340.html