文档库 最新最全的文档下载
当前位置:文档库 › 数据库作业(答案)

数据库作业(答案)

数据库作业(答案)
数据库作业(答案)

《数据库原理与应用》综合设计任务书

前言

《数据库原理与应用》课程的重点知识模块包括:1)数据库设计、2)用SQL实现建库、建表、查询、更新、和创建视图、3)存储过程和触发器设计。针对这三个应用能力,用一个案例作为背景,布置三次大作业。

在校大学生都能理解“图书管理系统”的应用场合和业务流程。因此,以图书管理系统作为案例来布置作业,可以降低业务分析难度,让学生将主要精力放在知识消化与技术应用上。

本文档包括四个部分。第一部分描述系统的需求,第二部分提出E-R模型设计和关系模型设计的任务;第三部分提出在SQL Server中,用SQL语句来建库、建表、查询、更新数据、创建视图的任务;第四部分,根据应用需求、安全需求和数据完整性要求,提出设计存储过程和触发器的任务。

每个任务之前,都给出了完成任务所需要掌握的关键知识点,学生可以在对这些知识点进行复习的基础上完成任务,每个任务是一次大作业。

第一部分案例的需求描述

本部分描述“图书管理系统”的需求,学生通过阅读本部分内容,了解系统的功能要求、运行环境,对系统所需的数据有总体认识,作为三次作业的基础。

1.2 需求分析

1)功能需求

图1-1:功能需求示意图

教师信息管理:用于教师基本资料的增删改查。

图书信息管理:用于图书基本信息的增删改查,分类统计图书册数和价值。

借书登记:记录借书时间、所借图书、借书人、办理人。

还书登记:记录还书时间、所还图书、还书人、办理人。

催还:查询借阅逾期的借书信息,给借书人发电子邮件,给借书人的部门打电话。

2)运行环境要求

图1-2:运行环境拓扑图

系统采用C/S模式,有两台PC和一台服务器,联成一个局域网。PC上安装图书管理软件的客户端,服务器上安装DBMS,服务器也可由两台PC中的一台来代替。

第二部分作业1——E-R模型与关系模型设计

(满分8分)

本部分的任务是:在需求分析的基础上,进行E-R图设计,然后将E-R模型转换为关系模型。任务:

1)根据需求描述,绘制E-R图。

2)将E-R图转换成关系模型,写出所有的关系模式,并写出每一个关系是按照什么规则转换而成的。

3)在已经形成的关系模型下,举例说明连接运算、投影运算、选择运算。

参考答案:(属性写在了实体和联系图形内)

任务:

1)根据需求描述,分别为“图书管理系统”的不同功能模块绘制局部E-R图。

教师信息管理:

图书基本信息管理:

借还书登记:

催还书登记:

2)整体E-R图

3)关系模式

类型表(类型名,借阅期限),依据:实体转换为关系。

图书表(ISBN,书名,作者,出版社,出版时间,单价,类型名,状态),依据:实体转换为关系,1:N的联系合并到N,在N方增加一个外键:类型名。注:状

态属性为(库存,借出)

管理员表(管理员名,性别,口令) ,依据:实体转换为关系。

教师表(教师工号,姓名,性别,Email,部门名),依据:实体转换为关系,1:N的联系合并到N,在N方增加一个外键:部门名。

部门表(部门名,电话),依据:实体转换为关系。

借还表(借还业务编号,ISBN,教师工号,借办理人,借出日期,还办理人,归还日期),依据,M:N联系转换为一个关系,取联系的实体的键加联系属性作为其属性,可以增加一个列作为主键。

催还表(催还业务编号,ISBN,教师工号,办理人,催还日期),依据,M:N联系转换为一个关系,取联系的实体的键加联系属性作为其属性,可以增加一个列作为主键。

4)在已经形成的关系模型下,举例说明连接运算、投影运算、选择运算。

连接运算:查看类型的图书已经超过了有效借出期限。(需要图书,类型,借还关系)

投影运算:查看图书的书名、作者。

选择运算:查看单价高于50元的图书。

附:自底向上设计概念结构的方法

通常分为两步:第一步:首先要根据需求分析的结果(数据流图、数据字典等)对现实世界的数据进行抽象,设计各个局部视图即分E-R图。第二步:集成局部视图。

设计分E-R图的步骤是:选择局部应用在需求分析阶段,通过对应用环境和要求进行详尽的调查分析,逐一设计分E-R图,实体的属性、标识实体的码实际上实体与属性是相对而言的,很难有截然划分的界限。同一事物,在一种应用环境中作为"属性",在另一种应用环境中就必须作为"实体"。一般说来,在给定的应用环境中:属性不能再具有需要描述的性质。即属性必须是不可分的数据项。

合并分E-R图,生成初步E-R图。各分E-R图之间的冲突主要有三类:属性冲突、命名冲突和结构冲突。。解决方法是根据应用的语义对实体联系的类型进行综合或调整。

修改与重构,生成基本E-R图分E-R图经过合并生成的是初步E-R图。之所以称其为初步E-R图,是因为其中可能存在冗余的数据和冗余的实体间联系,即存在可由基本数据导出的数据和可由其他联系导出的联系。冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难,因此得到初步E-R图后,还应当进一步检查E-R图中是否存在冗余,如果存在,应设法予以消除。

第三部分作业2——用SQL语句建库、查询、更新数据、创建视图

(满分9分)

本部分的任务是:在关系模型的基础上,结合SQL Server 2005的技术特点,设计出数据库的逻辑结构,然后在SQL Server 2005中用SQL语句创建数据库、数据表、并输入一些原始数据,写SQL 语句,进行数据增删改,创建视图。

任务:

1)在第一次大作业的参考答案基础上,将每个关系转换为SQL Server支持的表结构,写出表结构。

2)使用SQL语句,创建数据库,数据库名为BookStore,

3)使用SQL语句,在数据库中创建表,设定表的主键约束、外键约束、检查约束、非空约束。

4)写以下增删改查操作的SQL语句

1、增加三条类型表数据

2、增加三条教师表数据

3、增加五条图书表数据

4、某教师今天借了某书,涉及两个操作,一是图书表的状态改为“借出”,二是增加一

个借还表记录

5、将某书的单价改为32元。

5)写出创建以下视图的SQL语句

1.查询某教师的借还书记录

2.查询某本书的流转记录

3.借出但未归还的图书视图

4.借阅逾期视图

5.图书分类统计册数和总价值的视图

参照完成:

1)表结构

部门表

催还记录表

1)使用SQL语句,创建数据库,数据库名为BookStore,

语句:

Create Databse Bookstore

2)使用SQL语句,在数据库中创建表,设定表的主键约束、外键约束、检查约束、非空约束。

语句:

CREATE TABLE管理员表(

管理员名nchar(10)NOT NULL,

性别Char(2)not null DEFAULT'男',

口令nchar(20)NOT NULL,

CONSTRAINT PK_管理员PRIMARY KEY CLUSTERED(管理员名ASC)

)ON [PRIMARY]

go

CREATE TABLE类型表(

类型名nchar(10)NOT NULL,

借阅期限tinyint NOT NULL,

CONSTRAINT PK_类型PRIMARY KEY CLUSTERED(类型名ASC)

)ON [PRIMARY]

go

CREATE TABLE图书表(

ISBN char(20)NOT NULL,

书名nchar(20)NOT NULL,

作者nchar(20)NOT NULL,

出版社nchar(20)NOT NULL,

出版时间datetime NOT NULL,

单价money NOT NULL,

类型名nchar(10)NOT NULL,

状态nchar(2)NOT NULL CHECK(状态in('库存','借出')),

CONSTRAINT PK_图书PRIMARY KEY CLUSTERED(ISBN ASC),

CONSTRAINT FK_图书_类型FOREIGN KEY(类型名)REFERENCES类型表(类型名)

ON UPDATE CASCADE

ON DELETE CASCADE

)ON [PRIMARY]

--==

go

CREATE TABLE部门表(

部门名nchar(10)NOT NULL,

电话char(11),

CONSTRAINT PK_部门表PRIMARY KEY CLUSTERED(部门名ASC)

)ON [PRIMARY]

go

CREATE TABLE教师表(

工号char(4)NOT NULL,

姓名nchar(4)NOT NULL,

性别Char(2)not null DEFAULT'男',

Email char(30)NOT NULL,

部门名nchar(10)NOT NULL,

CONSTRAINT PK_教师表PRIMARY KEY CLUSTERED(工号ASC),

CONSTRAINT FK_部门表_教师表FOREIGN KEY(部门名)REFERENCES部门表(部门名) ON UPDATE CASCADE

ON DELETE CASCADE,

)ON [PRIMARY]

go

CREATE TABLE借还记录表(

业务编号int identity(0,1)NOT NULL,

ISBN char(20)NOT NULL,

工号char(4)NOT NULL,

代办理人char(10)NOT NULL,

借出日期datetime NOT NULL,

还办理人char(10)NULL,

归还日期datetime NULL,

CONSTRAINT PK_借还记录表PRIMARY KEY CLUSTERED(业务编号ASC),

CONSTRAINT FK_借还记录表_教师表FOREIGN KEY(工号)REFERENCES教师表(工号)

ON UPDATE CASCADE

ON DELETE CASCADE,

CONSTRAINT FK_借还记录表_借还记录表FOREIGN KEY(ISBN)REFERENCES图书表(ISBN) ON UPDATE CASCADE

ON DELETE CASCADE

)ON [PRIMARY]

GO

--

CREATE TABLE催还记录表(

业务编号int identity(0,1)NOT NULL,

ISBN char(20)NOT NULL,

工号char(4)NOT NULL,

办理人char(10)NOT NULL,

催还日期datetime,

CONSTRAINT PK_催还记录表PRIMARY KEY CLUSTERED(业务编号ASC),

CONSTRAINT FK_催还记录表_教师表FOREIGN KEY(工号)REFERENCES教师表(工号)

ON UPDATE CASCADE

ON DELETE CASCADE,

CONSTRAINT FK_催还记录表_图书FOREIGN KEY(ISBN)REFERENCES图书表(ISBN)

ON UPDATE CASCADE

ON DELETE CASCADE

)ON [PRIMARY]

3)写以下增删改查操作的SQL语句

1.增加三条类型表数据

语句:

go

INSERT INTO类型表(类型名,借阅期限)VALUES('计算机',150)

INSERT INTO类型表(类型名,借阅期限)VALUES('文学',180)

INSERT INTO类型表(类型名,借阅期限)VALUES('经济',30)

--delete 类型表

--select * from 类型表

2.增加三条部门表数据

语句:

go

INSERT INTO部门表(部门名,电话)VALUES('网络系','020-*******')

INSERT INTO部门表(部门名,电话)VALUES('外语系','020-*******')

INSERT INTO部门表(部门名,电话)VALUES('管理系','020-*******')

--select * from 部门表

3.增加三条教师表数据

语句:

go

INSERT INTO教师表(工号,姓名,性别,Email ,部门名)VALUES('J001','张三','女','zs@https://www.wendangku.net/doc/9717488027.html,','网络系')

INSERT INTO教师表(工号,姓名,性别,Email ,部门名)VALUES('J002','李四','男','LS@https://www.wendangku.net/doc/9717488027.html,','网络系')

INSERT INTO教师表(工号,姓名,性别,Email ,部门名)VALUES('J003','王五','男','ww@https://www.wendangku.net/doc/9717488027.html,','外语系')

--select * from 教师表

4.增加五条图书表数据

语句:

go

INSERT INTO图书表(ISBN,书名,作者,出版社,出版时间,单价,类型名,状态)

VALUES('9789302218661','C#','江红','清华大学出版社','2012.2.10',45,'计算机','库存') INSERT INTO图书表(ISBN,书名,作者,出版社,出版时间,单价,类型名,状态)VALUES('9787802229761','人生博弈密码','吕叔春','中国华侨出版社','2009.2.1',36.8,'文学','库存')

INSERT INTO图书表(ISBN,书名,作者,出版社,出版时间,单价,类型名,状态)VALUES('9787301150894','经济学原理','梁小民','北京大学出版社','2009.4.1',54,'经济','借出')

--select * from 图书表

5.增加三条管理员表数据

语句:

go

INSERT INTO管理员表(管理员名,性别,口令)VALUES('吴管','男','wg001')

INSERT INTO管理员表(管理员名,性别,口令)VALUES('李管','女','Lg002')

INSERT INTO管理员表(管理员名,性别,口令)VALUES('徐管','男','Xg003')

--select * from 管理员表

go

--select * from 教师表

----select * from 部门表

--select * from 类型表

--select * from 图书表

--select * from 管理员表

6.某教师今天借了某书,涉及两个操作,一是图书表的状态改为“借出”,二是增加一个借还表记录

语句:

insert借还记录表(ISBN ,工号,代办理人,借出日期,还办理人,归还日期)

values('9787802229761','J001','wg001','2012.3.20','Lg002','')

insert借还记录表(ISBN ,工号,代办理人,借出日期,还办理人,归还日期)

values('9787301150894','J001','wg001','2011.3.20','Lg002','')

--select * from 借还记录表

--delete 借还记录表

go

update图书表

set状态='借出'

where ISBN='9787802229761'

--select * from 图书表

7.将某书的单价改为32元。

语句:

update图书表

set单价=32

where ISBN='9787802229761'

select*from图书表

4)写出创建以下视图的SQL语句

1.查询某教师的借还书记录

语句:

--select * from 教师表

--select * from 部门表

--select * from 类型表

--select * from 图书表

--select * from 管理员表

--select * from 借还记录表

GO

create view教师借书视图

as

select a.工号,姓名,部门名,书名

from教师表 a,图书表 b,借还记录表 c

where a.工号=c.工号and b.ISBN=c.ISBN and a.工号='J001'

--SELECT *FROM 教师借书视图

2.查询某本书的流转记录

语句:

--select * from 借还记录表

select a.工号,姓名,部门名,书名,借出日期,归还日期

from教师表 a,图书表 b,借还记录表 c

where a.工号=c.工号and b.ISBN=c.ISBN

3.借出但未归还的图书视图

语句:

--select * from 借还记录表

--select * from 图书表

select*from图书表where状态='借出'

4.借阅逾期视图

语句:

--select * from 图书表

--select * from 借还记录表

--select * from 类型表

go

Create View借阅逾期视图

As

SELECT a.ISBN, a.书名, b.工号, b.借出日期

FROM图书表 a JOIN借还记录表b

ON a.ISBN=b.ISBN

JOIN类型表 C

ON a.类型名=c.类型名

WHERE a.状态='借出'and c.类型名=a.类型名and a.ISBN=b.ISBN and datediff(day, b.借出日期,getdate())>c.借阅期限

--select * from 借阅逾期视图

go

--select datediff(day, '2012-02-10 00:00:00.000',getdate())

5.图书分类统计各类图书册数和各类图书总价值的视图

语句:

--select * from 图书表

Create View图书统计视图

As

SELECT类型名,count(*)各类图书册数,sum(单价)各类图书总价

FROM图书表

GROUP By类型名

--select * from 图书统计视图

第四部分作业3——存储过程与触发器设计

(满分8分)

任务

1)为BookStore数据库增加一个授权用户sl,密码为'sl0xdw',该用户可以执行存储过程,但不能在数据表中直接进行更新。

2)授权s1访问当前数据库

3)授权s1加入数据库角色db_denydatawriter,目的是不允许修改数据库

4)加入数据库角色,只允许s1查询数据库

5) 设计存储过程,用于封装以下业务的数据操作,必要处请使用事务

a)proc_lendbook,某教师在某时间借了某本书,由某管理员办理。

b)proc_returnbook,某教师在某时间还了某本书,由某管理员办理

c)proc_getReaderlog,查看某人的全部借还书记录

d)proc_getBookLog,查看某本书的历史流转记录

e)proc_writeEmailLog,某管理员在某时间给全部借阅过期者发催还邮件,在催还表中记录催发

信息

f)proc_AddABook,增加一本书的数据

g)proc_UpdateBookByBookid,修改一本书的数据

6) 设计触发器

如果是dbo用户在借还表中修改或增加数据,应检查是否满足“一个人最多能借两本书”,而且,对于借还表中的增删改操作,应该修改对应的图书状态。

参考答案:

参考答案:

1)

use bookstore

go

exec sp_addlogin sl,'sl0xdw','bookstore'--sl, 'sl0xdw','bookstore':依次为用户名,密码,默认数据库

go

GRANT CREATE PROCEDURE TO sl

go

DENY UPDATE ON bookstore TO sl

go

2)

exec sp_grantdbaccess'sl'--授权s1访问当前数据库

go

3)--加入数据库角色db_denydatawriter,不允许修改

EXEC sp_addrolemember'db_denydatawriter','sl'

4)--加入角色,允许查询

exec sp_addrolemember'db_datareader','sl'

go

5)

a)

--select * from 教师表

--select * from 管理员表

--select * from 借还记录表

--select * from 图书表

create proc proc_lendbook

@jsID char(4),

@time datetime,

@shuISBN char(20),

@gly nchar(20)

as

select a.姓名,借出日期,d.书名,b.管理员名

from教师表a join借还记录表 c

on a.工号=c.工号

join管理员表 b

on b.口令=c.代办理人

join图书表 d

on c.ISBN=d.ISBN

where a.工号= @jsID and c.借出日期=@time and c.ISBN=@shuISBN and c.代办理人=@gly

go

EXEC proc_lendbook 'J001','2012-3-20','9787802229761','WG001'

数据库试题和答案

试题一 一、单项选择 1.对于现实世界中事物的特征,在实体-联系模型中使用() A)属性描述B)关键字描述C)二维表格描述D)实体描述 2.把实体-联系模型转换为关系模型时,实体之间多对多联系在关系模型中是通过()A)建立新的属性来实现B)建立新的关键字来实现 C)建立新的关系来实现D)建立新的实体来实现 3.专门的关系运算不包括下列中的() A)联接运算(两个关系横向连接)B)选择运算(从行抽取) C)投影运算(从列抽取)D)交运算 4.对关系S和关系R进行集合运算,结果中既包含S中元组也包含R中元组,这种集合运算称为 A)并运算B)交运算C)差运算D)积运算 5.在数据库设计中,将ER图转换成关系数据模型的过程属于() A)需求分析阶段B)逻辑设计阶段 C)概念设计阶段D)物理设计阶段 6.对于关系数据库,任何二元关系模式最高都可以达到范式。 A)1NF B)2NF C)3NF D)BCNF 7.在概念设计阶段,最常使用的数据模型是() A)对象模型B)物理模型C)逻辑模型D)实体联系模型 8.下面有关索引的描述正确的是() A)创建非聚集索引以后,原来的数据库表文件中记录的物理顺序将被改变(不被改

变) B)索引与数据库表的数据存储在一个文件中(创建一个新的文件) C)创建非聚集索引是创建一个指向数据库表文件记录的指针构成的文件 D)使用索引并不能加快对表的查询操作(能加快) 9.关系R1和R2,经过关系运算得到结果是S,则S 是 A)一个关系B)一个表单C)一个数据库D)一个数组 10.子模式是用户与数据库的接口之一,它对应于数据库的 A)外模式B)概念模式C)内模式D)存储模式 11.已知关系R(A,B,C,D,E)及其上的函数相关性集合,F={A→B,E→A,CE→D},该关系的候选关键字是 A)AE B)BE C)CE D)DE 12.设有关系R(A,B,C,D)及其上的函数相关性集合F={B→A,BC→D},那么关系R最高是A)第一范式的B)第二范式的C)第三范式的D)BCNF范式的13.如果学生表STUDENT是使用下面的SQL语句创建的CREATE TABLE STUDENT(SNO CHAR(4) PRIMARY KEY NOT NULL,SN CHAR(8),SEX CHAR(2),AGE DECIMAL(2) CHECK(AGE>15 AND AGE<30)) 下面的SQL语句中不可以正确执行的是 A)INSERT INTO STUDENT(SNO,SEX,AGE) valueS ("S9","男",17) B)INSERT INTO STUDENT(SNO,SEX,AGE) valueS ("李安琦","男",20) C)INSERT INTO STUDENT(SEX,AGE) valueS ("男",20) D)INSERT INTO STUDENT(SNO,SN) valueS ("S9","安琦") 14.设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员。

数据库原理试题及答案

数据库原理试题答案(B卷) 一、填空题(每题 2 分,共 20 分) 1、实体 2、日志文件 3、完整性 4、关系 5、关系演算 6、外模式 / 模式 7、更新 8、集成的 9、先来先服务 10、人工智能 二、选择题(每题 1 分) 1 、C 2 、 D 3 、 B 4 、 A 5 、 B 6 、 C 7 、 C 8 、 C 9 、 B 10 、 C 三、简答题(每题 5 分,共 20 分) 1 、答案要点:数据库系统中的常见故障有:事务内部的故障(事务故障)( 1 分)、系统故障( 1 分)、介质故障( 2 分)、计算机病毒( 1 分)。 2 、答案要点:数据模型通常由数据结构( 1 分)、数据操作( 2 分)、完整性约束( 2 分)三部分组成。 3 、答案要点:不是所有的视图都是可更新的( 2 分);因为有些视图的更新不能唯一地有意义地转换成对相应基本表地更新( 3 分)。 4 、答案要点:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行执行它们时的结果相同( 5 分)。 四、(共 10 分) 1 、 80 , 90 2 、 T 1 T 2 Slock A 读 A = 50 Y = A Unlock A Xlock A A=Y-10 Slock A 写回 A = 40 等待 Unlock A 等待 读 A = 40 Y = A Unlock A Xlock A A=Y × 2 写回 A = 80 Unlock A

五、(共 10 分) 六、(共 20 分) 1 、关系代数: (1)sno ( cno =‘ 2 ' (SC) )(2分) (2) Sno,Sn ( Cn=' 数据库概论 ' ) (2分) (3) Sno,SN (S ( Cno , sno (SC) ÷ Cno ( C )) ) (2分) ALPHA 语言 ? GET W(SC.SNO): https://www.wendangku.net/doc/9717488027.html,O=' 2' (2分) ? RANGE C X SC Y GET W (S.SNO.S.SN): X( Y(https://www.wendangku.net/doc/9717488027.html,O=https://www.wendangku.net/doc/9717488027.html,O ^ Y.SNO=S.SNO ^ https://www.wendangku.net/doc/9717488027.html,=' 数据库概论 ' (2分) ? RANGE C X SC Y GET W(S.SNO,S.SN): X( Y(https://www.wendangku.net/doc/9717488027.html,O=https://www.wendangku.net/doc/9717488027.html,O ^ Y.SNO=S.SNO)) (2分) 2 、( 1 ) SELECT COUNT(*) FROM STUDENT (2分) (2) SELECT SNO FROM SC GROUP BY SNO HAVING COUNT(*)>5 (3分) (3) DELECT FROM SC WHERE https://www.wendangku.net/doc/9717488027.html,O IN (SELECT https://www.wendangku.net/doc/9717488027.html,O FROM C WHERE CN=' 数据结构 ') DELETE FROM C WHERE CN= ‘数据结构' (3分) 七、(共 10 分) 科室(科室代码,科室名称) (1分) 医生(工号,姓名,名称,聘用日期,聘用期限,科室) (1分) 病人(病历号,姓名,年龄,工作单位) (1分) 就诊(医生工号,病历号,就诊日期) (2分) 一、填空题(每空 2 分,共 20 分) 1、关系中主码的取值必须唯一且非空,这是由 ___________ 完整性规则决定的。 2、当数据库被破坏后,如果事先保存了数据库副本和 ________________ ,就有可能恢复数据库。 3、数据库的 ____________ 是指数据库的正确性和相容性。 4、关系数据操作语言的特点是:操作对象与结果均为 ___________ 、操作的非过程性强、语言一体化、并且建立在数学理论基础之上。 5、SQL 是一种介于关系代数和 _____________ 之间的结构化的查询语言。 6、对于每一个外模式,数据库系统都有一个 _______________ 映象,它定义了该外模式与模式之间的对应关系。 7、视图是一个需表,它一经定义就可以和基本表一样被查询,但 _________ 操作将有一定的限制。 8、数据仓库是一个面向主题的、 _____________ 、不可更新的、随时间不断变化的数据集合。 9、避免活锁的简单方法是采用 _____ 的策略。 10、知识库系统和主动数据库系统是将数据库技术和 ________ 技术相结合产生的。 二、选择题(每小题 1 分,共 10 分) 1、SQL 中,下列涉及空值的操作,不正确的是 ( )

SQL第6周数据库上机作业答案

第二次(第6周)上机作业 一、用T-SQL语句在E:\DATA\文件夹中创建一个教师信息数据库teacher,该数据库包含:(界面方式也要会) 1、一个主数据文件逻辑名‘teacherdata1 ’, 物理名‘E:\DATA\tdata1.mdf ’, 初始容量1MB,最大容量10MB,每次增长量为15%。 2、一个辅助数据文件逻辑名‘teacherdata2 ’ 物理名‘E:\DATA\tdata2.ndf ’, 初始容量2MB,最大容量15MB,每次增长量为2MB。 3、两个数据文件不单独创建文件组,即使用默认的PRIMARY组; 4、一个事务日志文件逻辑名‘teacherlog’物理名‘E:\DATA\teacherlog.ldf ’,初始容量500KB,最大容量不受限制,每次增长量为500KB。 先确认E:\DATA\文件夹已创建, CREATE DATABASE teacher ON PRIMARY ( NAME = teacherdata1 , FILENAME = 'E:\DATA\tdata1.mdf' , SIZE =5MB , MAXSIZE= 10 , FILEGROWTH = 15% ) , ( NAME = teacherdata2 , FILENAME = 'E:\DATA\tdata2.ndf' , SIZE = 2 , MAXSIZE= 15 , FILEGROWTH = 2MB ) LOG ON /* 创建事务日志文件*/ ( NAME = teacherlog , FILENAME = 'E:\DATA\teacherlog.LDF', SIZE = 500 KB ,/* 初始容量,KB单位不能省略*/ MAXSIZE = UNLIMITED ,/* 日志文件最大容量不受限制*/ FILEGROWTH = 500 KB/* 增长量KB 不能省略*/ ) 二、修改数据库“teacher”,增加两个文件组,文件组名:Gteacher1和Gteacher2。ALTER DATABASE teacher Add filegroup Gteacher1 ALTER DATABASE teacher Add filegroup Gteacher2 三、增加一个辅助数据文件,文件逻辑名teacherdata3,物理名为:E:\data\ teacherdata3.ndf’,初始大小为20MB,最大100MB,增量10MB,归属于文件组“Gteacher1”。 Alter database teacher Add file

华师在线数据库应用作业及答案

作业 1.第1题 使用( )身份验证方式需要客户端应用程序连接时提供登录时需要的用户标识和密码。 A.Windows身份验证 B.SQL Server 身份验证 C.以超级用户身份登录时 D.其他方式登录时 您的答案:B 2.第2题 表达式'123’+'456’的值是()。 A.123456 B.579 C.'123456’ D.'123456” 您的答案:B

3.第3题 将多个查询结果返回一个结果集合的运算符是( )。 A.JOIN B.UNION C.INTO D.LIKE 您的答案:B 4.第4题 使用T-SQL创建视图时,不能使用的关键字是:( )。 A.ORDER BY B.WHERE https://www.wendangku.net/doc/9717488027.html,PUTE D.WITH CHECK OPTION 您的答案:C 5.第5题 系统存储过程在系统安装时就已创建,这些存储过程存放在( )系统数据库中。 A.master

B.tempdb C.model D.msdb 您的答案:A 6.第6题 下面哪种文件无法与SQL Server数据库进行导入和导出操作()。 A.文本文件 B.EXCEL文件 C.Word文件 D.Access文件 您的答案:C 7.第7题 数据库逻辑结构设计阶段的主要功能是:( )。 A.明确用户需求,确定新系统的功能 B.建立数据库的E-R模型 C.将数据库的E-R模型转换为关系模型 D.选择合适的存储结构和存储路径

您的答案:C 8.第8题 在数据库设计过程使用( )可以很好的描述数据处理系统中信息的变换和传递过程。 A.数据流图 B.数据字典 C.E-R图 D.系统流程图 您的答案:A 9.第9题 下列SQL语句中,能够实现参照完整性控制的语句是:( )。 A.FOREIGN KEY B.PRIMARY KEY C.REFERENCES D.FOREIGNKEY和REFERENCES 您的答案:D 10.第10题 T-SQL中的全局变量以( )作前缀。

数据库试题及答案

《数据库》试题 使用教材:Visual FoxPro 数据库应用 试题范围:全册 出版社:高等教育出版时版次:第3版 学校名称:文县职业中专 一、选择题 1、在有关数据库的概念中,若干记录的集合称为() A. 文件 B. 字段 C. 数据项 D. 表 2、在Visual FoxPro中,向数据库文件中追加数据使用语句() A、INSERT B、REPLACE C、APPEND D、ADD 3、在Visual FoxPro中,删除数据库的所有记录,仅保留库结构的命令是( ) A、delete all B、pack C、recall D、zap 4、在Visual FoxPro中,分屏显示当前数据库中年龄字段大于20的所有记录,正确的命令为( ) A、display all for nl>20 B、display all while nl>20 C、list for nl while nl>20 D、list while nl>20 5、在Visual FoxPro中,skip命令移动记录指针的基准是( ) A、第一条记录 B、当前记录 C、指定纪录 D、库文件尾6、逻辑运算符在运算时的优先顺序是() A.NOT→AND→OR B.AND→NOT→OR C.OR→NOT→AND D.从左至右按先后次序 7、在关系运算中,查找满足一定条件的元组的运算称之为()A. 投影 B. 选择 C. 关联 D. 复制 8、下面的赋值表达式不正确的是() A.STORE "HELLO WORLD!" TO STR B. STORE 123456 TO

A1,B1 C.WORD="FOXPRO" D.STORE 12,34 TO A2,B29、不能作为索引关键字的数据类型是() A.数值型 B.备注型 C.日期型 D.字符型 10、当前表中含xm(姓名,字符型)字段,显示姓“李”的记录的命令是() A.DISP FOR "李"=xm B.DISP FOR xm=李 C.DISP FOR SUBS(xm,1,1)= ‘李’ D.DISP FOR SUBS(xm,1,2)=‘李’ 11、用命令DIMENSION A(4,5)定义后,A数组中共有()个数据元素。 A. 4 B. 5 C. 9 D. 20 12、在Visual FoxPro的一个工作区中,同一时刻最多能打开( )个库文件。 A、10 B、1 C、任意多 D、256 13、33.结构化程序设计中的三种基本结构是顺序结构、分支结构和() A、选择结构 B、循环结构 C、混合结构 D、跳转结构 14、假定STUDENT.DBF学生数据库文件中前六条记录均为男生的记录,执行以下命令序列: USE.STUDENT GOTO 3 LOCATE NEXT 3 FOR 性别="男" 后,记录指针定位在( ) A、第3条记录上 B、第4条记录上 C、第5条记录上 D、第6条记录上 15、68.下面有关表索引的几种说法,正确的是() A.索引和排序一样,它改变记录的物理顺序。

北大数据库原理上机考题练习及参考答案 练习二(商品、顾客、购买)

题目: 现有一个商店的数据库,记录顾客及其购物情况,由下面三个表组成:商品(商品号,商品名,单价,商品类别,供应商); 顾客(顾客号,姓名,住址); 购买(顾客号,商品号,购买数量); 试用SQL语言完成下列功能: 1 建表,在定义中要求声明: (1)每个表的主外码; (2)顾客的姓名和商品名不能为空值; (3)单价必须大于0,购买数量必须再0到20之间; 2 往表中插入数据: 商品(M01,佳洁士,8.00,牙膏,宝洁; M02,高露洁,6.50,牙膏,高露洁; M03,洁诺,5.00,牙膏,联合利华; M04,舒肤佳,3.00,香皂,宝洁; M05,夏士莲,5.00,香皂,联合利华; M06,雕牌,2.50,洗衣粉,纳爱斯 M07,中华,3.50,牙膏,联合利华; M08,汰渍,3.00,洗衣粉,宝洁; M09,碧浪,4.00,洗衣粉,宝洁;) 顾客(C01,Dennis,海淀; C02,John,朝阳; C03,Tom,东城; C04,Jenny,东城; C05,Rick,西城;) 购买 (C01,M01,3;C01,M05,2; C01,M08,2;C02,M02,5; C02,M06,4;C03,M01,1; C03,M05,1;C03,M06,3; C03,M08,1;C04,M03,7; C04,M04,3;C05,M06,2; C05,M07,8;) 商品有9 条,顾客有5条, 购买有5条

3 用SQL语句完成下列查询: (1)求购买了供应商"宝洁"产品的所有顾客; (2)求购买的商品包括了顾客"Dennis"所购买商品的顾客(姓名);(3)求牙膏卖出数量最多的供应商。 4 将所有的牙膏商品单价增加10%。 5 删除从未被购买的商品记录。 参考答案: create table product ( productno char(10) not null, productname char(15) not null, price float(15), sort char(10), supplier char(20), primary key (productno), check (price > 0) ) create table customer ( customerno char(10) not null, customername char(15) not null, address char(10), primary key (customerno) ) create table buy ( customerno char(10) not null, productno char(10) not null, num smallint, primary key (customerno,productno), foreign key (customerno) references customer (customerno), foreign key (productno) references product (productno), check (num between 0 and 20) )

数据库作业答案

实验六 1、查询所有数学系学生的信息。 --select * from s where 系='数学系' 2、查询李老师所教的课程号、课程名 --select 课程号,课程名from c where 教师like '李%' 3、查询年龄大于20岁的女同学的学号和姓名。 --select 学号,姓名from s where year(getdate())-year(出生日期)>20 and 性别='女' 4、查询学号为‘H0301’所选修的全部课程成绩。 --select 成绩from sc where 学号= 'H0301' 5、查询平均成绩都在80分以上的学生学号及平均成绩。 --select 学号,AVG(成绩) from sc group by 学号having AVG(成绩)>80 6、查询至少有6人选修的课程号。 --select 课程号from sc group by 课程号having count(*)>=6 7、查询C02号课程得最高分的学生的学号 --select 学号from sc where 课程号='c02' and 成绩=(select max(成绩) from sc where 课程号='c02') 8、查询学号为’J0101’的学生选修的课程号和课程名 --select 课程号,课程名from c,sc where 学号='j0101' and c.课程号=sc.课程号 9、‘李小波’所选修的全部课程名称。 --select c.课程名from s,c,sc where s.学号=sc.学号and c.课程号=sc.课程号and 姓名='李小波' 10、所有成绩都在70分以上的学生姓名及所在系。 --select 姓名,系from s,sc where s.学号=sc.学号group by 姓名, 系having min(成绩)>=70 11、英语成绩比数学成绩好的学生 select sc2.学号 from c c1,c c2,sc sc1,sc sc2 where c1.课程名='英语' and c2.课程名='数学' and sc1.成绩>sc2.成绩 and sc1.学号=sc2.学号and c1.课程号=sc1.课程号and c2.课程号=sc2.课程号 或: Select sc1.学号from sc sc1, sc sc2 where sc1.学号=sc2.学号 And (sc1.课程号in (select 课程号from c where 课程名= ‘英语’))

数据库试题及答案_

笔试样卷一 参考答案 一、简答题(25分) 1.数据库阶段数据管理的主要特点是什么? 2.解释DB、DBMS、DBS三个概念? 3.什么是物理数据独立性和逻辑数据独立性? 4.试说明DBMS的主要功能? 5.在ER模型转换为关系模型时,联系类型要根据不同的情况作不同的处理,试说明之。 二、计算题(20分) 1.设有关系R和S R: S: A B C A B C 3 6 7 3 4 5 2 5 7 7 2 3 7 3 4 4 4 3 列表计算R∪S、R-S、R×S、π 3,2(S)、δ B<5 (R)。(5分) 2.设有三个关系 S (SNO, SNAME, AGE, SEX, SDEPT) SC (SNO, CNO, GRANDE) C (CNO, CNAME, CDEPT, TNAME) 试用关系代数表达式表示下列查询

(1)检索LIU老师所授课程的课程号、课程名 (2)检索年龄大于23岁的男学生的学号和姓名 (3)检索学号为S3的学生所学课程的课程名和认课教师姓名 (4)检索WANG同学不学的课程的课程号 (5)检索至少选修了两门课程的学生的学号(10分) 三、设有三个基本表(45分) S (SNO, SNAME, AGE, SEX, SDEPT) SC (SNO, CNO, GRANDE) C (CNO, CNAME, CDEPT, TNAME) 1.试用T-SQL的查询语句表达下列查询 (1)检索LIU老师所授课程的课程号、课程名 (2)检索年龄大于23岁的男学生的学号和姓名 (3)检索学号为S3的学生所学课程的课程名和认课教师姓名 (4)检索WANG同学不学的课程的课程号 (5)检索至少选修了两门课程的学生的学号(10分) 2.试用T-SQL的查询语句表达下列查询 (1)统计有学生选修的课程的门数 (2)求选修C4课程的学生的年龄 (3)求LIU老师所授课程的每门课程的学生的平均成绩 (4)统计每门课程的学生选修人数 (5)求年龄大于所有女同学年龄的男学生的姓名和年龄(10分)3.试用T-SQL更新语句完成下列更新操作 (1)往表S中插入一个学生资料(‘S9’, ‘WU’, 18)

数据库工程师试题以及答案

2010年3月计算机等考四级数据库 2010年3月计算机等考四级数据库工程师选择题 (1)在数据库应用系统的需求分析阶段,需要考虑数据的安全性需求。下列不属于数据安全性需求分析内容的是 A)分析数据的安全性需求,以确定每个关系表上定义的数据约束能够满足使用要求B)分析全局用户对数据的存取需求,以确定全局数据的安全控制策略 C)分析特殊用户对数据的存取需求,以保证数据库的安全控制策略能够满足其使用要求 D)分析各类用户对数据的存取需求,以确定各类用户能够操作的数据 (2)有学生表(学号, 姓名, 性别, 身份证号, 出生日期, 所在系号),在此表上使用如下语句建立索引: CREATE NONCLUSTERED INDEX Idx_Name ON学生表(姓名); 此索引被称为 A)非聚集散列索引 B)非聚集辅索引 C)非聚集顺序索引 D)非聚集主索引 (3)在数据库物理设计阶段,使用聚集文件组织数据可以提高一些查询的效率。下列关于聚集文件和聚集键的描述错误的是 A)聚集文件将不同关系表中有关联关系的记录存储在一起,以减少系统的物理I/O次数 B)聚集键应该选用频繁用于进行自然连接的属性或属性组 C)聚集文件可以提高某些连接查询的速度,但是它可能导致其他类型的查询处理变慢 D)关系表中某个属性的数据重复率越高,越适合作聚集键 (4)己知有描述科研项目及负责教师的关系模式:科研项目(项目号, 项目名称, 经费, 负责教师号, 姓名, 职称),该关系模式满足函数依赖集:F={项目号→项目名称, 项目号→经费, 项目号→负责教师号, 负责教师号→姓名, 负责教师号→职称}。下列分解中最合理的符合3NF的关系模式是 A)科研项目(项目号, 项目名称, 经费),教师(教师号, 姓名, 职称) B)科研项目(项目号, 项目名称, 经费),教师(教师号, 姓名, 职称, 项目号) C)科研项目(项目号, 项目名称, 经费, 负责教师号),教师(教师号, 姓名, 职称)D)科研项目(项目号, 项目名称, 经费),项目_教师(项目号, 负责教师号),教师(教师号, 姓名, 职称) (5)在IDEF0图中矩形框代表功能活动。关于连接到矩形框4条边上的箭头的语义,下列说法错误的是 A)左边的箭头表示完成功能活动需要的数据,它强调被活动消耗或变换的内容 B)上边的箭头表示影响这个活动执行的事件或约束,它强调被活动变换的内容 C)右边的箭头表示由这个活动产生的信息,它强调活动变换和处理的结果 D)下边的箭头表示实施该活动的手段或完成活动需要的资源,它强调如何做 6)数据库的运行管理与维护主要由数据库管理员负责,工作内容主要包括日常维护、系统监控与分析、性能优化等。下列关于数据库管理员工作内容的说法错误的是A)数据库的备份和恢复是重要的维护工作,数据库管理员应根据不同的应用要求制定

数据库作业题目及答案

实验三内容补充 在“教学管理系统”中设计了许多查询,上述只介绍其中具有代表性的部分,其余查询读者可依例完成。本系统包括的所有查询如下所示: 说明:同学们在进行后面的表单设计时,需要用到没有设计过的查询,则再进行对应的查询设计,没有设计到的可以不做。 1.90 以上学生信息 2.按班查不及格学生 3.按班级编号查看学生基本信息 4.按班级查教师信息 5.按班级查选课 6.按教师编号查 7.按教师姓名查看授课信息 8.按课程类别查 9.按课程名查 10.按上课地点查 11.按所选课程查 12.按系名查 13.按姓名查看学生基本信息 14.按学分查 15.按学号查看学生基本信息 16.按学号查选课 17.按职称查 18.不及格人次 19.不及格学生信息 20.低于所在班平均分学生 21.各班学生人数统计 22.各系教师人数 23.各职称教师人数 24.教师基本信息表查询 25.教师每周学时总数 26.每班不及格人次 27.每班每门课平均成绩 28.每班男女生人数 29.每班平均成绩 30.每班平均分 31.每名学生平均成绩 32.某学年某学期教师每周学时总数 33.某学期某课不及格信息 34.统计各系教师的人数 35.统计各职称教师的人数 36.统计每门课教师的人数 37.统计有课教师的人数 38.学生相关信息查询 39.学生选课情况 40.有课教师的人数

实验四数据登录窗体设计一 4.1数据登录窗体的向导创建 在Access中创建窗体有人工方式创建和使用窗体向导创建两种方法。人工方式创建窗体,需要创建窗体的每一个控件,并建立控件和数据源之间的联系。而使用窗体向导创建窗体,用户只需按照向导的提示输入有关信息,一步一步地完成。创建过程既简单、快捷,又效率高,因此,在设计Access数据库应用系统时,往往是先使用窗体向导建立窗体的基本轮廓,然后再切换到设计视图使用人工方式进行调整。我们在创建“登录教师档案”窗体时采用的就是这种方法。 利用窗体向导创建“登录教师档案”,窗体的步骤如下: ①双击“窗体”对象中“使用向导创建窗体”选项,启动“窗体向导”如图2-1所示。 图2-1“窗体向导”第一个窗口 ②单击“表/查询”下拉列表框右侧的箭头,列出所有有效的表或者查询数据源,从中选择“表:教师档案表”。 ③在“可用字段”列表框中选择需要在新建窗体中显示的字段,此处,单击按钮选择所有字段。 ④单击“下一步”按钮,弹出如图2-2所示的窗口。在此对话框中,选择“纵栏表

数据库上机答案

数据库上机1 1、新建工厂数据库factory。 create database factory on( name=factory_data, filename='d:\factory.mdf') log on(name=factory_log, filename='d:\factory.ldf') 2、数据库factory包括职工表worker、部门表depart和职工工资表salary。用SQL语句建立这三个表并输入数据,其表结构及用例数据分别如下: 职工表结构为: 职工号:int; 姓名:char(8) ; 性别:char(2) ; 出生日期:datetime; 党员否:char(2) ; 参加工作:datetime; 部门号:int; 其中职工号为主码。 部门表结构为:

部门号:int; 部门名:char(10); 其中部门号为主码。 职工工资表结构为: 职工号:int; 日期:datetime; 工资:decimal(6,1) ; 其中职工号和日期为主码。

create table worker ( 职工号int primary key, 姓名char(8) , 性别char(2), 出生日期datetime, 党员否char(2), 参加工作datetime, 部门号int ) create table depart ( 部门号int primary key, 部门名char(10)

) create table salary ( 职工号int, 日期datetime, 工资decimal(6,1), Primary key(职工号,日期) ) 3. 显示部门的详细信息。 select * from depart 4.查询3号职工的工资单。 select * from salary where职工号=3 5.显示所有职工的姓名及年龄,并按姓名升序显示。 select 姓名, 2015-year(出生日期) '年龄' from worker order by姓名6. 求出各部门的部门号及党员人数。 select 部门号,count(党员否) '党员人数' from worker where 党员否='是' group by 部门号 7. 在worker表的“姓名”列创建唯一索引nameindex。 create unique index nameindex on worker (姓名) 数据库上机2 1. 查询12月份过生日的名单。 答:select 姓名from worker where month(出生日期)= 12 2. 查询所有姓刘的职工信息。 select * from worker where 姓名like ‘刘%’ 3. 显示所有职工的职工号和2011年2月份的工资数。 select 职工号,工资from salary where year(日期)=2011 and month(日期)=2 4. 查询1号部门所有职工的姓名和工资,并按工资降序排列。

数据库原理及应用学位考试试题及答案

《数据库原理》学位考试试题 一、单项选择题(本大题共10小题,每小题2分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,错选、多选或未选均无分。 1.在数据库三级模式间引入二级映象的主要作用是( A ) A.提高数据与程序的独立性B.提高数据与程序的安全性 C.保持数据与程序的一致性D.提高数据与程序的可移植性 2.如何构造出一个合适的数据逻辑结构是(C )主要解决的问题。 A.关系系统查询优化B.数据字典 C.关系数据库规范化理论D.关系数据库查询 3.如果事务T已在数据R上加了X锁,则其他事务在数据R上( D ) A.只可加X锁 B.只可加S锁 C. 可加S锁或X锁 D. 不能加任何锁 4.关系规范化中的删除异常是指 ( D ) A.不该删除的数据被删除B.不该插入的数据被插入 C.应该删除的数据未被删除D.应该插入的数据未被插入 5.有一名为“列车运营”实体,含有:车次、日期、实际发车时间、实际抵达时间、情况摘要等属性,该实体主码是( C ) A.车次B.日期 C.车次+日期D.车次+情况摘要 6. 对数据库物理存储方式的描述称为( B ) A.外模式B.内模式 C.概念模式D.逻辑模式 7. 关系R与关系S只有1个公共属性,T1是R与S作θ连接的结果,T2是R与S作自然连接的结果, 则(D )。 A. T1的属性个数等于T2的属性个数 B. T1的属性个数小于T2的属性个数 C. T1的属性个数大于或等于T2的属性个数 D. T1的属性个数大于T2的属性个数 8. 一个关系模式R(x1, x2, x3, x4),假定该关系存在着如下函数依赖: x1→x2,x1→x3,x3→x4,则该关系属于(A )。 A. 2NF B. 3NF C. 4NF D. BCNF 9. 把对关系SPJ的属性QTY的修改权授予用户李勇的T-SQL语句是( C ) A. GRANT QTY ON SPJ TO '李勇' B. GRANT UPDATE(QTY) ON SPJ TO '李勇' C. GRANT UPDATE (QTY) ON SPJ TO 李勇 D. GRANT UPDATE ON SPJ (QTY) TO 李勇

数据库上机实验(有答案)

数据库上机实验内容及要求(第二部分) 1.建立工厂管理数据库 工厂(包括厂名和厂长名)需要建立一个管理数据库存储以下信息: (1)一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和联系电话; (2)一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种; (3)一个车间生产多种产品,产品有产品号和价格;每种产品只能由一个车间生产; (4)一个车间制造多种零件,一种零件也可能为多个车间制造。零件有零件号、重量和价格; (5)一种产品可由多种零件组成,一种零件也可以装配出多种产品; (6)产品和零件均存入仓库; (7)厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。 根据以上需求分析结果,按照下述要求,设计并建立工厂管理数据库。 ◆分析实体及联系,设计E-R图。 ◆将E-R图转换成关系模式,并规范化到3NF。 ◆在Microsoft SQL Server2000中基于“企业管理器”建立数据库及相关对象(主 码,外码,索引,约束等)。 ◆测试数据入库 2.基于“查询分析器”,完成并保存下述题目的SQL脚本 (1)建立“工种”是“钳工”的所有职工详细信息的视图; create view View_工人_钳工 as select* from职工表 where工种='钳工' with check option (2)建立“车间号”是“CJ01”的钳工详细信息的视图; create view View_钳工_CJ01 as select* from View_工人_钳工 where车间号='CJ01' (3)建立使用了“零件号”是“LJ0002”的所有产品详细信息的视图; create view View_产品_零件LJ0002 as select产品表.产品号,价格,车间号,仓库号 from装配表,产品表 where装配表.产品号=产品表.产品号and零件号='LJ0002'(4)对零件表按照“零件号”建立唯一索引; create unique index Index_U_零件号on零件表(零件号) (5)对职工表按照“性别”建立聚簇索引; create clustered index Index_C_性别on职工表(性别) (6)查询使用了“零件号”是“LJ0002”的产品的生产车间号;

数据库作业答案

班级:自动化3班姓名:方超

数据库作业解答: 第二章 1、指明下列实体间联系的种类: (1)教研室和教师(假设一个教师只属于一个教研室,一个教研室可有多名教师)。 答:一对多 (2)商店和顾客。 答:多对多 2、指出下列关系模式的主码: (1)考试情况(课程名,考试性质,考试日期,考试地点)。假设一门课程在不同的日期可以有多次考试,但在同一天只能考一次。多门不同的课程可以同时进行考试。 答:课程名、考试日期 (2)教师授课(教师号,课程号,授课时数,学年,学期)。假设一名教师在同一学年和

学期可以讲授多门课程,也可以在不同学年和学期多次讲授同一门课程,对每门课程的讲授都有一个授课时数。 答:课程号、学年、学期 (3)图书借阅(书号,读者号,借书日期,还书日期)。假设一个读者可以在不同的日期多次借阅同一本书,一个读者可以同时借阅多本不同的图书,一本书可以在不同的时间借给不同的读者。但一个读者不能在同一天对同一本书借阅多次。 答:书号、读者号、借书日期 第三章 1、数据完整性的含义是什么? 答:数据的完整性是为了防止数据库中存在不符合应用语义的数据,为了维护数据的完整性,数据库管理系统提供了一种机制来检查数据库中的数据,看其是否满足语义规定的条件。这些加在数据库数据之上的语义约束条件就是数据完整性约束条件。 2、在对数据进行什么操作时,系统检查Default约束?进行什么操作时,检查Check约束? 答:插入操作且省略了某些列的值时检查DEFAULT约束。插入和修改操作检查CHECK 约束。 3、UNIQUE约束的作用是什么? 答:限制列的取值不重复。 第六章

数据库试题及答案汇编

《数据库技术与应用》样题 一、选择题( 共 30 分,1--20 每小题 1 分,21—25 每小题 2 分。下列各题 A )、B)、 C)、D)四个选项中,只有一个选项是正确的 ) 1 在 SQL Server 中,关于视图的正确叙述是 A)视图与数据库表相同,用来存储数据B)视图不能同数据库表进行连接操作 C)在视图上不能进行更新操作D)视图是从一个或多个数据库表导出的虚拟表 2 SQL 是那几个英文单词的缩写 A)Standard Query LanguageB)Structured Query Language C) Select Query LanguageD)以上都不是 3 不属于 SQL Server 系统全局变量的是()。 A 、@@ErrorB 、@@ConnectionC 、@@Fetch_StatusD 、@Records 4 下面描述错误的是() A 、每个数据文件中有且只有一个主数据文件 B 、日志文件可以存在于任意文件组中 C 、主数据文件默认为 primary 文件组 D 、文件组是为了更好地实现数据库文件组织 5 SQL Server 数据库文件有三类,其中主数据文件的后缀为( ) A 、.mdfB 、.ldfC 、.ndfD 、.idf 6、下面标识符不合法的是( ) A 、[my delete]B 、_mybaseC 、$moneyD 、trigger1 7 下面字符串能与通配符表达式[ABC]%a 进行匹配的是() A 、BCDEFB 、A_BCDC 、ABC_aD 、A% 8、下面对索引的相关描述正确的是()列值唯一的列适合间索引 A 、经常被查询的列不适合建索引B 、列值惟一的列适合建索引 C 、有很多重复值的列适合建索引D 、是外键或主键的列不适合建索引 9、在“连接”组中有两种连接认证方式,其中在( )方式下,需要客户端应用程序连接 时提供登录时需要的用户标识和密码。 A 、Windows 身份验证B 、SQL Server 身份验证 C 、以超级用户身份登录时D 、其他方式登录时 10、索引是在基本表的列上建立的一种数据库对象,它同基本表分开存储,使用它能够加快 数据的( )速度。 A 、插入B 、修改C 、删除D 、查询 在where 子句中出现频率较高的列应尽量创建索引 11、以下哪种情况应尽量创建索引( ) A 、在 Where 子句中出现频率较高的列B 、具有很多 NULL 值的列 C 、记录较少的基本表D 、需要更新频繁的基本表 12、域完整性用于保证给定字段中数据的有效性,它要求表中指定列的数据具有正确的数据 类型、格式和有效的( )。 A 、数据值B 、数据长度C 、取值范围D 、以上都不是 13 以下不属于表之间定义关系的是 A)一对一关系B) 一对多关系C) 多对多关系D) 少对多关系 14 目前数据库有三种基本的数据模型是 ________ 。 A 、 层次模型、网络模型、关系模型B 、对象模型、网络模型、关系模型 网络模型、对象模型、层次模型D 、层次模型、关系模型、对象模型 15 从“产品”表里查询出价格高于产品名称为“海天酱油”的产品的记录,此 SQL 语句为 A 、SELECT * FROM 产品WHERE 价格>海天酱油

全国计算机三级数据库技术上机试题100道

1.【考点分析】本题考查对4位整数的排序。考查的知识点主要包括:数组元素的排序算法,if判断语句和逻辑表达式,以及求余算术运算。 【解题思路】此题属于4位数排序问题。本题需主要解决3个问题:问题1如何取4位数的后3位进行比较;问题2如何按照题目要求的条件(按照每个数的后3位的大小进行降序排列,如果后3位相等,则按照原始4位数的大小进行升序排列)排序;问题3如何将排完序的前10个数存到数组bb中去。 本题的解题思路为:使用双循环对数组按条件进行排序,然后将排完序的前10个数存到数组bb中。对于问题1可以通过算术运算的取余运算实现(aa[i]%1000);问题2通过包含if判断语句的起泡排序法就可以实现。 【参考答案】 void jsSort() { int i,j; /*定义循环控制变量*/ int temp; /*定义数据交换时的暂存变量*/ for(i=0;i<199;i++) /*用选择法对数组进行排序*/ for(j=i+1;j<200;j++) { if(aa[i]%1000aa[j]) /*则要按原4位数的值进行升序排序*/ { temp=aa[i]; aa[i]=aa[j]; aa[j]=temp; } } for(i=0;i<10;i++) /*将排序后的前10个数存入数组b中*/ bb[i]=aa[i]; } 【易错提示】取4位数后三位的算法,if判断语句中逻辑表达式的比较运算符。 2.【考点分析】本题主要考查的知识点包括:C语言循环结构,if判断语句和逻辑表达式,以及分解多位整数的算术运算。 【解题思路】分析题干,本题除给出条件"SIX+SIX+SIX = NINE+NINE"之外,还可得出2个隐含的条件:条件1:SIX和NINE分别是3位和4位的正整数;条件2:SIX的十位数字等于NINE的百位数字,NINE的千位数字和十位数字相等。 本题解题思路:通过嵌套的循环结构可以遍历到所有的3位和4位数,对于每一个3位数及4位数的组合进行题设条件(SIX+SIX+SIX = NINE+NINE)的判断,满足条件的对其分解得到各数位的数字,再进一步判断各位数字是否满足本题隐含的条件(条件1及条件2),如果满足则个数加1,并将该3位数及4位数添加到和值中。 【参考答案】 void countValue() { int i,j; int s2; int n2,n3,n4; for(i=100;i<1000;i++)

相关文档
相关文档 最新文档