A.外模式 B.内模式 C.存储模式 D.模式
20数据库体系的数据独立性是指 。
A.不会因为数据的变革而影相应用程序
B.不会因为体系数据存储结构与数据逻辑结构的变革而影相应用程序
C.不会因为存储战略的变革而影响存储结构
D.不会因为某些存储结构的变革而影响其他的存储结构
21.信息世界中的术语,与之对应的数据库术语为 。
A.文件 B.数据库 C.字段 D.记载
22.层次型、网状型和关系型数据库划分原则是 。
A.记载长度 B.文件的巨细 C.联系的复杂水平 D.数据之间的联系
23.传统的数据模子分类,数据库体系可以分为三种类型 。
A.大型、中型和小型 B.西文、中文和兼容
C.层次、网状和关系 D.数据、图形和多媒体
\24. 层次模子不能直接体现 。
A. 1 :1关系 B.1 :m关系 C. m :n关系 D.1 :1和1 :m关系
\25. 数据库技术的奠定人之一E.F.Codd从1970年起发表过多篇论文,紧张叙述的是 。
A.层次数据模子 B.网状数据模子 C.关系数据模子 D.面向对象数据模子
填空题
\1. 数据管理技术经历了 人工管理 、 文件体系 和 数据库体系 三个阶段。
\2. 数据库是长期存储在盘算机内、有 组织 的、可 共享 的数据聚集。
3.DBMS是指 数据库管理体系 ,它是位于 用户 和 操作体系 之间的一层管理软件。
\4. 数据库管理体系的紧张功能有 数据界说 、 数据利用 、数据库的运行管理和数据库的建立以及维护等4个方面。
\5. 数据独立性又可分为 物理独立性 和 逻辑独立性 。
\6. 当数据的物理存储改变了,应用程序稳固,而由DBMS处理这种改变,这是指数据的 物理独立性 。
\7. 数据模子是由 数据结构 、 数据操作 和 完整性约束 三部分组成的。
\8. 数据结构 是对数据体系的静态特性的描述, 数据操作 是对数据库体系的动态特性的描述。
\9. 数据库体系结构按照 模式 、 外模式 和 内模式 三级结构举行组织。
\10. 实体之间的联系可抽象为三类,它们是 一对一 、 一对多 和 多对多 。
11.数据冗余可能导致的题目有 浪费存储空间及修改麻烦 和 潜在的数据不一致 。
简答题:
\1. 什么是数据库?
答:数据库是长期存储在盘算机内、有组织的、可共享的数据聚集。数据库是按某种数据模子举行组织的、存放在外存储器上,且可被多个用户同时使用。因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。
\2. 什么是数据库的数据独立性?
答:数据独立性体现应用程序与数据库中存储的数据不存在依靠关系,包罗逻辑数据独立性和物理数据独立性。
逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。当数据库的全局逻辑数据结构(概念视图)发生变革(数据界说的修改、数据之间联系的变更或增加新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。
物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。
\3. 什么是数据库管理体系?
答:数据库管理体系(DBMS)是利用和管理数据库的一组软件,它是数据库体系(DBS)的紧张组成部分。不同的数据库体系都配有各自的DBMS,而不同的DBMS各支持一种数据库模子,虽然它们的功能强弱不同,但大多数DBMS的构成雷同,功能相似。
一样平常说来,DBMS具有界说、建立、维护和使用数据库的功能,它通常由三部分构成:数据描述语言及其翻译程序、数据利用语言及其处理程序和数据库管理的例行程序。
\4. 什么是数据字典?数据字典包罗哪些基本内容?
答:数据字典是数据库体系中各种描述信息和控制信息的聚集,它是数据库设计与管理的有力工具,是举行具体数据收集和数据分析所得到的紧张成果。数据字典的基本内容有:数据项、数据结构、数据流、数据存储和处理过程5个部分。
第二章 关系数据库
============================================================================
一、要区分的五个概念(明确)
候选码、主码、主属性、非主属性、全码
二、重点明确:型与值(明确)
型:如关系模式:用二维表形式表实际体与实体间联系的数据模子,是静态的
值:如关系:关系模式在某一刻的状态或内容,是动态的
如何明确:可以把关系模式看作是一张二维表的模板,关系看作是表里的内容
三、关系的操作(识记)
四、关系的完整性(必要明确易考简答题)
- 实体完整性:基本关系的主属性不能为空,对主码的约束
- 参照完整性:对外码的约束
S:(Sno(K),Sname,Sex) 被参照关系
R:(Sno(F),Cno,Grade)参照关系
属性或属性组F是基本关系的R的外码,它与基本关系S中的主码K相对应(基本关系R和S不肯定是不同的关系,则对应R中每一个元组在F上的值必须:
<1>、或者为空值(当外码不是参照关系的主属性时可以为空)
<2>、或者等于S(被参照关系)中的某一元组的主码值
列值非空(not null)、列值唯一(unique)、查抄列值取值范围(check)
五、专门的关系运算(运用)
运算对象、运算符、运算结果
- 明确象集的概念(P51)
- 区分等值连接和自然连接(P54)
- 除运算(P55例2.9)(难点,前提是明确象集的概念)
题目:设有关系R,S如图,求R除S
解题步调:
- 写出在R关系中,但不在S关系中的属性(组)的所有象集
如属性A在R关系中但不在S关系中,所以写出属性A的象集
A的取值有{a1,a2,a3,a4}
a1的象集:{(b1,c2),(b2,c3),(b2,c1)}
a2的象集:{(b3,c7),(b2,c3)}
a3的象集:{(b4,c6)}
a4的象集:{(b6,c6)}
- 写出关系S中在R和S关系上共有的的属性(组)的投影
如属性组(B,C)在R和S关系上共有
故关系S在(B,C)上的投影为{(b1,c2),(b2,c1),(b2,c3)}
- 找出包罗了投影的象集,对应的属性的取值便是所求
如只有a1的象集包罗了投影{(b1,c2),(b2,c1),(b2,c3)},因此R除S={a1}
选择题
1、关系数据库管理体系应能实现的专门关系运算包罗 。
A.排序、索引、统计 B.选择、投影、连接
C.关联、更新、排序 D.显示、打印、制表
2、关系模子中,一个关键字是 。
A.可由多个恣意属性组成
B.至多由一个属性组成
C.可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成
D.以上都不是
3、自然连接是构成新关系的有用方法。一样平常情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的 。
A.元组 B.行 C.记载 D.属性
4、关系运算中耗费时间可能最长的运算是 。
A.投影 B.选择 C.笛卡尔积 D.除
5.关系模式的任何属性 。
A.不可再分 B.可再分
C.定名在该关系模式中可以不惟一 D.以上都不是
6.在关系代数运算中,五种基本运算为 。
A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影
C.并、差、选择、投影、笛卡尔积 D.并、差、交、选择、笛卡尔积
7、设有关系R,按条件f对关系R举行选择,正确的是 。
A.R´f B.R wv f C. sf® D.Pf®
8、如图所示,两个关系R1和R2,它们举行 运算后得到R3。
A.交 B.并 C.笛卡尔积 D.连接
二、填空题
1、一个关系模界说格式为 关系(属性名1,属性名2,……,属性名n) 。
2、一个关系模式的界说紧张包罗 关系名 、 属性名 、 属性类型 、 属性长度 和 关键字 。
3、关系代数运算中,传统的聚集运算有 笛卡尔积 、 交 、 并 和 差 。
4、关系代数运算中,基本的运算是 并 、 差 、 笛卡尔积 、 投影 和 选择 。
5、关系代数运算中,专门的关系运算有 选择 、 投影 和 链接 。
6、关系数据库中基于数学上两类运算是 关系代数 和 关系演算 。
7、已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主关键字是 系编号 ,系关系的外关键字 无 ,学生关系的主关键字是 学号 ,外关键字 系编号
三、应用题:
1、设有如下所示的关系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和SC(S#,C#,GRADE),试用关系代数表达式体现下列查询语句:
(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。
(2)检索年事大于21的男学生学号(S#)和姓名(SNAME)。
(3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。
(4)检索”李强”同学不学课程的课程号(C#)。
(5)检索至少选修两门课程的学生学号(S#)。
(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
(7)检索选修课程包罗“程军”老师所授课程之一的学生学号(S#)。
(8)检索选修课程号为k1和k5的学生学号(S#)。
(9)检索选修全部课程的学生姓名(SNAME)。
(10)检索选修课程包罗学号为2的学生所修课程的学生学号(S#)。
(11)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。
解:本题各个查询语句对应的关系代数表达式体现如下:
2、关系R和S如下图所示,试盘算R÷S。
关系R
| A | B | C | D |
| :-: | :-: | :-: | :-: |
| a | b | c | d |
| a | b | e | f |
| a | b | h | k |
| b | d | e | f |
| b | d | d | l |
| c | k | c | d |
| c | k | e | f |
关系S
| C | D |
| — | — |
| c | d |
| e | f |
- 在关系R中:
(a,b)的象集为{(c,d),(e,f),(h,k)};
(b,d)的象集为{(e,f),(d,l)};
(c,k)的象集为{(c,d),(e,f)};
- 在关系S中CD在S上的投影为{(c,d),(e,f)};
- 由此可知:(a,b) 和(c,k)都包罗投影{(c,d),(e,f)};
因此:R÷S={(c,d),(e,f)}
第三章 关系数据库标准语言SQL
=======================================================================================
条记详见:数据库期末复习:关系数据库标准语言SQL https://blog.csdn.net/weixin_53463734/article/details/122373370
一、选择题
1、SQL语言是 的语言,易学习。
A.过程化 B.非过程化 C.格式化 D.导航式
2、SQL语言是 语言。
A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库
3、SQL语言具有 的功能。
A.关系规范化、数据利用、数据控制 B.数据界说、数据利用、数据控制
C.数据界说、关系规范化、数据控制 D.数据界说、关系规范化、数据利用
4、SQL语言具有两种使用方式,分别称为交互式SQL和 。
A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL
5、假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。
要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系 。
A.S B.SC,C C.S,SC D.S,C,SC
6、如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,下面哪条SQL操作 不能执行。
A.从职工表中删除行(‘025’,‘王芳’,‘03’,720)
B.将行(‘005’,‘乔兴’,‘04’,750)插入到职工表中
C.将职工号为‘001’的工资改为700
D.将职工号为‘038’的部门号改为‘03’
7、若用如下的SQL语句创建一个student表:
CREATE TABLE student(NO C(4) NOT NULL,
NAME C(8) NOT NULL,
SEX C(2),
AGE N(2))
可以插入到student表中的是 。
A.(‘1031’,‘曾华’,男,23) B.(‘1031’,‘曾华’,NULL,NULL)
C.(NULL,‘曾华’,‘男’,‘23’) D.(‘1031’,NULL,‘男’,23)
第8到第11题基于如许的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:
S(S#,SN,SEX,AGE,DEPT)
C(C#,CN)
SC(S#,C#,GRADE)
其中:S#为学号,SN为姓名,SEX为性别,AGE为年事,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。
8、检索所有比“王华”年事大的学生姓名、年事和性别。正确的SELECT语句是 。
A.SELECT SN,AGE,SEX FROM S
WHERE AGE>(SELECT AGE FROM S
WHERE SN=“王华”)
B.SELECT SN,AGE,SEX
FROM S
WHERE SN=“王华”
C.SELECT SN,AGE,SEX FROM S
WHERE AGE>(SELECT AGE
WHERE SN=“王华”)
D.SELECT SN,AGE,SEX FROM S
WHERE AGE>王华.AGE
9、检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是 。
A.SELECT S# FORM SC
WHERE C#=“C2” AND GRAD>=
(SELECT GRADE FORM SC
WHERE C#=“C2”)
B.SELECT S# FORM SC
WHERE C#=“C2” AND GRADE IN
(SELECT GRADE FORM SC
WHERE C#=“C2”)
C.SELECT S# FORM SC
WHERE C#=“C2” AND GRADE NOT IN
(SELECT GRADE FORM SC
WHERE C#=“C2”)
D.SELECT S# FORM SC
WHERE C#=“C2” AND GRADE>=ALL
(SELECT GRADE FORM SC
WHERE C#=“C2”)
10、检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是 。
A.SELECT S.SN,SC.C#,SC.GRADE
FROM S
WHERE S.S#=SC.S#
B.SELECT S.SN,SC.C#,SC.GRADE
FROM SC
WHERE S.S#=SC.GRADE
C.SELECT S.SN,SC.C#,SC.GRADE
FROM S,SC
WHERE S.S#=SC.S#
D.SELECT S.SN,SC.C#,SC.GRADE
FROM S.SC
11、检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是
A.SELECT S#,SUM(GRADE)FROM SC
WHERE GRADE>=60
GROUP BY S#
ORDER BY 2 DESC
HAVING COUNT(*)>=4
B.SELECT S# FORM SC
WHERE C#=“C2” AND GRADE IN
(SELECT GRADE FORM SC
WHERE C#=“C2”)
C.SELECT S# FORM SC
WHERE C#=“C2” AND GRADE NOT IN
(SELECT GRADE FORM SC
WHERE C#=“C2”)
D.SELECT S# FORM SC
WHERE C#=“C2” AND GRADE>=ALL
(SELECT GRADE FORM SC
WHERE C#=“C2”
二、填空题
1、SQL是 结构化 查询语言 。
2、视图是一个虚表,它是从 一个或多个表 中导出的表。在数据库中,只存放视图的 界说 ,不存放视图的 对应数据 。
3、设有如下关系表R:
R(No,NAME,SEX,AGE,CLASS)
主关键字是NO
其中NO为学号,NAME为姓名,SEX为性别,AGE为年事,CLASS为班号。
写出实现下列功能的SQL语句。
①插入一个记载(25,“李明”,“男”,21,“95031”); 。
②插入“95031”班学号为30、姓名为“郑和”的学生记载; 。
③将学号为10的学生姓名改为“王华”; 。
④将所有“95101”班号改为“95091”; 。
⑤删除学号为20的学生记载; 。
⑥删除姓“王”的学生记载; 。
答案:
①INSERT INTO R VALUES(25,“李明”,“男”,21,“95031”)
②INSERT INTO R(NO,NAME,CLASS) VALUES(30,“郑和”,“95031”)
③UPDATE R SET NAME=“王华”WHERE NO=10
④UPDATE R SET CLASS=“95091”WHERE CLASS=“95101”
⑤DELETE FROM R WHERE NO=20
⑥DELETE FROMR WHERE NAME LIKE“王%”
第3章书面作业
1、设学生课程数据库中有三个关系:
学生关系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,AGE
- 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
复制代码 2、设学生-课程数据库中包罗三个表:
学生表:Student (Sno,Sname,Sex,Sage,Sdept)
课程表:Course(Cno,Cname,Ccredit)
学生选课表:SC(Sno,Cno,Grade)
其中Sno、Sname、Sex、Sage、Sdept、 Cno、Cname、Ccredit 、Grade分别体现学号、姓名、性别、年事、所在系名、课程号、课程名、学分和成绩。
试用SQL语言完成下列项操作:
(1)查询选修课程包罗“1042”号学生所学的课程的学生学号
(2)创建一个计科系学生信息视图S_CS_VIEW,包罗Sno学号、Sname姓名、Sex性别;
(3)通过上面第2题创建的视图修改数据,把王平的名字改为王慧平
(4)创建一选修数据库课程信息的视图,视图名称为datascore_view,包罗学号、姓名、成绩。
- 答案:
- (1) SELECT DISTINCT SNO
- FROM SC SCX
- WHERE NOT EXISTS
- (SELECT *
- FROM SC SCY
- WHERE SCY.SNO = ' 1042' AND
- NOT EXISTS
- (SELECT *
- FROM SC SCZ
- WHERE SCZ.SNO=SCX.SNO AND
- SCZ.CNO=SCY.CNO));
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |