《数据库原理与应用》课后作业参考答案_第1页
《数据库原理与应用》课后作业参考答案_第2页
《数据库原理与应用》课后作业参考答案_第3页
《数据库原理与应用》课后作业参考答案_第4页
《数据库原理与应用》课后作业参考答案_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

模块1数据库理论基础

1.某医院病房计算机管理中心需要如下信息:

科室:科名、科地址、科电话、医生姓名

病房:病房号、床位号、所属科室名

医生:姓名、职称、所属科室名、年龄、工作证号

病人:病历号、姓名、性别、诊断、主管医生、病房号

其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于

一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。

请设计该计算机管理系统的E-R模型。

2.一个图书馆借阅管理数据库要求提供下述服务:

(】)可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号唯一标

识。

(2)可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还

书日期。我们约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。

(3)当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向相应

出版社增购有关书籍。我们约定,一个出版社可出版多种书籍,同一教材仅为一个

出版社出版,出版社名具有唯一性。

请根据以上情况和假设设计满足需求的E-R模型。

答:

模块3表的操作

一.填空题

1.数字数据可分为整数型、精确数值型和近似数值型3种类型。其中,精确数值型数

据由由整数和人数两部分组成

2.在创建表的命令语句中,要设置表字段属性为自动编号的关键字是IDENTITY.

3.SQLServer2008中,根据表的用途可以分为4类,即系统表、用户表、已分区表

和临时表。

4.如果表中记录的某一字段或字段组合能唯一标识记录,则称该字段或字段组合

为主键。

5.创建数据库表的命令语句是createtable。

二.选择题

1.使用SQL语句修改表结构时,其语句是下面的(B)选项。

A.ALTERDATABASEB.ALTERTABLE

C.UPDATETABLED.UPATEDABASE

2.下列对表的描述正确的是(C)o

A.在数据库中表用来表示关系模型中的实体

B.表是对数据进行存储和操作的一种逻辑结构

C.表是用来组织和存储数据的数据库对象

D.表可以存储数据库的其他数据库对象

3.在SQLServer2008的数据类型中可以用来存储图片的数据类型是(B)

A.binaryB.image

4.使用系统存储过程(C)可以查看表的行、大小和空间的统计信息。

A.sp_tableB.sp_help

5.订单表Orders的列Ordcrid的类型是小整型(smallinl),根据业务的发展需要将其改为整

型(integer),应该使用下面的(A)语句。

A.ALTERTABLEOrdersALTERCOLUMNOrderidinteger

B.ALTERCOLUMNOrderidintegerFROMOrders

C.ALTERTABLEOrders(Orderidinteger)

D.ALTERCOLUMNOrders.Orderidinteger

模块4数据库查询语句

一填空题

1.集合查询的关键字为UNION,在使用它时一定要注意多个查询的列数和列的顺序-

定要相同。

2.内连接的关键字为INNERJOIN,外连接的关键字为LEHTJ0I\,交叉连接的关键字为CROSS

JOIN。

3.在连接多个表时,基本连接使用JOIN来连接,其他连接形式都需要用到关键字

_0N。

4.GROUPBY子句中可以使用聚合函数,那么MAX(数量)表示一最大值。

5.ORDERBY子句中ASC表示升序排列.DESC表示降序排列,默认情况下为升序排列。

二选择题

1.下面所述连接方式中哪种连接方式中可以使用ON子句(D)o

A.内连接B.基本连接

C.交叉连接D.联合查询

2.下面哪些关键字可用于返回多行的子查询(A)o

A.1N和EXISTS关键字B.SOME,ANY和ALL关键字

C.QUERY关键字D.JOIN关键字

3.下面SELECT语句中哪些子句可以包含子查询(C)o

A.SELECTB.GROUPBY

C.WHERED.ORDERBY

4.下面对HAVING子句说法错误的是(B)。

A.HAVING子句的使用方法与WHERE子句基本相同

B.与GROUPBY子句结合使用时,其限定检索范围为GROUPBY子句结果集C.与WHERE子句相

同,HAVING子句中同样可以使用INLIKE或BETWEEND.只能与GROUPBY子句结合使用

5.在SELCET子句中,下列(B)子句用于将查询结果存储在一个新表中。

A.SELCET子句B.INTO子句

C.WHERE子句D.FROM子句

模块5T-SQL语句

一填空题

1.T-SQL语言的三种类型分别是数据定义语言、数据操作语言和数据控制语言。

2.在SQLSezer中,变量可分为两类:全局变量和局部变量。当声明局部变量后,

可用SET或SELECT语句为其赋值。

3.常规标识符是指不需要使用分隔标识符等定界符进行分隔的标示符。

4.比较运算能够进行除text-型、ntext型和iin避型之外的其他数据类型

表达式的比较操作。

5.在Transact-SQL中局部变量用DECLARE@语句来声明。

二选择题

1.&、*、1和OR这四个运算符中优先级最高的是(B)。

A.&B.*C.1D.OR

2.SELECT语句属于T-SQL的语言类型是(B)。

A.数据定义语言B.数据操纵语言

C.数据控制语言D.流程控制语言

3.下列常量中属于字符串常量的是(A)。

A.'你好'B.'What"sthis"

C.NNEWD."What'Syourname.

4.下面选项中,属于T-SQL不支持的流程控制语句是(A)0

A.IF・THEIN-ELSEC.DOCASE

B.BEGIN-ENDD.DOWHILE

5.聚合函数(B)可实现平均数的求取。

A.SUMB.AVGC.MIND.MAX

模块6数据库完整性

填空题

1.唯一约束包括PRIMARYKEY约束和UNIQUE

2.数据库完整性是指数据库要保持数据的歪确性和相容性,它是衡量数据库数据

好坏的一种标志。

3.SQLServer2008中包括的约束有一键约束、外关键字约束、唯一约束、检查约束、缺省约

束和非空约束。

4.创建规则的语句是CREATERULE.将规则绑定的系统存储过程是spbindrule

5.SQLServer2008中,可用于实现数据完整性的方法共有两类,即过程型数据完整

性禾口声明型完整性

选择题

1.在下面的约束中,不是用来维护两个表之间的一致性关系的约束是(A)0

A.FOREIGNKEY约束B.CHECK约束

C.UNIQUE约束D.DEFAULT约束

2.假设,创建表时的某列要求可以包含空值,但不允许有.重复值,那么在该列不能使用的约束是

卜面的哪一项(B)o

A.PRIMARYKEY约束:B.UNIQUE约束

C.CHECK约束D.NOTNULL约束

3.解除绑定默认值的系统存储过程是(D)o

4.创建默认对象时,下面可以作为默认对象的值的是(AB)。

A.常量数据B.函数或表达式

C.表列或数据库对象D.除二进制外的数值型数据

5.规则是数据库对象之一,它的作用与CHECK约束的部分功能相同,在向表的某列插入或更新

数据时,用它来限制输入的新值白■■取值范围,下列说法中正确的是(ABC)。

A.CHECK约束是用CREATETABLED句在创建表时指定的,而规则需要作为单独的

数据库对象来实现

B.在一列上只能使用一个规则,但可以使用多个CHECK约束

C.规则可以应用于多个列,还可以应用于用户定义数据类型,而CHECK约束只能应

用于它定义的行

D.表或用户定义数据类型的删除、修改不会对与之相连的规则产生影响。而CHECK

约束则随着表的删除而撤销约束

模块7视图和索引

一填空题

i.创建唯一性索引时,应保证创建索引的列不包括重复的数据,并且没有两个或两个以上的空

值。如果有这种数据,则必须先将其删除,否则索引不能成功创建。

2.一个表最多只可以有」一个聚集索引。

3.在SQLServer2008中,有两种基本类型的索引:简单索引和一复杂索引。

4.查看视图的基本信息可以使用系统存储过程—SDhel一,查看一个视图orderview

的定义文本信息,可以使用sphelptext。

5.在SQLServer2008系统中,可以把视图分成3种类型,即标准视图、索引视图和分区视

图。

二选择题

1.CREATEUNIQUENONCLUSTEREDINDEXindexidOX学生表(学号)”语句

建了一个(D)索弓

A.唯一索引B.聚集索引

C.主键索引D.唯一非聚集索引

2.如果需要加密视图的定义文本,可以使用下面(D)子句。

A.WITHCHECKOPTIONB.WITHSCHEMABINDING

C.WITHNOCHECKD.WITHENCRYPTION

3.使用SQL语句通过视图修改基本表中的数据时,其关键字是(C)o

A.CREATEB.UPDATE

C.ALTERD.DROP

4.以下关于视图的描述,正确的是(ABD)o

A.视图是从一个或几个基表或视图中导出的虚表

B.视图并不实际存储数据,只在数据字典中保存其逻辑定义

C.视图里面的任何数据不可以进行修改

D.SQL中的SELECT语句可以像对基表一样来对视图进行查询

5.下列几种情况适合创建索引的是(C)o

A.列的取值范南很少B.用作查询条件的列

C.频繁搜索的列D.连接中频繁使用的列

模块8游标、事务和锁

一填空题

1.要成为一个事务,则一个工作单元必须具有原子性、•致性、隔离性和持续性属性,即ACID

属性。

2.游标能够部分读取返回的结果集中的•行或•部分行,并允许应用程序通过当前行

来定位修改表中的数据。

3.在SOLServer2008中,SQLServer以三种事务模式运行,分别是自动提交事务、和隐式

事务-

4.事务是SQLServer中的单个逻辑工作单元,一个事务内的所有语句被作为一个整体执行。

5.当多个事务同时对数据库的同一部分数据进行操作时,会引发的并发问题主要有:丢失修改、

脏读、不可重复读取和幻读.

二选择题

1.FETCHPRIOR语句将提取游标结果集中当前行的(B)。

A.第一行B.最后行

C.前一行D.后一行

2.要使游标具有滚动性,应在游标声明语句中使用关键字(B)。

A.INSENSITIVEB.SCROLL

C.RETURND.UPDATE

3.假设声明了一个名为cur的游标,并且游标已经打开。游标指向的当前行是结果集

中的第12行。如果要提取相对于当前行的前5行中的数据,则可以使用下列的(A)语句。

A.FETCHRELATIVE5FROMcur

B.FETCHRE1.ATIVE.5FROMcur

C.FETCHABSOLUTE5EROMcur

D.FETCHABSOLUTE.5FROMcur

4.假设数据库中有两个事务同时对数据进行操作,事务T1修改表中的数据,事务T2

在事务T1还未提交数据前查看了这些数据。然后,事务T1又撤销了这些修改操作。那么会发生下

面(C)并发问题。

A.丢失更新B.脏读

C.不一致的分析D.幻读

5.事务的(A)属性不可以用来标识事务的全有或全无性质。

A.原子性B.—•致性

C.隔离性D.持久性

模块9存储过程和触发器

填空题

1.在无法得到定义该存储过程的脚本文件。而又想知道存储过程的定义语句时,使用

spstoredprocedures系统存储过程,可以查看定义存储过程的T-SQL语句。

2.针对每一种触发动作,在每个表或视图中只能有一个INSTEAD01:类型的触发器。

3.在SQLServer2008中,触发器分为INSTEADOF触发器和AFTER触发器。

4.为了接收某一存储过程的输出参数值,需要一个变量来存放该值,在该存储过程的调用语句

中,必须为这个变量加上OUTP必声明。

5.系统存储过程创建和保存在master数据库中,都以SD—为名称的前缀,可以在任何

数据库中使用系统存储过程。

选择题

1.以CREATEPROCEDURE为关键字的创建语句可以包括(ABCD)。

ACREATETAB1.EB.DROPTABLE

CAVERTABLED.CREATEDEFAUT

2在一个表上可以有(B)不同类型的触发器。

A种B.两种

C三种D.无限制

3.要查看ovelOrders储存过程的内容,可以使用的语句是(C)o

A.EXECsp_helptextovelOrders

B.EXECsp_helpoverOrders

C.EXECsprestoredproceduresoverOrders

D.EXECsp_dependsoverOrders

4.下而选项中属于存储过程优点的是(ABC)。

A.增强代码的重用性和共享性

B.可以使运行加快速度,减少网络流量

C.可以作为安全性机制

D.编辑简单

模块10SQLServer安全管理

填空题

1.SQLServer2008给用户提供了预定义的服务器角色和数据库角色。

2.SQLServer2008的用户权限可以划分为三类:对象权限、语句权限和隐含权限。

3.SQLServer2008中,一个请求服务器、数据库或架构资源的实体称为

它具有唯一的安全标识符。

4.对于表和视图,拥有者可以授予数据库用户INSERT、UPDATE、DELETE.

和SELECT五种权限。

5.SQLServer登录有两种模式,分别是WI'DOWS登录方式和SQLSERVER登录方式。

选择题

1.下列选项中属于Windows身份验证模式的是(ABC)。

A.BUILTINXZHT

C.PYP\ZHTD.dbo

2.SQLServer2005的sysusers表所在的数据库为(A)。

A.master数据库B.所有用户创建的数据库

C.所有数据库D.注册表

3.在数据库角色不能被删除的是(ABCD)。

A.dbownerB.dbdenydatawriter

C.publicD.dbdatarcader

4.创建一个默认数据库为ProductSale,用户名是userl,密码为8888的SQL

Server身份验证连接,使用语句应为(A)。

A.CREATELOGINtuserl*.WITHPASSWORD'8888',DEFAULTDATABASE=ProductSale

B.EXECUTESP_SETADDROLEMEMBERtuserl*,'8888','ProductSale

C.EXECUTESP_SETADDROLE'useri','8888','ProductSale,

D.EXECUTESP_GRANTDBACCESSuserr,'8888','ProductSale'

5.下列属于数据库级别安全包括的主体的是(ABCD).

A.映射为Windows登录B.映射为SQLServer登录

C.数据库角色D.应用程序角色

《数据库原理与技术》课程期末复习思考题

一、思考题

1、数据管理技术经过哪几个阶段?

2、文件系统阶段与数据库系统阶段各有何特点?

3、数据库,数据库管理系统(DBMS),数据库系统(DBS)的概念。

4、数据库系统有哪几部分组成?

5、数据库系统的三级模式结构是哪三级?两级映象?数据的物理独立性与物理独立性?

6、ER模型的基本概念:实体,联系,属性,域,键,外键,1:1,1:N,M:N联系:

7、常用的数据模型有哪儿种?数据模型的三要素是什么?关系模型由哪三部分组成?

8、关系运算类型?熟练掌握关系代数。

9、SQL的概念;熟练掌握SQL命令;

10、函数依赖,部分函数依赖,传递函数依赖;

11、范式,INF,2NF,3NF,BCNF

12、VFP索引的类型;

13、表单控件种类,各自的功能:

14、VFP的常用命令;

二、练习题

㈠、SQL命令操作

设有学生数据库中有三个表,学生表S(snochar(5),snamechar(8),ssexchar(2),sageint,sdept

char(20))分别

表示;学号,姓名,性另1,年龄,系;课程表C(cnochar(4),cnamechar(20),cteacherchar(8),creditfloat)分

掰表示:课程号,课程名,教师,学分;学生选课表SC(snochar(5),enochar(4),cgradefloat)分别表示:学

号,

课程号,成绩。

1、试作SQL命令建立课程表Co

2、查询外语系学生的姓名,性别,年龄,结果按年龄排序。

3、试用SQL插入一条记录(C101,英语4,赵老师,4.0)到课程表C中。

4、将李四同学的年龄增加1岁g

5、查询李四同学所选课程的课程名,学分,成绩

6、试删除王五同学的信息:

7、试删除正五同学的选课信息;

8、查询选修了高等数学的学生信息:

9、创建计算机系的学生信息视图;

10、设有关系R

RIABCD

2174

3452

2463

3698

4323

对这关系有个SQL语句:

SELECTA,SUM(B),MAX(C),AVG(D)

FROMR

GROUPBYA;

试写出这个语句的查询结果:

试求:R1-R2,R1UR2,R1AR2,Bb2(Rl),Rl

(二)关系代数和VFP命令操作:

1、设数据库中有三个表:学生(学号,姓名,性别,专业)

成绩(学号,课程号,分数)课程(课程号,课程名,学时)

现有一个SQL语句:SELECT学号,姓名,课程号

FROM学生S,成绩G

WHERES学号=6.学号AND分数>90

试用汉语解释这个SQL语句的功能。

2、试写出下列查询语句的关系代数表达式:检索英语专业学生的学号,姓名,年龄。

3、用VFP命令(或者SQL命令)对学生表按学号建立索引。

4、试用VisualFoxPro命令完成对表操作。

U)修改表结构命令

(2)交互式修改记录数据命令

(3)对记录物理排序命令

(4)查找记录命令

(5)复制所有的女同学记录到另一个表ntx.dbf中:

(6)对学生表按学号建立复合索引:建立单索引:

(7)逻辑删除会计专业的男同学;

(8)分页显示男学生的学号,姓名,专业;

(三卜应用题

1、假设有学生数据库中有三个表,学生表S(snochar(5),snamechar(8),ssexchar(2),sageint,sdept

char(20))分别表示:学号,姓名,性别,年龄,系:课程表C(cnochar(4),cnamechar(20),cteacher

char(8),creditfloat)分别表示:课程号,课程名,教师,学分:学生选课表SC(snochar(5),enochar(4),cgrade

float)分别表示:学号,课程号,成绩。

试用VEP编写一个在学生表中查找某个学生并显示查找结果的程序。

2、试编写一个根据输入的学生姓名,查找该学生选课课号,成绩的程序:

3、试列出VFP表单中使用的控件及其基本作用。

4、VFP菜单建立的基本步骤:

5、设某商业集团数据库中有三个实体集。一是“商店”实体集,属性有商店编号、商店名,地址等;二是“商

品”实体集,属性有商品号,商品名,规格,单价等;三是“职工”实体集,属性有职工编号,姓名,性别,业绩

等。

商店与商品之间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店

销售一种商品有月销售量;商店与职工之间存在着‘'聘用”联系,每个职工只能在一个商店工作,商店聘用职工有聘

期和月薪。

(1)、试画ER图,并在图上注明联系、属性。

(2)、试遵照规范化理论,将ER图转换成关系模型,并注明主码和外码。

练习题参考答案

(一)SQL命令操作

1、createtableC(cnochar(4),cnamechar(20),cteacherchar(8),creditfloat);

2、selectsname,ssex,sage

fromS

wheresdept='夕卜语系'orderbysage:

3^insertintoC(cno,cname,cteacher,cr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论