23333333333333333333333

一、选择题

1.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于( A )

A.系统软件

B.工具软件

C.应用软件

D.数据软件

2.下列模式中,用于描述单个用户数据视图的是( C )

A.内模式

B.概念模式

C.外模式

D.存储模式

3.数据模型三要素是指( B )

A.数据结构、数据对象和数据共享

B.数据结构、数据操作和数据完整性约束

C.数据结构、数据操作和数据的安全控制

D.数据结构、数据操作和数据的可靠性

以下关于关系的叙述错误的是( C )

A.关系是笛卡尔积的子集,所以也可以把关系看成是一个二维表

B.关系中每列的分量必须来自同一个域,不同的列也可来自同一个域

C.关系中列的顺序不可以交换

D.关系中元组的顺序可任意

5.关系模式的任何属性( A )

A.不可再分

B.可再分

C.命名在该关系模式中可以不唯一

D.以上都不是

6.在关系R(R#,RN,S#)和S(S#,SN,SD)中,R的主码是R#,S的主码是S#,则S#在R中称为( A )

A.外码

B.候选码

C.主码

D.超码

7.关系数据库管理系统应能实现的专门关系运算包括( B )

A.排序、索引、统计

B.选择、投影、连接

C.关联、更新、排序

D.显示、打印、制表

设有关系R和S,关系代数R∩S还可以表示为( A )

A.R-(R-S)

B.R-(S-R)

C.RU(R-S)

D.S-(R-S)

9.SQL语言是( C )语言

A.层次数据库

B.网络数据库

C.关系数据库

D.非数据库

10.任何一个满足2NF但不满足3NF的关系模式都不存在( B )

A.主属性对码的部分依赖

B.非主属性对码的部分依赖

C.主属性对码的传递依赖

D.非主属性对码的传递依赖

11.设有关系模式R(A,B,C),其函数依赖集:F={A→B,B→C},则关系模式R的规范化程度最高达到( B )

A.1NF

B.2NF

C.3NF

D.BCNF

关系数据库的规范化理论指出,关系数据库中的关系应该满足一定的要求,最起码的要求是达到1NF,即满足( C )

A.关系中的元组不可重复

B.主键属性唯一标识关系中的元组

C.每个属性都是不可分解的

D.每个非主键属性都完全依赖于主键属性

13.数据流图(DFD)是用于描述结构化方法中( A )阶段的工具

A.需求分析

B.概念结构设计

C.逻辑结构设计

D.物理结构设计

14.在关系数据库设计中,设计关系模式是( C )的任务

A.需求分析阶段

B.概念设计阶段

C.逻辑设计阶段

D.物理设计阶段

15.( D )是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位

A.程序

B.命令

C.文件

D.事务

16.一个数据库的外模式( D )

A.只能有一个

B.至少两个

C.最多两个

D.可以有多个

17.在数据库管理系统提供的数据语言中,负责数据定义和数据查询的是( A )

A.数据定义语言DDL

B.数据转换语言

C.数据控制语言

D.数据操纵语言DML

18.同一个关系模式的任两个元组值( A )。

A.不能完全相同

B.可以完全相同

C.必须完全相同

以上都不对

19.在关系模式中,一个候选码( C )。

A.只包含一个属性

B.必须由多个属性组成

C.是能唯一标识关系中元组的属性或属性集

D.以上都不对

20.在SQL的SELECT语句中,能实现投影操作的是( A )。

A.SELECT

B.FROM

C.WHERE

D.GROUPBY

21.下列SQL语句中,( B )不是数据操纵语句。

A.INSERT

B.CREATE

C.DELETE

D.UPDATE

22.在SQL中,修改数据表结构应使用的命令是( A )。

A.ALTER

B.CREATE

C.CHANGE

D.DELETE

23.若关系模式R(A,B,C,D)已属于3NF,下列说法中( B )是正确的。

A.它一定消除了插入和删除异常

B.仍存在一定的插入和删除异常

一定属于BCNF

D.A和C都是

24.E-R图是数据库设计的工具之一,它适用于建立数据库的( A )。

A.概念模型

B.结构模型

C.逻辑模型

D.物理模型

25.“日志”文件用于保存( D )

A.程序运行过程

B.数据操作

C.程序执行结果

D.对数据库的更新操作

二、填空题

1.数据管理的发展主要经历了 人工管理、文件系统阶段、数据库系统阶段 三个发展阶段。

2.关系运算可分为 关系代数 关系演算 两大类。

3.关系代数运算可以分为 传统的集合运算 专门的关系运算 两大类。

4.在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用 GRANT 语句,收回所授的权限使用 REVOKE 语句。

5.设关系模式R(A,B,C,D),函数依赖集F={CD→AB,C→B},则R的候选码是 CD 它是属于 1NF 范式的关系模式。

6.事务的四个特征分别是 原子性、一致性、隔离性、持久性

7. DBMS/数据库管理系统 是位于用户和操作系统之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法。

8.系统能把数据库从被破坏、不正确的状态,恢复到最近一个正确的状态,DBMS的这种能力称为 可恢复性

9.关系模型的实体完整性是指 主码的值不能为空或部分为空

10.如果关系模式R满足1NF,且每个非主属性都不传递函数依赖于R的主码,则称R是 3NF 的模式。

11.设计全局ER模式时需要消除的冲突有: 属性冲突、命名冲突、结构冲突

12. 数据流 表示某加工处理过程的输入或输出数据。

规范化(10分,三小题)

1、设关系模式R(S#,CITY,STATUS,P#,QTY),其中供应商号S#,所在城市CITY,邮编STATUS,零件号P#,数量QTY,假设每个供应商只在一个城市。

求出R的候选码

S#,P#,CITY

写出函数依赖集F,确定R属于几范式

F={S#→CITY,S#→STATUS,CITY→STATUS,{S#,P#}→QTY}

属于1NF。

对R进行规范化

R1(S#,CITY)

R2(S#,P#,QTY)

R3(CITY,STATUS)

2、图书馆为每本书做了一个借阅情况登记表,如下图所示,现在要使用数据库进行管理。

图书号:JSJ0001

书名:计算机软件技术基础 作者:谭浩强 出版社:清华大学出版社

定价:21.00元

图书证号

读者姓名

身份

性别

所在系

借阅时间

还书时间

T001

李娟

学生

计算机系

2001.5.6

2001.5.20

T108

王海

教师

数学

2001.8.9

2001.11.2

T100

张君

教师

计算机系

2002.3.8

2002.2.5

T076

李丽

学生

信息系

2002.3.8

2002.8.6

T522

刘强

学生

计算机系

2002.8.7

2002.8.15

为该数据库设计属于3NF范式的关系模型,用下划线标明主码。

借书者(图书证号,姓名,身份,性别,所在系)

书籍(图书号,书名,作者,出版社,定价)

借还时间(图书证号,图书号,借阅时间,还书时间)

指出所有关系模型的函数依赖F。

F={图书证号→姓名,图书证号→身份,图书证号→性别,图书证号→所在系,{图书证号,图书号}→借阅时间,{图书证号,图书号}→还书时间,图书号→书名,图书号→作者,图书号→出版社,图书号→定价}

设计分析题(10分)(运动项目管理的数据库)

设计阶段经过的过程及各个阶段的主要任务

需求分析

主要任务:①调查分析用户活动

②收集和分析需求数据,确定系统边界

③编写系统分析报告

概念结构设计

主要任务:通过对用户需求进行综合、归纳与抽象,形成一个独立于任何DBMS的概念模型。

逻辑结构设计

主要任务:是将概念模型转换成特定DBMS所支持的数据模型的过程。

物理结构设计

主要任务:

确定物理结构:存储记录结构的设计、访问方法的设计、数据存放位置的设计、系统配置的设计。

评价物理结构,评价的重点是时间和空间效率。

数据库实现

主要任务:

建立实际数据库结构

装入数据

应用程序编码与调试

数据库试运行

整理文档

数据库运行和维护

主要任务:

维护数据库的安全性与完整性

检测并改善数据库性能

重新组织和构造数据库

运算题(15分)

1.查询T1老师所授课程的课程号和课程名

ΠCNo,CN(sTNo=’T1’(TC)⋈C)

2.查询年龄大于18岁的男同学的学号、姓名和系别

ΠSNo,SN,Dept(s(Age>18) ^ (Sex=’男’)(S))

3.查询’李力’老师所讲授课程的课程号和课程名

ΠCNo,CN(ΠTNo (sTN=’李力’(T)) ⋈TC ⋈ C)

4.查询学号为S1的同学所选课的课程号、课程名和成绩

ΠCNo,CN,Score (sSNo=’S1’(SC)⋈C)

5.查询“钱尔”同学所选课的课程号、课程名和成绩

ΠCNo,CN,Score (ΠSNo(sSN=’钱尔’(S))⋈ SC ⋈ C)

6.查询至少选修“刘伟”老师所授全部课程的学生姓名。

ΠSN (SC÷(ΠCNo(ΠTNo(sTN=’刘伟’(T))⋈TC)) ⋈ S)

7.查询“李思”同学未选修的课程号和课程名。

ΠCNo,CN ((ΠCNo(C) - ΠCNo(ΠSNo(sSN=’李思’(S)) ⋈SC)) ⋈C)

8.查询全部学生都选修了的课程的课程号、课程名。

ΠCNo,CN (ΠCNo,SNo(SC) / ΠSNo(S)⋈ C)

9.查询所有选修了C1和C2课程的学生的学号和姓名

ΠSNo,SN (SC÷ΠCNo(s(CNo=’C1’) v (CNo=’C2’)(C)) ⋈ S)

10.查询选修了全部课程的学生的学号和姓名。

ΠSNo,SN (ΠCNo,SNo(SC)/ ΠCNo(C) ⋈S)

1.设有以下关系R、S和T:

关系R

A

B

C

1

2

3

2

2

2

5

2

6

关系S

A

B

C

3

2

1

2

1

3

5

2

6

关系T

A

D

1

3

2

2

3

1

求R∪S、R∩S、R-S。

R∪S

A

B

C

1

2

3

2

2

2

3

2

1

2

1

3

5

2

6

R∩S

A

B

C

5

2

6

R-S

A

B

C

1

2

3

2

2

2

求出ΠB,C,D(sS.A=T.A(S⋈T))的结果集(用表格表示)

S.A

T.A

B

C

D

3

3

2

1

1

2

2

1

3

2

2.设有两个关系如下图,试计算:

关系R

B

C

b

2

a

d

5

8

关系S

C

D

2

6

d

a

7

c

求R×S

B

R.C

S.C

D

b

2

2

6

b

2

d

a

b

2

7

c

a

d

2

6

a

d

a

a

a

d

7

c

5

8

2

6

5

8

d

a

5

8

7

c

求R S

B

C

D

b

2

6

a

d

a

数据库设计(15分)

画E-R图

书上242页第3题

(2)写出关系模型(主码用下划线、外码用下划波浪线)

SQL应用(25分)第三章题目做过(8小题)

1.设有以下关系模式

(1)学生关系模式Student

序号

属性

数据类型(长度)

约束

说明

1

Sno

char(10)

主码

学号

2

Sname

nvarchar(10)

非空值

姓名

3

Sgender

nchar(1)

只能输入“男”或“女”,默认值为“男”

性别

4

Sbirthday

datetime

非空值

出生日期

5

Stel

char(11)

联系电话

6

Stime

smalldatetime

入学日期

(2)课程关系模式Course

序号

属性

数据类型(长度)

约束

说明

1

Cno

int

主码

课程编号

2

Cname

nvarchar(30)

非空值

课程名称

3

Credit

char(2)

非空值

课程学分

(3)成绩关系模式Grade

序号

属性

数据类型(长度)

约束

说明

1

Cno

int

主码

课程编号

2

Sno

char(10)

主码

学号

3

Grade

int

成绩输入应在0-100之间

成绩

使用SQL命令完成下列操作:

/*(1)在数据库中创建Student表*/

createtableStudent(

Snochar(10)primarykey,

Snamenvarchar(10)notnull,

Sgendernchar(1)notnullconstraintstChkcheck(Sgender='男'orSgender='女')default'男',

Sbirthdaydatetimenotnull,

Stelchar(11),

Stimesmalldatetime)

/*创建Course表*/

createtableCourse(

Cnochar(10)primarykey,

Cnamenvarchar(30)notnull,

Creditchar(2))

/*创建Grade表*/

createtableGrade(

Cnochar(10),

Snochar(10),

Gradeintconstraintgrade_chkcheck(Grade>=0 andGrade<=100),

primarykey(Cno,Sno))

/*(2)在Grade表中修改“”课程的成绩,让每位同学的成绩都加分*/

updateGrade

setGrade=Grade+5

whereCno='001'

/*(3)在Student表中新增一行记录:,张婷,女,-07-01,null,-09-01*/

insertintoStudent(Sno,Sname,Sgender,Sbirthday,Stel,Stime)

values('2021080901','张婷','女',1992-07-01,null,2021-09-01)

/*(4)在Grade表中查询成绩为空值的学生学号和课程号*/

selectSno,CnofromGrade

whereGradeisnull

/*(5)查询Student表中所有姓“李”的同学记录信息。*/

select*fromStudent

whereSnamelike'%李%'

/*(6)查询既选修“”课程,又选修“”课程的所有学生姓名*/

selectStudent.SnamefromStudent,GradewhereStudent.Sno=Grade.Sno

andCno='001'andSnamein

(selectSnameFROMStudent,GradewhereCno='003')

/*(7)查询出有二门以上(含两门)课程不及格的学生姓名和学号*/

selectSname,Student.SnofromStudent,GradewhereStudent.Sno=Grade.Sno

andGrade<60 groupbyStudent.Sno,SnamehavingCOUNT(*)>=2

/*(8)创建视图S_View,包括学号、姓名、性别、课程编号、课程名称、成绩*/

createviewS_View(Sno,Sname,Sgender,Cno,Cname,Grade)

asselectStudent.Sno,Sname,Sgender,Course.Cno,Cname,Grade

fromStudent,Course,Grade

whereStudent.Sno=Grade.SnoandCourse.Cno=Grade.Cno

2.库TEST中建立Emp,Works,Comp表。其各自的数据结构如下:

(1)职工表Emp(E#,Ename,Age,Sex,Ecity)

序号

列名

含义

数据类型

长度

1

E#

职工工号

字符型(CHAR)

6

2

Ename

姓名

字符型(VARCHAR)

8

3

Age

年龄

整数型(SMALLINT)

4

Sex

性别

字符型(CHAR)

2

5

Ecity

籍贯

字符型(VARCHAR)

20

(2)工作表Works(E#C#,Salary)

序号

列名

含义

数据类型

长度

1

E#

职工工号

字符型(CHAR)

6

2

C#

公司编号

字符型(VARCHAR)

8

3

Salary

工资

货币型(SMALLMONEY)

(3)公司表 Comp(C#,Cname,City)

序号

列名

含义

数据类型

长度

1

C#

公司编号

字符型(VARCHAR)

8

2

Cname

公司名称

字符型(VARCHAR)

40

3

City

公司所在城市

字符型(VARCHAR)

20

使用SQL命令完成下列操作:

/*(1)根据上述职工表Emp中数据结构的要求,创建Emp表。*/

createtableEmp(

Enochar(6)primarykey,

Enamechar(8),

Agesmallint,

Sexchar(2),

Ecityvarchar(20))

/*(2)修改公司表Comp中Cname中字符长度改为。*/

altertableComp

altercolumnCnamevarchar(60)

/*(3)在职工表Emp中插入信息:E10,赵菌,,女,福建泉州。*/

insertintoEmp(Eno,Ename,Age,Sex,Ecity)

values('E10','赵菌',32,'女','福建泉州')

/*(4)修改公司编号为C23的公司所在城市由“上海”改为“北京”。*/

updateComp

setCity='北京'

whereCno='C23'

/*(5)假设每个职工只能在一个公司工作,检索工资超过元的男性职工工号和姓名。*/

selectEmp.Eno,EnamefromEmp,Works

whereEmp.Eno=Works.Eno

andSex='男'andSalary>5000

/*(6)工号为E6的职工在多个公司工作,试检索至少在E6职工兼职的所有公司工作的职工工号。*/

selectEnofromWorks

whereCnoin(selectCnofromWorkswhereEno='E06')

/*(7)检索联华公司中低于本公司平均工资的职工工号和姓名。*/

selectEmp.Eno,EnamefromEmp,Works,Comp

whereEmp.Eno=Works.Eno

andComp.Cno=Works.Cno

andCname='联华限公司'

andSalary<(selectAVG(Salary)fromWorks,CompwhereComp.Cno=Works.Cno)

/*(8)创建职工工资情况视图EC_VIEW(包括职工姓名,公司名称,工资)。*/

createviewEC_VIEW(Ename,Cname,Salary)

asselectEmp.Ename,Comp.Cname,Works.Salary

fromEmp,Comp,Works

whereEmp.Eno=Works.EnoandComp.Cno=Works.Cno

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值