《数据库原理》
第一章 绪论
- **本章内容:**数据库系统概述、数据模型、数据库系统结构
- 本章主要考点: 数据、数据库、数据库管理系统的概念、概念模型、三种数据模型、数据独立性、常用DBMS、DBA
- 对应目标1题型:选择题5个,10分;简答题1个,5分。共15分
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、对数据库中进行增加记录类型或增加数据项,通过调整下列哪一级映像,可以使应用程序尽可能保持不变,便达到了哪一种数据的独立性(A)
A、外模式/模式映像,逻辑数据独立性
B、外模式/模式映像,物理数据独立性
C、模式/内模式映像,逻辑数据独立性
D、模式/内模式映像,物理数据独立性
第二章 关系数据库
- **本章内容:关系数据结构及形式化定义、关系操作、关系的完整性、关系代数
- 本章主要考点:概念、关系的完整性、★★关系代数
- 对应目标3题型:计算题3个,6分;写关系代数表达式3个,9分共15分。
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、关系代数
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q1X6VlPW-1691319021908)(D:\desktop\《数据库系统概论》复习总结.files\image001.png)]
(1)R∪S仍为n目关系,由属于R或属于S的元组组成
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eMSmP5d6-1691319021909)(D:\desktop\《数据库系统概论》复习总结.files\image005.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LtQFHwMa-1691319021909)(D:\desktop\《数据库系统概论》复习总结.files\image007.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hCDR2OI3-1691319021909)(D:\desktop\《数据库系统概论》复习总结.files\image009.png)]
(2)R - S 仍为n目关系,由属于R而不属于S的所有元组组成
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-17TW9CM9-1691319021910)(D:\desktop\《数据库系统概论》复习总结.files\image011.gif)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qJvdN2tk-1691319021910)(D:\desktop\《数据库系统概论》复习总结.files\image012.gif)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IAgsjdlx-1691319021911)(D:\desktop\《数据库系统概论》复习总结.files\image013.png)]
(3)R∩S仍为n目关系,由既属于R又属于S的元组组成
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cZ16SQbs-1691319021912)(D:\desktop\《数据库系统概论》复习总结.files\image015.gif)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n64nYOPW-1691319021912)(D:\desktop\《数据库系统概论》复习总结.files\image011.gif)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YzqatkYF-1691319021913)(D:\desktop\《数据库系统概论》复习总结.files\image016.png)]
(4)笛卡尔积:R×S 列:(n+m)列元组的集合,元组的前n列是关系R的一个元组,后m列是关系S的一个元组,行:k1×k2个元组
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ECytQnoX-1691319021913)(D:\desktop\《数据库系统概论》复习总结.files\image018.png)]
(5)选择:
选择运算符的含义:在关系R中选择满足给定条件的诸元组
σF® = {t|tÎR∧F(t)= ‘真’}
F:选择条件,是一个逻辑表达式
例如:查询信息系(IS系)全体学生 σSdept = ‘IS’ (Student)
(6)投影:
投影运算符的含义:从R中选择出若干属性列组成新的关系
πA® = { t[A] | t ÎR } A是R中的属性列
例如:查询学生的姓名和所在系,即求Student关系上学生姓名和所在系两个属性上的投影
πSname,Sdept(Student)
(7)连接:
连接运算的含义:从两个关系的笛卡尔积中选取属性间满足一定条件的元组
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jFVV5lGE-1691319021914)(D:\desktop\《数据库系统概论》复习总结.files\image020.png)]
分为等值连接、一般连接、自然连接
例如:关系R和关系S 如下所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h9OKOWhW-1691319021914)(D:\desktop\《数据库系统概论》复习总结.files\image022.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UCmrv86o-1691319021915)(D:\desktop\Snipaste_2023-08-06_18-17-32.png)]
(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上投影的集合,记作:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g4pg9CGo-1691319021915)(D:\desktop\Snipaste_2023-08-06_18-20-03.png)]
例如:设关系R、S分别为下图的(a)和(b),R÷S的结果为图©
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jJlaYPN4-1691319021916)(D:\desktop\《数据库系统概论》复习总结.files\image030.png)]
★**例:**设有一个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
- **本章内容:**SQL概述、数据定义、数据查询、数据更新、视图
- 本章主要考点:基本概念、★★数据查询的基本语句操作、数据更新语句**
- 对应目标4题型:填空10空,10分;写SQL语句5个,10分,共20分。
**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语句**)**
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OqEaIcN0-1691319021916)(D:\desktop\《数据库系统概论》复习总结.files\image032.png)]
` `**例:**查询计算机科学系全体学生的名单。*(比较)*
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谓词的子查询
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WSnVQCRv-1691319021916)(D:\desktop\《数据库系统概论》复习总结.files\image034.png)]
**例:**查询其他系中比计算机科学某一学生年龄小的学生姓名和年龄
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”的学生的学号与姓名
SELECT SNAME,S#
` `FROM S,SC,C
` `WHERE S.S#=SC.S#
` `AND C.C#=SC.C#
` `AND CNAME=’ MATHS
(2)检索至少学习了课程号为“C1”和“C2”的学生的学号
SELECT S#
` `FROM SC
` `WHERE CNO=’C1’ AND S# IN( SELECT S#
` `FROM SC
` `WHERE CNO=’C2’)
(3)检索年龄在18到20之间(含18和20)的女生的学号、姓名和年龄
SELECT S#,SNAME,AGE
` `FROM S
` `WHERE AGE BETWEEN 18 AND 20
(4)检索平均成绩超过80分的学生学号和平均成绩
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
第四章 数据库安全性
- **本章内容:计算机安全性概述、数据库安全性控制、视图
- **本章主要考点:**基本概念、数据库安全性控制,角色的创建于授权(写SQL),视图的概念
- 对应目标2(包括4、5、10、11章):选择题5个,10分;应用题(写SQL语句)2个,5分;共15分。
第五章 数据库完整性
- **本章主要考点:**基本概念、数据库完整性约束的添加(写SQL)
对应目标2
第六章 关系数据理论
- **本章内容:规范化、数据依赖的公里系统、模式分解
- 本章主要考点:
- 对应目标5
★第七章 数据库设计
- **本章内容:**数据库设计概述、数据库设计的6个步骤
- 本章主要考点:★数据库设计的6个步骤 、★ER图
转换成关系模式
- **对应目标5:**应用题8分(有关数据完整性的分析与应用);简答题1个,12分;设计题1个,15分;共35分。
1、简述数据库设计的主要步骤。
(1)需求分析(2)概念结构设计(3)逻辑结构设计(4)数据库物理设计
(5)数据库实施(6)数据库运行和维护。
**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、**设有商店和顾客两个实体,“商店”有属性商店编号、商店名、地址、电话,“顾客”有属性顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期。试画出E-R图,并注明属性和联系,并将其转换为关系模型。
**解:**E-R图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IgpGhH0Z-1691319021917)(D:\desktop\《数据库系统概论》复习总结.files\image036.png)]
**关系模型:**顾客(顾客编号,姓名,地址,年龄,性别)
商店(商店编号,商店名,地址,电话)
购物(顾客编号,商店名称,日期,消费金额)
- 本章主要考点:嵌入式SQL 基本概念、语法格式。
- 对应目标4 ,涉及题型:填空。
第十章 数据库恢复技术
- **本章内容:事务的基本概念、故障的种类、恢复策略
- **本章主要考点:**恢复策略 ,事物的概念、特征
- 对应目标2
第十一章 并发控制
- **本章内容:并发控制的概述、封锁、活锁和死锁、两段锁协议
- 本章主要考点: 并发控制的基本概念
对应目标2
PAGE \* MERGEFORMAT15