数据库原理复习0420.docx

上传人:b****0 文档编号:25729689 上传时间:2023-06-12 格式:DOCX 页数:45 大小:41.50KB
下载 相关 举报
数据库原理复习0420.docx_第1页
第1页 / 共45页
数据库原理复习0420.docx_第2页
第2页 / 共45页
数据库原理复习0420.docx_第3页
第3页 / 共45页
数据库原理复习0420.docx_第4页
第4页 / 共45页
数据库原理复习0420.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

数据库原理复习0420.docx

《数据库原理复习0420.docx》由会员分享,可在线阅读,更多相关《数据库原理复习0420.docx(45页珍藏版)》请在冰豆网上搜索。

数据库原理复习0420.docx

数据库原理复习0420

《数据库原理》试题(A卷)

一、单项选择题(每小题1分,共10分)

1.下列四项中,不属于数据库特点的是()。

A.数据共享B.数据完整性

C.数据冗余很高D.数据独立性高

2.下列四项中,不属于SQL2005实用程序的是()。

A.企业管理器B.查询分析器

C.服务管理器D.媒体播放器

3.SQLServer安装程序创建4个系统数据库,下列哪个不是()系统数据库。

A.masterB.model

C.pubD.msdb

4.()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。

数据库在建立、使用和维护时由其统一管理、统一控制。

A.DBMSB.DB

C.DBSD.DBA

5.在SQL中,建立表用的命令是()。

A.CREATESCHEMAB.CREATETABLE

C.CREATEVIEWD.CREATEINDEX

6.SQL语言中,条件年龄BETWEEN15AND35表示年龄在15至35之间,且()。

A.包括15岁和35岁

B.不包括15岁和35岁

C.包括15岁但不包括35岁

D.包括35岁但不包括15岁

7.下列四项中,不正确的提法是()。

A.SQL语言是关系数据库的国际标准语言

B.SQL语言具有数据定义、查询、操纵和控制功能

C.SQL语言可以自动实现关系数据库的规范化

D.SQL语言称为结构查询语言

8.在MSSQLServer中,用来显示数据库信息的系统存储过程是()。

A.sp_dbhelpB.sp_db

C.sp_helpD.sp_helpdb

9.SQL语言中,删除表中数据的命令是()。

A.DELETEB.DROP

C.CLEARD.REMOVE

10.SQL的视图是从()中导出的。

A.基本表B.视图

C.基本表或视图D.数据库

二、判断题(每空1分,共10分)

1.'在那遥远的地方'是SQL中的字符串常量吗?

T

2.'11.9'是SQL中的实型常量吗F

3.select16%4,的执行结果是:

4吗?

F

4.2005.11.09是SQL中的日期型常量吗?

F

5.¥2005.89是SQL中的货币型常量吗?

F

6.select25/2的执行结果是:

12.5吗?

F

7.'岳飞'>'文天祥'比较运算的结果为真吗?

T

8.一个表可以创建多个主键吗?

F

9.创建唯一性索引的列可以有一些重复的值?

F

10.固定数据库角色:

db_datarader的成员能修改本数据库内表中的数据吗?

F

三、填空题(每空1分,共20分)

1.数据库系统具有数据的外模式、模式和内模式三级模式结构。

2.SQLServer2005局部变量名字必须以@开头,而全局变量名字必须以@@开头。

3.语句selectascii('D'),char(67)的执行结果是:

____68_____和____C_____。

4.语句selectlower('Beautiful'),rtrim('我心中的太阳')的执行结果是:

beautiful和我心中的太阳。

5.选择运算是根据某些条件对关系做水平分割;投影是根据某些条件对关系做垂直分割。

6.关系运算主要有选择、投影和连接。

7.完整性约束包括实体、完整性、域完整性、参照完整性和用户定义完整性。

8.在SQLServer2005中,数据库对象包括表、视图、触发器、过程、列、索引、约束、规则、默认和用户自定义的数据类型等。

9.语句selectday('2004-4-6'),len('我们快放假了.')的执行结果是:

6、7。

10.语句selectround(13.4321,2),round(13.4567,3)的执行结果是:

13.4300和13.4570

四、简答题(每小题5分,共10分)

1.在SQLServer2005中,使用视图的好处是什么?

(1)为用户集中需要的数据,简化了数据的用户操作;

(2)对用户隐藏了数据库设计的复杂性;

(3)简化用户权限的管理

2.在SQLServer2005中,用户访问表/视图、列的权限是什么?

(1)数据表/视图(selectinsertupdatedelete)

(2)列(字段)的访问(selectupdate)

五、设计题(共50分)

现有关系数据库如下:

数据库名:

我班同学数据库

同学表(学号char(6),姓名,性别,年龄,民族,身份证号,宿舍号)

宿舍表(宿舍号char(6),宿舍电话)

用SQL语言实现下列功能的sql语句代码:

1.创建数据库[我班同学数据库]代码(2分)。

createdatabase[我班同学数据库]

go

use[我班同学数据库]

go

2.创建数据表[宿舍表]代码(3分);

宿舍表(宿舍号char(6),宿舍电话)

要求使用:

主键(宿舍号)、宿舍电话:

以633开头的7位电话号码

createtable宿舍表

([宿舍号]char(6)primarykey,

[宿舍电话]char(7)check([宿舍电话]like'633[0-9][0-9][0-9][0-9]'))

3.创建数据表[同学表]代码(6分);

同学表(学号char(6),姓名,性别,年龄,民族,身份证号,宿舍号)

要求使用:

主键(学号)、外键(宿舍号)、默认(民族)、非空(民族,姓名,年龄)、唯一(身份证号)、检查(性别)

createtable同学表

(学号char(6)primarykey,

姓名nchar(4)notnull,

性别nchar

(1)check(性别in('男','女')),

年龄int,

民族nchar(8)default'汉族'notnull,

身份证号char(18)unique,

宿舍号char(6)references宿舍表(宿舍号)

4.将下列宿舍信息添加到宿舍表的代码(8分)

宿舍号宿舍电话

1016331157

1026331777

修改宿舍号为101的宿舍电话:

6331158

删除宿舍号为102的宿舍信息

insert宿舍表values('101','6331157')

insert宿舍表values('102','6331777')

update宿舍表set宿舍电话='6331158'where宿舍号='101'

delete宿舍表where宿舍号='102'

5.创建视图[同学表视图]代码(5分);

同学表视图(学号,姓名,性别,年龄,民族,身份证号,宿舍号,宿舍电话)

createview[同学表视图]as

select学号,姓名,性别,年龄,民族,身份证号,同学表.宿舍号,宿舍电话

from同学表,宿舍表

where同学表.宿舍号=宿舍表.宿舍号

6.从同学表视图中查询姓张的女同学的姓名、性别、宿舍电话。

(4分)

select姓名,性别,宿舍电话

from同学表视图

where姓名like'张%'and性别='女'

7.从同学表中查询女同学的最大年龄、最小年龄、平均年龄。

(5分)

select最大年龄=max(年龄),最小年龄=min(年龄),平均年龄=avg(年龄)

from同学表

where性别='女

8.创建带参数的存储过程[某宿舍同学]:

姓名,性别,宿舍电话

执行此过程,查询'101'宿舍情况(8分)

createprocedure[某宿舍同学]@宿舍号varchar(6)

as

select姓名,性别,宿舍电话

from同学表视图

where宿舍号=@宿舍号

go

execute[某宿舍同学]'101'

9.设置一SQL身份验证的用户账户:

登录名:

U班主任,密码:

888,数据库用户名:

U读者,权限:

可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程。

请写出账户、权限设置的T_SQL脚本。

(9分)

execsp_addlogin'U班主任','888','我班同学数据库'

execsp_grantdbaccess'U班主任','U读者'

execsp_addrolemember'db_datareader','U读者'

一、

1

2

3

4

5

6

7

8

9

10

C

D

C

A

B

A

C

D

A

C

二、

1

2

3

4

5

6

7

8

9

10

Y

N

N

N

N

N

Y

N

N

N

三、

no

答案

1.

外模式、模式

2

2.

@、@@

2

3.

68、C

2

4.

beautiful、我心中的太阳

2

5.

水平、垂直

2

6.

选择、投影

2

7.

实体、域

2

8.

表、视图

2

9.

6、7

2

10

13.4300、13.4570

2

四、

no

答案要点

1.

(1)为用户集中需要的数据,简化了数据的用户操作;

(2)对用户隐藏了数据库设计的复杂性;

(3)简化用户权限的管理

(4)组织数据导出到其它应用程序;

5

2.

1.数据表/视图(selectinsertupdatedelete)

2.列(字段)的访问(selectupdate)

5

五、

no

参考答案

1.

createdatabase[我班同学数据库]

go

use[我班同学数据库]

go

2

2.

createtable宿舍表

([宿舍号]char(6)primarykey,

[宿舍电话]char(7)check([宿舍电话]like'633[0-9][0-9][0-9][0-9]'))

3

3.

createtable同学表

(学号char(6)primarykey,

姓名nchar(4)notnull,

性别nchar

(1)check(性别in('男','女')),

年龄int,

民族nchar(8)default'汉族'notnull,

身份证号char(18)unique,

宿舍号char(6)references宿舍表(宿舍号)

6

4.

insert宿舍表values('101','6331157')

insert宿舍表values('102','6331777')

update宿舍表set宿舍电话='6331158'where宿舍号='101'

delete宿舍表where宿舍号='102'

8

5.

createview[同学表视图]as

select学号,姓名,性别,年龄,民族,身份证号,同学表.宿舍号,宿舍电话

from同学表,宿舍表

where同学表.宿舍号=宿舍表.宿舍号

5

6.

select姓名,性别,宿舍电话

from同学表视图

where姓名like'张%'and性别='女'

4

7.

select最大年龄=max(年龄),最小年龄=min(年龄),平均年龄=avg(年龄)

from同学表

where性别='女'

5

8.

createprocedure[某宿舍同学]@宿舍号varchar(6)

as

select姓名,性别,宿舍电话

from同学表视图

where宿舍号=@宿舍号

go

execute[某宿舍同学]'101'

8

9.

execsp_addlogin'U班主任','888','我班同学数据库'

execsp_grantdbaccess'U班主任','U读者'

execsp_addrolemember'db_datareader','U读者'

9

《数据库原理》试题(B卷)

一、单项选择题(每小题1分,共10分)

1.()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。

数据库在建立、使用和维护时由其统一管理、统一控制。

A.DBMSB.DB

C.DBSD.DBA

2.下列四项中,不属于SQL2000实用程序的是()。

A.企业管理器B.查询分析器

C.服务管理器D.媒体播放器

3.SQLServer安装程序创建4个系统数据库,下列哪个不是()系统数据库。

A.masterB.model

C.pubD.msdb

4.下列哪个不是sql数据库文件的后缀。

A..mdfB..ldf

C..tifD..ndf

5.数据定义语言的缩写词为()。

A.DDLB.DCL

C.DMLD.DBL

6.SQL语言中,条件年龄BETWEEN15AND35表示年龄在15至35之间,且()。

A.包括15岁和35岁B.不包括15岁和35岁

C.包括15岁但不包括35岁D.包括35岁但不包括15岁

7.SQL的视图是从()中导出的。

A.基本表B.视图

C.基本表或视图D.数据库

8.在SQL语言中,建立存储过程的命令是()

A、CREATEPROCEDUREB、CREATERULE

C、CREATEDURED、CREATEFILE

9.SQL语言中,删除表中数据的命令是()。

A.DELETEB.DROP

C.CLEARD.REMOVE

10.在MSSQLServer中,用来显示数据库信息的系统存储过程是()。

A.sp_dbhelpB.sp_db

C.sp_helpD.sp_helpdb

二、判断题(每空1分,共15分)

1.'在那遥远的地方'是SQL中的字符串常量吗?

T

2.11.9是SQL中的实型常量吗T

3.select16%4,的执行结果是:

0吗?

T

4.2005.11.09是SQL中的日期型常量吗?

F

5.¥2005.89是SQL中的货币型常量吗?

F

6.select25/2的执行结果是:

12.5吗?

F

7.'李逵'>'李鬼'比较运算的结果为真吗?

T

8.一个表可以创建多个主键吗?

F

9.创建唯一性索引的列可以有一些重复的值?

F

10.smallint是SQL的数据类型吗?

T

11.SQLServer不允许字段名为汉字?

F

12.职称in('教授','副教授'')与职称='教授'or职称='副教授'等价吗?

T

13.如果规则当前绑定到某列或用户定义的数据类型,不能解除绑定能直接删除规则?

F

14.在表中创建一个标识列(IDENTITY),当用户向表中插入新的数据行时,系统自动为该行标识列赋值吗?

T

15.固定数据库角色:

db_datarader的成员修改本数据库内表中的数据吗?

F

三、填空题(每空1分,共20分)

1.SQLServer2005局部变量名字必须以@开头,而全局变量名字必须以@@开头。

2.语句selectascii('D'),char(67)的执行结果是:

68和C。

3.语句selectlower('Beautiful'),rtrim('我心中的太阳')的执行结果是:

beautiful、我心中的太阳。

4.选择运算是根据某些条件对关系做水平分割;投影是根据某些条件对关系做垂直分割。

5.关系运算主要有选择、投影和连接。

6.完整性约束包括实体完整性、域完整性、参照完整性和用户定义完整性。

7.T-SQL语言中,有算术运算、字符串连接运算、比较运算和逻辑运算。

8.语句selectday('2004-4-6'),len('我们快放假了.')的执行结果是:

6和7。

9.语句selectfloor(17.4),floor(-214.2),round(13.4382,2),round(-18.4562,3)的执行结果是:

17、-215、13.4400和-18.4560。

四、简答题(每小题5分,共10分)

1.简述SQLServer2005的安全性管理机制(6级,涉及登录账号、用户、角色以及权限分配)。

(6分)

1.计算机的连接

2.SQLServer登录(账户、固定服务器角色)

3.库的访问(用户/角色:

固定/自定义角色)

4.表/视图的权限(selectinsertupdatedelete)

5.存储过程、内嵌表值函数的权限(executeselect)

6.表(视图)中列的权限(selectupdate)

2.在SQLServer2005中,使用视图的好处是什么?

(4分)

(1)为用户集中需要的数据,简化了数据的用户操作;

(2)对用户隐藏了数据库设计的复杂性;

(3)简化用户权限的管理

(4)组织数据导出到其它应用程序

五、设计题(共45分)

现有关系数据库如下:

数据库名:

学生成绩数据库

学生信息表(学号char(6),姓名,性别,民族,身份证号)

课程信息表(课号char(6),名称)

成绩信息表(ID,学号,课号,分数)

用SQL语言实现下列功能的sql语句代码。

1.创建数据库[学生成绩数据库]代码(2分)。

createdatabase[学生成绩数据库]

go

use[学生成绩数据库]

go

2.创建数据表[课程信息表]代码;(2分)

课程信息表(课号char(6),名称)

要求使用:

主键(课号)、非空(名称)

createtable课程信息表

([课号]char(6)primarykey,

[名称]nchar(20)notnull)

3.创建数据表[学生信息表]代码;(4分)

学生信息表(学号char(6),姓名,性别,民族,身份证号)

要求使用:

主键(学号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查(性别)

createtable学生信息表

([学号]char(6)primarykey,

[姓名]nchar(4)notnull,

[性别]nchar

(1)check([性别]in('男','女')),

[民族]nchar(8)default'汉族'notnull,

[身份证号]char(18)unique

4.创建数据表[成绩信息表];(5分)

成绩信息表(ID,学号,课号,分数)

要求使用:

外键(学号,课号)、检查(分数),自动编号(ID)

createtable成绩信息表

(IDintidentity(1,1),

[学号]char(6)references学生信息表(学号),

[课号]char(6)references课程信息表(课号),

[分数]integercheck([分数]between0and100)

5.将下列课程信息添加到课程信息表的代码(8分)

课号名称

100101西班牙语

100102大学英语

修改课号为100102的课程名称:

专业英语

删除课号为100101的课程信息

insert课程信息表values('100101','西班牙语')

insert课程信息表values('100102','大学英语')

update课程信息表set名称='专业英语'where课号='100102'

delete课程信息表where课号='100101'

6.创建视图[成绩信息表视图]的代码;(5分)

成绩信息表视图(学号,姓名,课号,课程名称,分数)

createview[成绩信息表视图]

as

select成绩信息表.学号,姓名,成绩信息表.课号,名称课程名称,分数

from成绩信息表,学生信息表,课程信息表

where成绩信息表.学号=学生信息表.学号and成绩信息表.课号=课程信息表.课号

7.从学生信息表中查询姓刘的女同学的情况:

姓名、性别、民族。

(2分

select姓名,性别,民族

from学生信息表

where姓名like'刘%'and性别='女'

8.查询有一门或一门以上课程成绩小于60分的所有学生的信息,包括学号、姓名。

(4分)

select学号,姓名

from学生信息表

where学号in

(selectdistinct学号from成绩信息表where分数<60)

9.创建带参数的存储过程[某门课程高低均分]、执行该过程的代码(7分)

存储过程功能:

查询某门课程的最高分、最低分、平均分;

执行该过程,查询所有修’专业英语’这门学生的最高分、最低分、平均分;

createprocedure[某门课程高低均分]

@课程名nchar(16)as

select课程名称,最高分=max(分数),最低分=min(分数),平均分=avg(分数)

from成绩信息表视图

where课程名称=@课程名

groupby课程名称

go

execute[某门课程高低均分]'专业英语'

10设置一SQL身份验证的用户账户:

登录名:

U院长,密码:

888,数据库用户名:

U读者,权限:

可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程。

请写出账户、权限设置的T_SQL脚本。

(6分)

execsp_addlogin'U院长','888','学生成绩数据库'

execsp_grantdbaccess'U院长','U读者'

execsp_addrolemember'db_datareader','U读者'

一、

1

2

3

4

5

6

7

8

9

10

A

D

C

C

A

A

C

A

A

D

二、

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Y

Y

Y

N

N

N

Y

N

N

Y

N

Y

N

Y

N

三、

no

答案

1.

@、@@

2

2.

68、C

2

3.

beautiful、我心中的太阳

2

4.

水平、垂直

2

5.

选择、投影

2

6.

实体、域

2

7.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1