最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

数据库系统概论复习试题及答案

IT圈 admin 54浏览 0评论

2024年5月30日发(作者:铁星泽)

数据库系统概论复习资料:

第一章:

三:简答题:

1.

什么是数据库?

答:数据库是长期存储在计算机内、有组织的、可共享的数据集合。数据库是按某种数据模型进行 组织的、存放

在外存储器上,且可被多个用户同时使用。因此,数据库具有较小的冗余度,较高的数据 独立性和易扩展性。

2.

什么是数据库的数据独立性?

答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理 数据独立性。

逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图) 之间的独

立性。当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的 变更或增加新的数据

类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。

物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念 视图)和应

用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。

3.

什么是数据库管理系统?

答:数据库管理系统

(DBMS)

是操纵和管理数据库的一组软件

它是数据库系统

(DBS)

的重要组成部 分。不

同的数据库系统都配有各自的

DBMS,

而不同的

DBMS

各支持一种数据库模型

虽然它们的功能强 弱不同,但大多数

DBMS

的构成相同,功能相似。

一般说来

,DBMS

具有定义、建立、维护和使用数据库的功能,它通常由三部分构成:数据描述语言 及其翻译程

序、数据操纵语言及其处理程序和数据库管理的例行程序。

4.

什么是数据字典?数据字典包含哪些基本内容?

答:数据字典是数据库系统中各种描述信息和控制信息的集合,它是数据库设计与管理的有力工具, 是进行详细

数据收集和数据分析所获得的主要成果。数据字典的基本内容有:数据项、数据结构、数据 流、数据存储和处理过程

5

个部分。

第一章补充作业部分:

假设教学管理规定:

① 一个学生可选修多门课,一门课有若干学生选修;

② 一个教师可讲授多门课,一门课只有一个教师讲授;

③ 一个学生选修一门课,仅有一个成绩。

学生的属性有学号、学生姓名;教师的属性有教师编号/教师姓名;课程的属性有课程号

课程名。

要求:根据上述语义画出

ER

要求在图中画出实体的属性并注明联系的类型;

1

2

章关系数据库

8

、如图所示,两个关系

R1

R2

它们进行 ______________ 运算后得到

R3

D

A

A

C

D

E

M

N

M

M

I

J

K

B

1

2

1

R1

C

1

X

2

Y

5

y

R2

R3

A

A

C

B

1

1

C

X

Y

D

M

M

E

I

I

c

A

•交

B

•并

C

•笛卡尔积

D

•连接

2 y N J

答案:

D

三、应用题

设有如下所示的关系

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)

检索选修课程号为

kl

k5

的学生学号

(S#)

(9)

检索选修全部课程的学生姓名

(SNAME)

(10)

检索选修课程包含学号为

2

的学生所修课程的学生学号

(S#)

(11)

检索选修课程名为

“C

语言”的学生学号

(S#)

和姓名

(SNAME)

解:本题各个查询语句对应的关系代数表达式表示如下:

(1) . nc#, CNAME( <7TEACHER=

'程军’

(C))

(2) . ns#, SNAME( aAGE>21 ASEX=

W

男”

(C))

(3) . nSNAMEfsM [nS#,C# (sc) vnc#((

J

TEACHER=

'程军’

(C))]}

(4) . nc#(c)- nC#((7SNAME=

'李强’

(S)XSC)

(5) . nS#(a[l]=[4]A[2]#=[5] (SCxSC))

(6) . nc#,CNAME(CM (ns#,C#(sc)4-nS#(S)))

(7) . ns#(scx nC#(aTEACHER=

'程军’

(C)))

(8) . ns#,c# (sc) vnc#(

(9) . nSNAMEfsM [ns#,C# (sc) mTIC#(C)]}

(10) . ns#,c# (sc) 4-nc#(<7S#= 2'(so)

(11) . ns#, SNAME{sM [ns#(sccx](7CNAME= 'C

语言’

(C))]}

关系

R

S

如下图所示,试计算

RmS

一、选

择题

8

11

C(C# , CN)

SC(S# ‘ C# ‘ GRADE)

其中:

S#

为学号,

SN

为姓名‘

SEX

为性别,

AGE

为年龄,

DEPT

为系别,

C#

为课程号,

CN

为课程名,

GRADE

为成绩。

11

、检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正

确的

(SELECT GRADE FORM SC

SELEC

WHERE C#= “C2” )

T

WHERE C#= “C2” AND GRADE IN

答案:

I)

二、填空题

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) VALUESC30,“

郑和”,

“95031”)

UPDATE R SET NAME=

“王华”

WHERE N0=10

UPDATE R SET CLASS= “95091” WHERE CLASS= “95101”

DELETE FROM R WHERE NO=20

©DELETE FROMR R 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)

检索选修了全部课程的学生姓名

答案

:(1) SELECT SNAME, AGE (Sno

FROM S, SC, C

WHERE S. S#=SC. S#

AND C. C#=SC. C#

AND CNAMEh MATHS'

(2) SELECT S#

FROM SC

WHERE CNO=

Cl' AND S#

INC 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#

(6)

检索选修了三门课以上的学生的姓名

课程表

: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 AS

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

SELECT SNO, SNAME, SEX

FROM STUDENT

WHERE Sdept=

,

CS'

(3)UPDATE S_CS_VIEW

SET SNAME=

,

王慧平'

WHERE SNAME=*

王平'

(4) CREATE VIEW datascore_view

AS

SELECT SNO

学号、

SNAME

姓名、

GRADE

成绩

FROM STUDENT, SC, COURSE

WHERE STUDENT. SNO=SC. SNO

SCZ. CNO=SCY. CNO));

(2) CREATE VIEW S_CS_VIEW

AND COURSE. CNO=SC. CNO

AND CNAME=

,

数据库’

5

章数据库完整性

一、选择题:

2

、关于主键约束以下说法错误的是( )

A.

一个表中只能设置一个主键约束

B.

允许空值的字段上不能定义主键约束

C.

允许空值的字段上可以定义主键约束

I).

、可以将包含多个字段的字段组合设置为主键

案:

C

三、设计题

在学生课程管理数据库中创建一触发器,当向学生选课表插入记录时,检查该记录的学号在学生表 中是否存在,

检查该记录的课程号在课程表中是否存在,及选课成绩是否在

0

100

范围,若有一项为 否,则不允许插入。

答案:

create trigger

on sc

for insert

as

begin

declare @s# char(6), gc# char(5), ggrade int

select @s#=sno, gc#=cno, ggrade=score

from inserted

if (@s# not in(select sno from student)) or (@c# not in (select eno from course) )or

(ggrade not between 0 and 100)

rollback transaction

else

print

'成功插入'

end

6

章关系数据理论

一、选择题

1

、关系规范化中的刪除操作异常是指

A

•不该删除的数据被删除

该插入的数据未被插入

答案:

①A②D

,插入操作异常是指

B

•不该插入的数据被插入

C

•应该删除的数据未被刪除

I)

•应

5

、关系模型中的关系模式至少是 _______________ 。

A - INF B -2NF C • 3NF 1) - BCNF

6

、 在关系

DB

任何二元关系模式的最高范式必定是 _________________ 。

A - INF B-2NF C -3NF D -BCNF

2024年5月30日发(作者:铁星泽)

数据库系统概论复习资料:

第一章:

三:简答题:

1.

什么是数据库?

答:数据库是长期存储在计算机内、有组织的、可共享的数据集合。数据库是按某种数据模型进行 组织的、存放

在外存储器上,且可被多个用户同时使用。因此,数据库具有较小的冗余度,较高的数据 独立性和易扩展性。

2.

什么是数据库的数据独立性?

答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理 数据独立性。

逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图) 之间的独

立性。当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的 变更或增加新的数据

类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。

物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念 视图)和应

用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。

3.

什么是数据库管理系统?

答:数据库管理系统

(DBMS)

是操纵和管理数据库的一组软件

它是数据库系统

(DBS)

的重要组成部 分。不

同的数据库系统都配有各自的

DBMS,

而不同的

DBMS

各支持一种数据库模型

虽然它们的功能强 弱不同,但大多数

DBMS

的构成相同,功能相似。

一般说来

,DBMS

具有定义、建立、维护和使用数据库的功能,它通常由三部分构成:数据描述语言 及其翻译程

序、数据操纵语言及其处理程序和数据库管理的例行程序。

4.

什么是数据字典?数据字典包含哪些基本内容?

答:数据字典是数据库系统中各种描述信息和控制信息的集合,它是数据库设计与管理的有力工具, 是进行详细

数据收集和数据分析所获得的主要成果。数据字典的基本内容有:数据项、数据结构、数据 流、数据存储和处理过程

5

个部分。

第一章补充作业部分:

假设教学管理规定:

① 一个学生可选修多门课,一门课有若干学生选修;

② 一个教师可讲授多门课,一门课只有一个教师讲授;

③ 一个学生选修一门课,仅有一个成绩。

学生的属性有学号、学生姓名;教师的属性有教师编号/教师姓名;课程的属性有课程号

课程名。

要求:根据上述语义画出

ER

要求在图中画出实体的属性并注明联系的类型;

1

2

章关系数据库

8

、如图所示,两个关系

R1

R2

它们进行 ______________ 运算后得到

R3

D

A

A

C

D

E

M

N

M

M

I

J

K

B

1

2

1

R1

C

1

X

2

Y

5

y

R2

R3

A

A

C

B

1

1

C

X

Y

D

M

M

E

I

I

c

A

•交

B

•并

C

•笛卡尔积

D

•连接

2 y N J

答案:

D

三、应用题

设有如下所示的关系

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)

检索选修课程号为

kl

k5

的学生学号

(S#)

(9)

检索选修全部课程的学生姓名

(SNAME)

(10)

检索选修课程包含学号为

2

的学生所修课程的学生学号

(S#)

(11)

检索选修课程名为

“C

语言”的学生学号

(S#)

和姓名

(SNAME)

解:本题各个查询语句对应的关系代数表达式表示如下:

(1) . nc#, CNAME( <7TEACHER=

'程军’

(C))

(2) . ns#, SNAME( aAGE>21 ASEX=

W

男”

(C))

(3) . nSNAMEfsM [nS#,C# (sc) vnc#((

J

TEACHER=

'程军’

(C))]}

(4) . nc#(c)- nC#((7SNAME=

'李强’

(S)XSC)

(5) . nS#(a[l]=[4]A[2]#=[5] (SCxSC))

(6) . nc#,CNAME(CM (ns#,C#(sc)4-nS#(S)))

(7) . ns#(scx nC#(aTEACHER=

'程军’

(C)))

(8) . ns#,c# (sc) vnc#(

(9) . nSNAMEfsM [ns#,C# (sc) mTIC#(C)]}

(10) . ns#,c# (sc) 4-nc#(<7S#= 2'(so)

(11) . ns#, SNAME{sM [ns#(sccx](7CNAME= 'C

语言’

(C))]}

关系

R

S

如下图所示,试计算

RmS

一、选

择题

8

11

C(C# , CN)

SC(S# ‘ C# ‘ GRADE)

其中:

S#

为学号,

SN

为姓名‘

SEX

为性别,

AGE

为年龄,

DEPT

为系别,

C#

为课程号,

CN

为课程名,

GRADE

为成绩。

11

、检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正

确的

(SELECT GRADE FORM SC

SELEC

WHERE C#= “C2” )

T

WHERE C#= “C2” AND GRADE IN

答案:

I)

二、填空题

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) VALUESC30,“

郑和”,

“95031”)

UPDATE R SET NAME=

“王华”

WHERE N0=10

UPDATE R SET CLASS= “95091” WHERE CLASS= “95101”

DELETE FROM R WHERE NO=20

©DELETE FROMR R 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)

检索选修了全部课程的学生姓名

答案

:(1) SELECT SNAME, AGE (Sno

FROM S, SC, C

WHERE S. S#=SC. S#

AND C. C#=SC. C#

AND CNAMEh MATHS'

(2) SELECT S#

FROM SC

WHERE CNO=

Cl' AND S#

INC 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#

(6)

检索选修了三门课以上的学生的姓名

课程表

: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 AS

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

SELECT SNO, SNAME, SEX

FROM STUDENT

WHERE Sdept=

,

CS'

(3)UPDATE S_CS_VIEW

SET SNAME=

,

王慧平'

WHERE SNAME=*

王平'

(4) CREATE VIEW datascore_view

AS

SELECT SNO

学号、

SNAME

姓名、

GRADE

成绩

FROM STUDENT, SC, COURSE

WHERE STUDENT. SNO=SC. SNO

SCZ. CNO=SCY. CNO));

(2) CREATE VIEW S_CS_VIEW

AND COURSE. CNO=SC. CNO

AND CNAME=

,

数据库’

5

章数据库完整性

一、选择题:

2

、关于主键约束以下说法错误的是( )

A.

一个表中只能设置一个主键约束

B.

允许空值的字段上不能定义主键约束

C.

允许空值的字段上可以定义主键约束

I).

、可以将包含多个字段的字段组合设置为主键

案:

C

三、设计题

在学生课程管理数据库中创建一触发器,当向学生选课表插入记录时,检查该记录的学号在学生表 中是否存在,

检查该记录的课程号在课程表中是否存在,及选课成绩是否在

0

100

范围,若有一项为 否,则不允许插入。

答案:

create trigger

on sc

for insert

as

begin

declare @s# char(6), gc# char(5), ggrade int

select @s#=sno, gc#=cno, ggrade=score

from inserted

if (@s# not in(select sno from student)) or (@c# not in (select eno from course) )or

(ggrade not between 0 and 100)

rollback transaction

else

print

'成功插入'

end

6

章关系数据理论

一、选择题

1

、关系规范化中的刪除操作异常是指

A

•不该删除的数据被删除

该插入的数据未被插入

答案:

①A②D

,插入操作异常是指

B

•不该插入的数据被插入

C

•应该删除的数据未被刪除

I)

•应

5

、关系模型中的关系模式至少是 _______________ 。

A - INF B -2NF C • 3NF 1) - BCNF

6

、 在关系

DB

任何二元关系模式的最高范式必定是 _________________ 。

A - INF B-2NF C -3NF D -BCNF

发布评论

评论列表 (0)

  1. 暂无评论