《数据库及SQL Server》综合练习.docx

上传人:b****2 文档编号:11580937 上传时间:2023-06-01 格式:DOCX 页数:20 大小:61.75KB
下载 相关 举报
《数据库及SQL Server》综合练习.docx_第1页
第1页 / 共20页
《数据库及SQL Server》综合练习.docx_第2页
第2页 / 共20页
《数据库及SQL Server》综合练习.docx_第3页
第3页 / 共20页
《数据库及SQL Server》综合练习.docx_第4页
第4页 / 共20页
《数据库及SQL Server》综合练习.docx_第5页
第5页 / 共20页
《数据库及SQL Server》综合练习.docx_第6页
第6页 / 共20页
《数据库及SQL Server》综合练习.docx_第7页
第7页 / 共20页
《数据库及SQL Server》综合练习.docx_第8页
第8页 / 共20页
《数据库及SQL Server》综合练习.docx_第9页
第9页 / 共20页
《数据库及SQL Server》综合练习.docx_第10页
第10页 / 共20页
《数据库及SQL Server》综合练习.docx_第11页
第11页 / 共20页
《数据库及SQL Server》综合练习.docx_第12页
第12页 / 共20页
《数据库及SQL Server》综合练习.docx_第13页
第13页 / 共20页
《数据库及SQL Server》综合练习.docx_第14页
第14页 / 共20页
《数据库及SQL Server》综合练习.docx_第15页
第15页 / 共20页
《数据库及SQL Server》综合练习.docx_第16页
第16页 / 共20页
《数据库及SQL Server》综合练习.docx_第17页
第17页 / 共20页
《数据库及SQL Server》综合练习.docx_第18页
第18页 / 共20页
《数据库及SQL Server》综合练习.docx_第19页
第19页 / 共20页
《数据库及SQL Server》综合练习.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《数据库及SQL Server》综合练习.docx

《《数据库及SQL Server》综合练习.docx》由会员分享,可在线阅读,更多相关《《数据库及SQL Server》综合练习.docx(20页珍藏版)》请在冰点文库上搜索。

《数据库及SQL Server》综合练习.docx

《数据库及SQLServer》综合练习

《数据库及SQLServer》综合练习

一、选择题

1.在数据库系统中,负责监控数据库系统的运行情况,及时处理运行过程中出现的问题,这是()人员的职责。

A.数据库管理员B.数据用户C.数据库设计员D.应用程序设计员

2.现实世界中客观存在并能相互区别的事物称为()。

A.实体B.实体集C.属性D.记录

3.下列实体型的联系中,属于一对一联系的是()。

A.班级与学生的所属联系B.父亲与孩子的亲生联系

C.班级与班长的管理联系D.供应商与工程项目的供货联系

4.在数据库设计中,E-R模型是进行()的一个主要工具。

A.需求分析B.概念设计C.逻辑设计D.物理设计

5.E-R方法的三要素是()。

A.实体、属性、实体集B.实体、键、联系

C.实体、属性、联系D.实体、域、候选键

6.下面有关E-R模型向关系模型转换的叙述中,不正确的是()。

A.一个实体类型转换为一个关系模式

B.一个1:

1联系可转换为一个独立关系模式,也可与联系的任一端实体对应的关系模式合并

C.一个1:

n联系可转换为一个独立关系模式,也可与联系的任一端实体对应的关系模式合并

D.一个m:

n联系转换为一个关系模式

7.关系数据库规范化是为解决关系数据库中()问题而引入的。

A.数据冗余和插入、删除异常B.提高查询速度

C.减少数据操作的复杂性D.保证数据的安全性和完整性

8.1NF分解成2NF是通过()实现的。

A.消除非主属性对码的传递函数依赖B.消除非主属性对码的局部函数依赖

C.消除主属性对码的局部函数依赖D.消除多值依赖

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

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

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

10.下面关于SQLServer的描述错误的是()。

A.一个数据库至少由两个文件组成:

主数据文件和日志文件。

B.每个数据库可以有多个主数据文件。

C.主数据文件默认为primary文件组。

D.日志文件不包括在文件组内。

11.SQL语言是()的语言。

A.过程化B.非过程化C.格式化D.导航式

12.在下列SQL语句中,修改表结构的语句是()。

A.ALTERB.ADDC.UPDATED.INSERT

13.若要在基本表S中增加一列CN,可用()。

A.ADDTABLES(CNCHAR(8))B.ADDTABLESALTER(CNCHAR(8))

C.ALTERTABLESADDCNCHAR(8)D.ALTERTABLES(ADDCNCHAR(8))

14.若要查找名称中第三个字符为“市”的单位信息,则SQL查询条件子句应写成:

WHERE名称()。

A.=‘__市%’B.LIKE‘__市%’C.LIKE‘%%市_’D.LIKE‘%市%’

15.若要查询供应商电话没有输入数据的供应商信息,则SQL查询条件子句应写成:

WHERE供应商电话()。

A.=‘’B.=‘NULL’C.=NULLD.ISNULL

16.若要查询包含超过3种产品的产品分类编号,则正确的SQL语句是()。

A.SELECT产品分类编号FROM产品表GROUPBY产品分类编号WHERECOUNT(*)>3

B.SELECT产品分类编号FROM产品表GROUPBY产品分类编号HAVINGCOUNT(*)>3

C.SELECT产品分类编号FROM产品表ORDERBY产品分类编号WHERECOUNT(*)>3

D.SELECT产品分类编号FROM产品表ORDERBY产品分类编号HAVINGCOUNT(*)>3

17.已知两个关系如表1和表2所示,其中厂商关系的主码为“厂商号”,产品关系的主码是“产品号”,有外键“厂商号”。

表1厂商表2产品

厂商号

厂名

C01

中兴

C02

广发

C03

恒源

产品号

颜色

厂商号

P01

C01

P02

C03

若再往产品关系中插入如下元组:

I.(‘P03’,‘红’,‘C02’);II.(‘P01’,‘蓝’,‘C01’);III.(‘P04’,‘白’,‘C04’);IV.(‘P05’,‘黑’,null)

能够插入的元组是()。

A.I,II,IVB.I,IIIC.I,IID.I,IV

18.UPDATE语句最多可以更新数据表中()。

A.一条记录的一个字段值B.多条记录的一个字段值

C.一条记录的多个字段值D.多条记录的多个字段值

19.DELETE语句中若无WHERE子句,则删除数据表中()。

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.实体完整性B.参照完整性C.域完整性D.用户定义的完整性

25.下列SQLServer数据库对象中,哪一个不具有数据正确性检查的功能?

A.规则B.约束C.默认值D.数据类型

26.SQLServer中,若要在产生新记录时自动在某列使用特定数据,应使用()。

A.规则B.默认值C.函数D.约束

27.下列哪个数据库组件可在添加、删除、更新记录时自动执行?

A.存储过程B.触发器C.函数D.视图

28.在T-SQL中声明变量时,变量应加上哪一个符号?

A.@B.@@C.%D.#

29.下列选项哪一个不是存储过程的优点?

A.加快执行效率B.减少CPU负载C.降低网络通信量D.模块化设计

30.SQLServer中,系统存储过程的名称前缀是()。

A.sysB.vwC.spD.Dbo

31.SQLServer中,下列哪个功能可以根据数据库中的数据生成Excel文件?

A.复制数据库B.生成脚本C.分离数据库D.导出数据

32.为便于管理用户及权限,可以将一组具有相同权限的用户组织在一起,这一组具有相同权限的用户就称为()。

A.账户B.角色C.登录D.用户

33.事务日志文件是用于记录()。

A.程序运行的过程B.对数据库所有的更新操作

C.程序执行的结果D.用户对数据库的访问信息

34.若想对表中字段的重复值只显示一次,则在SQL语句中使用()。

A.DISTINCTB.COUNTC.UNIQUED.UNION

35.为了使索引所基于的列值唯一,在创建索引的语句中应使用()。

A.UNIQUEB.COUNTC.DISTINCTD.UNION

二、填空题

1.数据库应用系统简称数据库系统,由计算机硬件、、、

和数据库用户五部分组成。

2.能唯一标识实体的属性集,称为,每一属性的取值范围称为。

3.实体型之间的联系有、和多对多(m:

n)三种。

4.逻辑模型由、和三要素组成。

5.数据库设计过程中的逻辑结构设计,就是把概念结构设计阶段建立的转换成相应的。

6.设有关系模式:

入库单明细表(入库单编号,产品编号,产品名称,产品数量),该关系模式属于范式。

7.若要删除一个表,应使用的SQL语句是“TABLE表名”,若要删除表中数据,应使用语句“FROM表名”。

8.假设有两个表:

图书(书号,书名,……)、借阅记录(书号,读者号,借出日期,……),则这两个表间应该创建关系,主键表是,外键表是。

9.要找出供应商表中所有电话字段为空白或为空字符串的记录,SQL语句如下:

SELECT*FROM供应商表WHERE电话OR电话

10.Having和Where子句的区别之一在于:

对原始记录进行过滤,而

是对查询结果进行过滤,后者可以用聚合函数。

11.视图是从一个或几个基本表(或视图)中导出的表,数据库中实际存放的是视图的,而不是。

12.若要使用触发器将对视图的修改更新至多个数据表,触发器的类型应是。

13.关系数据库的完整性包括、和3种。

14.现要对SQLServer数据库db1进行查询,当前打开的数据库是master,则在SELECT语句前应加上一条语句以切换数据库。

15.一个SQLServer数据库至少由两个文件组成:

存储数据的文件和记录数据更改的文件。

16.若要在T-SQL执行时显示信息,可使用语句或语句。

17.设要在雇员表中创建约束,使得雇员的“性别”字段只能为“男”或“女”,则约束表达式为。

18.SQLServer中可用系统存储过程实现对存储过程代码的浏览,

实现对数据库对象(如表)的改名。

19.SQLServer中,分离数据库与删除数据库的区别在于(分离/删除)之后可以通过操作恢复。

20.SQLServer数据库还原通常基于备份,以及以之为起点的备份或差异备份。

21.SQLServer有两种安全验证模式,分别是身份验证模式和身份验证模式,前者的安全性更高。

22.若要对SELECT语句读取的一组数据进行逐条处理,可使用实现。

23.SQL语句VIEW用于建立视图,若想更改视图,则使用命令VIEW。

三、判断题

1.一个实体的码可能不只一个。

2.实体的码一定只包含一个属性。

3.关系模型中,实体用关系来表示,实体间的联系用关系图来表示。

4.表中主码的值一定是唯一的,也不能为空。

5.不包含在主码中的属性称为非主属性。

6.第一范式的要求是关系的属性不可再分,满足第一范式即实现了规范化。

7.多对多关系在关系数据库中无法直接表示,需要在两个表间创建第三个数据表作为中介。

8.要在SQL查询语句中使用聚合函数,一定要使用GroupBy子句进行分组。

9.分组查询语句中,Select子句中出现的列,只能是GroupBy子句中的列或包含在聚合函数中。

10.T-SQL语句中的字符型常量应在前后加上单引号,日期应加上#号。

11.使用INSERT语句在数据表中添加记录时,不需要指定自动编号字段的值。

12.索引只能基于一个字段创建。

13.SQLServer中,约束、规则和默认值都是单独存在的数据库对象,创建后可应用于多个字段。

14.系统存储过程由数据库系统本身建立,用户数据库中不能使用。

15.SQLServer中,存储过程的参数后若无关键字OUTPUT,就一定是输入参数。

16.用户用登录名与密码登录到SQLServer服务器后,可以访问服务器上所有数据库。

17.要操作SQLServer数据库对象,必须先创建登录名、再创建数据库用户名、然后设置该用户的相应操作权限。

18.SQLServer中,差异备份只备份数据库的部分内容,备份起点是上次差异备份的结束位置。

19.用户自定义数据类型是在系统数据类型的基础上建立的。

20.用户自定义数据类型建立之后,可随时进行修改,以符合应用需要。

四、设计数据库

请根据以下需求设计数据库,包括概念模型(E-R图)和逻辑模型(关系模型),要求在主码下加下划线。

1.图书管理系统数据库,涉及如下数据:

对每个借阅者都保持读者记录,包括:

读者号、姓名、地址、性别;

每本书有书号、书名、作者、出版社;

还有借书记录:

某读者在某天借出了某本书,又在哪天归还。

2.商店销售系统数据库,涉及如下数据:

每个商店有商店号、商店名、地址;

每种商品有商品号、商品名、单价;

还有销售记录:

某商店在某天销售了多少数量的某种商品。

3.教学管理系统数据库,涉及如下数据:

每个学生都有学号、姓名、性别、出生日期;

每门课程有课程号、课程名、学分;

还有学习记录:

某学生学习了某课程,考试后得了多少分。

五、创建数据表

1.根据第四大题第1题得到的各关系模式创建数据表,请写出SQL语句,要求定义主键和外键,并定义姓名和书名不能为空,性别只能为“男”或“女”,出版社默认值为“出版社”。

2.根据第四大题第2题得到的各关系模式创建数据表,请写出SQL语句,要求定义主键和外键,并定义商店名和商品名不能为空,单价不能为负数。

3.根据第四大题第3题得到的各关系模式创建数据表,请写出SQL语句,要求定义主键和外键,并定义学生姓名不能为空,课程名取唯一值,学分默认为3分。

六、综合应用题

设数据库中包括以下表:

用户表(用户编号,用户名,密码,角色)

出库单表(出库单编号,仓库编号,出库日期,出库单状态,客户名)

出库单明细表(出库单编号,产品编号,产品数量,摘要)

产品表(产品编号,产品名称,计量单位,产品数量,产品分类编号,所在仓库)

产品分类表(产品分类编号,产品分类名称,说明)

客户表(客户名称,地址,电话)

资金往来表(编号,单位名称,业务名称,银行名称,日期,金额)

1.设计SQL语句完成下列操作:

(1)查询用户编号为“2”的用户名,并修改查询结果中的列标题为“用户名称”。

(2)查询出“出库日期”在“2009-1-1”到“2009-7-30”所有出库单的出库单编号、出库日期和出库单状态。

(3)查询所有产品的产品编号、产品名称、产品分类编号、产品数量,要求按“产品分类编号”递增排序、“产品数量”递减排序。

(4)查询出“产品数量”排前3名产品的产品编号、产品名称、产品数量。

(5)查询出所有用户的信息,并统计用户的人数。

(6)查询出每类产品的平均数量大于300的产品分类编号和产品的平均数量。

(7)用子查询实现查询“原材料”的产品名称、计量单位、产品数量。

(8)用多表查询实现查询出库单状态为“已出库”的出库产品编号、产品数量和客户名。

(9)给“出库单明细表”添加一条记录(出库单编号:

20101201,产品编号:

0101,产品数量:

10)。

(10)根据上题添加的记录修改“产品表”的产品数量。

2.

(1)设用户在系统登录界面输入用户名和密码,请创建存储过程“login”,根据输入实现用户登录判断(已知正确用户名与密码均为admin),并返回判断结果。

(2)设输入用户名和密码为“system”、“admin”,执行该存储过程,并显示结果。

3.

(1)创建存储过程“pro”,实现根据产品分类编号查询返回该分类的产品总数量。

(2)以“01”为参数执行该存储过程,并显示结果。

4.创建“trg_客户”触发器,要求当填写出库单时,如果客户名在客户表中不存在,则将该客户名记录到客户表中。

5.创建“trg_删除出库单”触发器,要求当删除出库单后,删除相应出库单明细表中的记录。

6.设计自定义数据类型“单据状态”,可用于“出库单表”的“出库单状态”列,保证其取值为“未审核、未审批、已审批”这三种状态之一。

7.

(1)创建用户自定义函数“当日余额”,要求根据“资金往来表”的数据信息,接受两个参数:

日期、银行名称,返回到指定日期为止,指定银行账户的余额。

(2)调用“当日余额”,显示到2012年10月20日为止的“工行”帐户余额。

参考答案

一、选择题

1.A2.A3.C4.B5.C6.C7.A8.B9.D10.B

11.B12.A13.C14.B15.D16.B17.D18.D19.D20.D

21.B22.C23.C24.A25.C26.B27.B28.A29.B30.C

31.D32.B33.B34.A35.A

二、填空题

1.数据库管理系统(DBMS)数据库(DB)应用程序

2.码域

3.一对一(1:

1)一对多(1:

n)

4.数据结构数据操作数据完整性约束

5.E-R图逻辑模型

6.第一/I

7.DROPDELETE

8.一对多图书借阅记录

9.ISNULL=‘’

10.WhereHaving

11.定义(查询语句)真实数据

12.InsteadOf

13.实体完整性参照完整性域完整性

14.USEdb1

15.数据日志

16.PrintSelect

17.性别IN(‘男’,’女’)

18.sp_helptextsp_rename

19.分离附加

20.数据库完整备份事务日志备份

21.WindowsSQLServer混合

22.游标

23.CREATEALTER

三、判断题

1.√2.×3.×4.√5.×6.×7.√8.×9.√10.×

11.√12.×13.×14.×15.√16.×17.√18.×19.√20.×

 

四、设计数据库

1.E-R图为:

关系模型为:

读者(读者号,姓名,地址,性别)

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

借阅(读者号,书号,借出日期,归还日期)

2.E-R图为:

关系模型为:

商店(商店号,商店名,地址)

商品(商品号,商品名,单价)

销售(商店号,商品号,日期,数量)

3.E-R图为:

关系模型为:

学生(学号,姓名,性别,出生日期)

课程(课程号,课程名,学分)

学习(学号,课程号,成绩)

 

五、创建数据表

1.CREATETABLE读者

(读者号char(10)primarykey,

姓名varchar(50)notnull,

性别char

(2)check(性别in(‘男’,’女’)),

地址varchar(50))

CREATETABLE图书

(书号char(13)primarykey,

书名varchar(40)notnull,

作者varchar(20),

出版社varchar(20)default‘出版社’)

CREATETABLE借阅

(读者号char(10),

书号char(13),

借出日期datetime,

归还日期datetime,

primarykey(读者号,书号),

foreignkey(读者编号)references读者信息(读者编号),

foreignkey(书号)references图书(书号))

2、3略

六、综合应用题

1.

(1)

select用户名as用户名称

from用户表

where用户编号='2'

(2)

select出库单编号,出库日期,出库单状态

from出库单表

where出库日期between'2009-1-1'and'2009-7-30'

或:

select出库单编号,出库日期,出库单状态

from出库单表

where出库日期>='2009-1-1'and出库日期<='2009-7-30'

(3)

select产品编号,产品名称,产品分类编号,产品数量

from产品表

orderby产品分类编号,产品数量desc

(4)

selecttop(3)产品编号,产品名称,产品数量

from产品表

orderby产品数量desc

(5)

select*from用户表

computecount(用户编号)

(6)

select产品分类编号,avg(产品数量)平均数量

from产品表

groupby产品分类编号

havingavg(产品数量)>300

(7)

select产品名称,计量单位,产品数量

from产品表

where产品分类编号=

(select产品分类编号from产品分类表

where产品分类名称='原材料')

(8)

select产品编号,产品数量,客户名

from出库单表,出库单明细表

where出库单表.出库单编号=出库单明细表.出库单编号and出库状态='已出库'

(9)

insertinto出库单明细表(出库单编号,产品编号,产品数量)

values('20101201','0101',10)

(10)

update产品表

set产品表.产品数量=产品表.产品数量-出库单明细表.产品数量

from出库单明细表

where出库单编号='20101201'and出库单明细表.产品编号='0101'

and产品表.产品编号=出库单明细表.产品编号

2.

(1)CREATEPROCEDURElogin

@usrvarchar(50),@pwdvarchar(500),@reschar(10)output

AS

if@usr='admin'

if@pwd='admin'

set@res='登录成功'

elseset@res='密码错'

elseset@res='用户名错'

(2)declare@reschar(10)

execlogin'system','admin',@resoutput

select@res

3.

(1)CREATEPROCEDUREpro

(@classNovarchar(50),@numberintoutput)

AS

SELECT@number=SUM(产品数量)FROM产品表

WHERE产品分类编号=@classNo

(2)declare@numint

execpro'01',@numoutput

select@num

4.CREATETRIGGERtrg_客户

ON出库单表

FORINSERT,UPDATE

AS

declare@客户varchar(50)

select@客户=客户名frominserted

if(@客户isnotnull)or(@客户<>'')

begin

ifnotexists(select*from客户表where客户名称=@客户)

begin

in

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2