数据库系统原理及应用答案

数据库系统原理及应用答案
数据库系统原理及应用答案

数据库系统原理及应用实验指导书

(本科)

福建工程学院计算机与信息科学系

目录

实验一数据定义语言 (2)

实验二SQL Sever中的单表查询 (5)

实验三SQL Serve中的连接查询 (8)

实验四SQL Serve的数据更新、视图 (11)

实验五数据控制(完整性与安全性) (16)

实验六语法元素与流程控制 (19)

实验七存储过程与用户自定义函数 (23)

实验八触发器 (27)

实验一数据定义语言

一、实验目的

1.熟悉SQL Server2000/2005查询分析器。

2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表

的定义、删除与修改,掌握索引的建立与删除方法。

3.掌握SQL Server2000/2005实现完整性的六种约束。

二、实验内容

1.启动SQL Server2000/2005查询分析器,并连接服务器。

2.创建数据库: (请先在D盘下创建DB文件夹)

1)在SQL Server2000中建立一个StuDB数据库:

有一个数据文件:逻辑名为StuData,文件名为“d:\db\StuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB;

有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10%

2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。

3.设置StuDB为当前数据库。

4.在StuDB数据库中作如下操作:

设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE),

其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。

写出实现下列功能的SQL语句。

(1)创建表S;

(2)刷新管理器查看表是否创建成功;

(3)右击表S插入3个记录:95031班25号李明,男性,21岁;

95101班10号王丽,女性,20岁;

95031班座号为30,名为郑和的学生记录;

(4)将年龄的数据类型改为smallint;

(5)向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime);

(6)对表S,按年龄降序建索引(索引名为inxage);

(7)删除S表的inxage索引;

(8)删除S表;

5.在StuDB数据库中,

(1)按照《数据库系统概论》(第四版)P82页的学生-课程数据库创建STUDENT、COURSE 和SC三张表,每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。

并输入相关数据。

(2)将StuDB数据库分离,在D盘下创建DB文件夹下找到StuDB数据库的两个文件,进行备份,后面的实验要用到这个数据库。

三、实验总结

通过本次实验大致熟悉了SQL Server2000/2005/2008查询分析器.对SQL Server2000/2005实现完整性的六种约束有所了解,但是对表的关联还不是很明白,我会去看书加深理解。

实验二SQL Sever中的单表查询

一、实验目的:

1.掌握SQL语言的DML子语言,在SQL Server2000/2005环境下采用Transact-SQL的

SELECT语句熟练掌握各种单表查询方法。

二、实验内容:

(一) 附加上次实验备份的StuDB数据库和SPJ数据库。

(二) 按照《数据库系统概论》P82页中的学生课程数据库及数据实现以下查询:

1.查询所有课程的课号,课程名。

2.查询计算机系年龄不到21岁的所有男生的姓名和出生年份。

3.查询已被学生所选课程的课程号。

4.查询所有有成绩的学生学号和课程号,并为各列分别取相应的中文别名。

(三) 按照《数据库系统概论》P75页中的SPJ数据库及数据实现以下查询:

1.查询地点在‘北京’、‘上海’的供应商代码和供应商名字。

2.查询供应商名中包含‘方’这个汉字的供应商信息。

3.查询零件名以‘刀’字结尾,包含三个汉字的零件信息。

4.查询使用了供应商S1所供应零件的工程项目数。

5.查询各个供应商所供应的零件的总数,要求对查询结果降序显示。

6.查询供应了3个以上项目的供应商代码和供应的项目总数。

加上group by

直接用COUNT(JNO)>3结果一致

三、实验要求:

1.根据实验内容认真写好实验报告,记录每个步骤正确的Transact-SQL命令。

2.无须记录正确的查询结果。但要求记录实验过程中发生的有学习意义的错误及错误信

息。

四、实验小结

通过本次实验,基本上掌握了SQL Sever中的单表查询,但对group by 语句不是很了解。还有where子句与having短语的区别,作用对象不同,where作用于基本表或视图,having 作用于组,这里的组怎么理解?

实验三SQL Serve中的连接查询

一、实验目的:

1.掌握采用Transact-SQL实现连接查询。

2.掌握等值连接(自然连接)、自身连接、外连接和复合条件连接的查询方法。

二、实验内容:

按照《数据库系统概论》P82页中的学生课程数据库和P75页中的SPJ数据库完成以下查询

(1)查询使用红色零件的工程名称。

--(1) 查询使用红色零件的工程名称。

SELECT DISTINCT JNAME

FROM P,J,SPJ

WHERE COLOR='红'AND P.PNO=SPJ.PNO AND J.JNO=SPJ.JNO;

(2)查询每个工程的信息及相应的供应信息(包括列出尚未被供应零件的那些工程)。

--(2) 查询每个工程的信息及相应的供应信息(包括列出尚未被供应零件的那些工程)。SELECT DISTINCT*

FROM J LEFT OUTER JOIN SPJ ON(J.JNO=SPJ.JNO);

(3)查询供应工程J1红色零件的供应商号SNO,请用两种方法实现。

--(3) 查询供应工程J1红色零件的供应商号SNO,请用两种方法实现。

第一种:

SELECT DISTINCT SNO

FROM P,SPJ

WHERE COLOR='红'AND P.PNO=SPJ.PNO AND JNO='J1';

第二种:

SELECT SNO

FROM SPJ

WHERE PNO IN

(SELECT PNO

FROM P

WHERE COLOR ='红'

)AND JNO='J1'

(4)求供应工程J1零件的供应商的完整信息。

--(4)求供应工程J1零件的供应商的完整信息。

SELECT*

FROM S

WHERE SNO IN

(SELECT SNO

FROM SPJ

WHERE JNO='J1'

);

(5)查询使用北京供应商供应零件的工程信息。

(6)查询选修3号课程且成绩在85分以上的所有学生。

(7)查询先行课的学分为4的课程信息。

(8)查询课程与其间接先行课的名称。

(9)查询其他系中比计算机科学系所有学生年龄都小的学生完整信息,用两种方法实现。

(10)查询其他系中比计算机科学系某一学生年龄大的学生姓名与年龄,用两种方法实现。

(11)(可选)查询至少用了供应商S1所供应的所有零件的工程号JNO,用带EXISTS谓

词的子查询实现。

SELECT JNO

FROM J

WHERE EXISTS

(SELECT*

FROM SPJ

WHERE JNO=J.JNO AND SNO='S1')

(12)(可选)查询使用了全部零件的工程号JNO,用带EXISTS谓词的子查询实现。

--不会

(13)(可选)查询所有使用了P3零件的工程号JNO,用带EXISTS谓词的子查询实现。SELECT JNO

FROM J

WHERE EXISTS

(SELECT*

FROM SPJ

WHERE JNO=J.JNO AND PNO='P3')

三、实验要求:

1.写出正确的Transact-SQL命令。

2.无须记录正确的查询结果。要求记录实验过程中发生的有学习意义的错误及错误信息。

四、实验小结

通过实验大致掌握了等值连接(自然连接)、自身连接、外连接和复合条件连接的查询方法。实验过程中最纠结的就是12题,使用了全部零件就是说pno从p1到p6在同一个工程中

都有,那么这该怎么表示呢?

实验四 SQL Serve的数据更新、视图

实验时间:2012-3-27

实验地点:c2-101

一、实验目的:

1.掌握采用Transact-SQL实现嵌套查询。

2.掌握采用Transact-SQL实现数据更新。

3.掌握采用Transact-SQL实现视图的定义、删除、查询与更新。

二、实验内容

按照《数据库系统概论》P82页中的学生课程数据库和P75页中的SPJ数据库完成以下操作:

(一)数据更新

1)一个学生:张红,女,200215135,信息系,20岁

2)一个选课记录:200215135,1,成绩未定

3)算机系所有学生的年龄加1岁

4)删除所有200215130学生的选课记录

5)删除所有姓张的同学的信息

6)行设计案例对学生-课程数据库的数据更新,并观察是否有违反数据的完整性约束。

(二)视图

1)创建一个学生成绩统计视图,包括学号,姓名,选课门数,平均分,最高分,最低分

2)利用上题所建视图实现:

①查询成绩高于自己平均成绩的选课记录

②查询每个同学获得最高分的选课记录

3)请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。

建立该视图:

针对该视图完成下列查询:

①找出三建工程项目使用的各种零件代码及其数量;

②找出供应商S1的供应情况;

四、实验小结

删除姓张的全部信息时忽视了关系的完整性,没意识到表级完整性约束条件,导致不能直接在Student表中删除记录。先把SC表中的有关姓张的学生先给删除掉,解除关联,再从student表中删除相关信息。

对于group by的使用仍然不是很清楚。如以上创建视图的时候为什么要

group by student.Sno,sname~~等等

实验五数据控制(完整性与安全性)

一、实验目的:

1.通过实验加深对数据库完整性与数据库安全性的理解;

2.掌握SQLServer对数据进行安全性控制的方法

二、实验内容和要求

(一)数据库完整性

某公司使用数据库进行内部管理:表Employees存储雇员的代号(整型,标识位,种子1000001,增量为1,主键)、身份证号码(18个字符)、名字(最长20个字符)和工资等信息;表Departments存储部门的部门号(2个字符,唯一,主键)、部门名称(30个字符)等信息;表Work每一行表示某雇员在某部门工作过及其开始工作时间和备注。

请写出创建这三个表的SQL语句,要保证:工资的值大于0,身份证号码唯一,开始工作时间非空,默认值为当前时间。

--创建表Employees

CREATE TABLE Employees

(Eno INT IDENTITY(1000001,1)PRIMARY KEY,

EID CHAR(18)CHECK(Len(Ltrim(RTRIM(EID)))=18)UNIQUE,

Ename Char(20)not null,

Egz int CHECK(Egz>0)

)

--创建表Departments

CREATE TABLE Departments

(Dno CHAR(2)PRIMARY KEY,

Dname CHAR(30)UNIQUE

)

--创建表Work

CREATE TABLE Work

(Eno INT,

Dname CHAR(30),

WorkTime datetime default getdate()not null,

Memo char(100),

PRIMARY KEY(Eno,Dname),

FOREIGN KEY(Eno)REFERENCES Employees(Eno),

FOREIGN KEY(Dname)REFERENCES Departments(Dname)

)

(二)以sa登录查询分析器,输入下列代码并执行

第1行exec sp_addlogin 's1','123'

第2行use StuDB

第3行exec sp_grantdbaccess 's1','u1'

第4行grant select,insert,update on student to public

第5行grant all on student to u1

第6行revoke select on student to u1

问:

1)第1行创建了一个名为s1登录帐户,请问'123'的含义是什么?

账户s1的密码

2)第3行将登录帐户s1映射到数据库用户u1上,它将作为哪个数据库的用户?

StuDB数据库

3)请解释4到6行的含义

第4行grant select,insert,update on student to public

--把在student表上查询,插入修改的权限给所有用户

第5行grant all on student to u1

--在student上的全部权限给u1

第6行revoke select on student to u1

--回收u1对student表的查询权限

4)在查询分析器中以s1帐户连接服务器,能否对学生-课程数据库的student表进行select 操作,为什么?

(提示:废除权限是删除已授予的权限,并不妨碍用户、组或角色从更高级别继承已授予的权限。因此,如果废除用户查看表的权限,不一定能防止用户查看该表,因为已将查看该表的权限授予了用户所属的角色。)

可以select 因为s1从超级用户那里也被被授予select的权限

5) 切换回sa用户的查询窗口,输入下面代码并执行

deny select on student to u1

请问该代码含义?

取消u1的查询权限

再切换至s1的查询窗口,能不能对student 表进行查询操作?为什么?

不能,因为角色u1select已经被回收了,这条命令是把s1从超级用户那里获得的select权限也回收了,所以不能进行查询操作了。

(三)请完成以下操作,并记录完整语句。在实验过程注意验证语句的执行效果。

(1)需要为学生-课程数据库,创建一用户,该用户以“SQL Server身份验证”方式登录SQL Server 服务器的账号为学生自己的姓名,密码为“123”。

exec sp_addlogin'xiezhenjia','123'

use studb

(2)给该登录用户映射到数据库用户user2上,并赋予该用户对student表的sno、sname两列的查询权限,对sc表的所有操作权限及对course的查询权限。

(请先执行revoke select on student from public

Revoke all on sc from public

注:新建用户自动被加入到public角色中)

revoke select on student from public

Revoke all on sc from public

exec sp_grantdbaccess'xiezhenjia','user2'

grant select(sno,sname)

on student

to user2

grant select,update,delete,insert

on sc

to user2

grant select

on course

to user2

(3)请分析、验证数据库用户user2的权限。

1)、对student的sno以及sname有查询权限

2)、对sc表有所有权限

3)、对course有查询权限

(4)用户user2授予对course表的插入操作权限,并允许将此权限授予其它用户grant insert

on course

to user2

with grant option

(5)收回授予user2对sc表的所有权限

revoke select,insert,delete,update

on sc

from user2

(6)创建一个角色R1

create role r1

(7)然后使用GRANT语句,使角色R1拥有SC表的SELECT、UPDATE、INSERT grant select,update,insert

on sc

to r1

(8)将这个角色授予user2。使它具有角色R1所包含的全部权限。

grant r1

to user2

三、实验要求:

1)写出正确的Transact-SQL命令。

2)无须记录正确的查询结果。要求记录实验过程中发生的有学习意义的错误及错误信息。

四、实验小结

刚开始在机房里面做的时候附加进来的数据库属性是只读的,不知道是什么情况。就是没有把错误记录下来。通过实验对数据的安全性更为熟悉。

实验六语法元素与流程控制

一、实验目的:

1)掌握Transact-SQL局部变量的声明、赋值和使用方法以及全局变量的运用方法,掌握Transact-SQL的局部变量的作用域概念。

2)掌握Transact-SQL的控制流语言的使用方法。

3)掌握与控制流语言语句一起使用的其它Transact-SQL 语句:

CASE、/*...*/(注释)、--(注释)、PRINT。

二、实验内容和要求

1、使用局部变量、全局变量

(1)定义一个int的整型变量,为其赋值45,并显示变量的值。

declare @var int

set @var=45

select @var 变量

go

(2)定义一个长度为20的可变长度型字符变量,为其赋值“Welcome to FJUT”,并显示变量的值。

declare @var1 varchar(20)

set @var1='Welcome to FJUT'

select @var1 字符变量

go

(3)在批处理中声明两个局部变量@ssex和@sdept并对它们赋值,对Student表进行查询,要求两局部变量在SELECT 语句的WHERE 子句中被使用,查询的要求是性别为‘女’或所在系为‘IS’系的那些学生。

declare @ssex char(2),@sdept char(20)

set @ssex='女'

set @sdept='IS'

select*from student

where ssex=@ssex or sdept=@sdept

go

(4)查询当前数据库服务器名。

select@@SERVERNAME

结果:

(5)查询当前数据库管理系统版本。

select@@VERSION

数据库系统原理教程课后习题答案

第1章绪论 1 .试述数据、数据库、数据库系统、数据库管理系统得概念。 答: ( l )数据( Data):描述事物得符号记录称为数据。数据得种类有数字、文字、图形、图像、声音、正文等。数据与其语义就是不可分得。解析在现代计算机系统中数据得概念就是广义得。早期得计算机系统主要用于科学计算,处理得数据就是整数、实数、浮点数等传统数学中得数据。现代计算机能存储与处理得对象十分广泛,表示这些对象得数据也越来越复杂。数据与其语义就是不可分得。500 这个数字可以表示一件物品得价格就是500元,也可以表示一个学术会议参加得人数有500 人,还可以表示一袋奶粉重500 克。(2)数据库( DataBase,简称DB) :数据库就是长期储存在计算机内得、有组织得、可共享得数据集合。数据库中得数据按一定得数据模型组织、描述与储存,具有较小得冗余度、较高得数据独立性与易扩展性,并可为各种用户共享。 ( 3 )数据库系统(DataBas。Sytem ,简称DBS):数据库系统就是指在计算机系统中引入数据库后得系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。解析数据库系统与数据库就是两个概念。数据库系统就是一个人一机系统,数据库就是数据库系统得一个组成部分。但就是在日常工作中人们常常把数据库系统简称为数据库。希望读者能够从人们讲话或文章得上下文中区分“数据库系统”与“数据库”,不要引起混淆。 ( 4 )数据库管理系统( DataBase Management sytem,简称DBMs ):数据库管理系统就是位于用户与操作系统之间得一层数据管理软件,用于科学地组织与存储数据、高效地获取与维护数据。DBMS 得主要功能包括数据定义功能、数据操纵功能、数据库得运行管理功能、数据库得建立与维护功能。解析DBMS 就是一个大型得复杂得软件系统,就是计算机中得基础软件。目前,专门研制DBMS 得厂商及其研制得DBM S产品很多。著名得有美国IBM 公司得DBZ 关系数据库管理系统与IMS层次数据库管理系统、美国Oracle 公司得orade 关系数据库管理系统、s油ase 公司得s 油ase关系数据库管理系统、美国微软公司得SQL Serve ,关系数据库管理系统等。 2 .使用数据库系统有什么好处? 答: 使用数据库系统得好处就是由数据库管理系统得特点或优点决定得。使用数据库系统得好处很多,例如,可以大大提高应用开发得效率,方便用户得使用,减轻数据库系统管理人员维护得负担,等等。使用数据库系统可以大大提高应用开发得效率。因为在数据库系统中应用程序不必考虑数据得定义、存储与数据存取得具体路径,这些工作都由DBMS来完成。用一个通俗得比喻,使用了DBMS 就如有了一个好参谋、好助手,许多具体得技术工作都由这个助手来完成。开发人员就可以专注于应用逻辑得设计,而不必为数据管理得许许多多复杂得细节操心。还有,当应用逻辑改变,数据得逻辑结构也需要改变时,由于数据库系统提供了数据与程序之间得独立性,数据逻辑结构得改变就是DBA 得责任,开发人员不必修改应用程序,或者只需要修改很少得应用程序,从而既简化了应用程序得编制,又大大减少了应用程序得维护与修改。使用数据库系统可以减轻数据库系统管理人员维护系统得负担。因为DBMS 在数据库建立、运用与维护时对数据库进行统一得管理与控制,包括数据得完整性、安全性、多用户并发控制、故障恢复等,都由DBMS执行。总之,使用数据库系统得优点就是很多得,既便于数据得集中管理,控制数据冗余,提高数据得利用率与一致性,又有利于应用程序得开发与维护。读者可以在自己今后得工作中结合具体应用,认真加以体会与总结。 3.试述文件系统与数据库系统得区别与联系。 答: 文件系统与数据库系统得区别就是:文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。数据库系统面向现实世界,共享性高,冗余度小,具有较高得物理独立性与一定得逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据得安全性、完整性、并发控

数据库系统原理及应用教程第四版课后答案

第一章 1、(1)数据:数据用于载荷信息的物理符号。 (2)数据的特征;○1数据有“型”与“值”之分;○2数据受数据类型与取值范围的约束;○3数据有定性表示与定量之分;○4数据应具有载体与多种表现形式。 3、(1)数据管理的功能: ○1组织与保存数据功能,即将收集到的数据合理地分类组织,将其存储在物理载体上,使数据能够长期的被保存; ○2数据维护功能,即根据需要随时进行插入新数据,修改原数据与删除失效数据的操作; ○3数据查询与数据统计功能,即快速的得到需要的正确数据,满足各种使用要求;○4数据的安全与完整性控制功能,即能保护数据的安全与完整性。 (2)数据管理的目标:收集完整的信息,将信息用数据表示,按数据结构合理科学的组织并保存数据;为各种使用快速地提供需要的数据,并保护数据的安全与完整性。 4、(1)数据库:就是数据管理的新方法与技术,她就是一个按数据结构来存储与管理数据的计算机软件系统。 (2)数据库中的数据具有的特点:○1数据库中的数据具有整体性,即数据库中的数据要保持自身完整的数据结构;○2数据库中的数据具有数据共享性,不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。 5、(1)数据库管理系统:它就是专门用于管理数据库的计算机管理软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询与统计等操作功能,并完成对数据完整性、安全性进行操作的功能。 (2)数据库管理系统主要功能:就是数据存储、数据操作与数据控制功能。其数据存储与数据操作就是:数据库的定义功能,指未说明库中的数据情况而进行的建立数据库结构的操作;数据库建立功能,指大批数据录入到数据库的操作,它使得库中含有需要保护的数据记录;数据库维护功能,指对数据的插入、删除与修改操纵,其操作做能满足库中信息变化或更新的需求;数据库查询与统计功能,指通过对数据库的访问,为实际应用提供需要的数据。数据库管理系统的数据控制功能为:数据安全性控制功能,即为了保证数据库的数据安全可靠,防止不合法的使用造成数据库泄露与破坏,也就就是避免数据被人偷瞧、篡改或破坏;数据库完整性控制功能,指为了保证数据库中的数据的正确、有效与相容,防止不合语意的错误数据被输入或输出。 14、(1)数据库系统的软件由几部分组成?数据库系统的软件中包括操作系统(OS)、数据库管理系统(DBMS)、主语言系统、应用程序软件与用户数据库。 (2)作用:①操作系统或汉字操作系统:操作系统就是所有计算机软件的基础,在数据库系统中它起着支持DBMS及主语言系统工作的作用。如果管理的信息中有汉字,则需要中文操作系统的支持,以提供汉字的输入、输出方法与汉字信息的处理方法。②数据库管理系统与主语言系统:数据库管理系统就是为定义、建立、维护、使用及控制数据库而提供的有关数据管理的系统软件。主语言系统就是为应用程序提供的诸如程序控制、数据输入输出、功能函数、图形处理、计算方法等数据处理功能的系统软件。③应用开发工具软件:应用开发工具就是DBMS系统为应用开发人员与最终用户提供的高效率、多功能的应用生成器、第四代计算机语言等各种软件工具.如报表生成器、表单生成器、查询与视图设计器等,它们为数据库系统的开发与使用提供了良好的环境与帮助。④应用系统及数据库:数据库应用系统包括为特定的应用环境建立的数据库、开发的各类应用程序及编写的文档资料,它们就是一个有机整体。通过运行数据库应用系统,可以实现对数据库中数据的维护、查询、管理与处理操作。(3)关系:

全国自考数据库系统原理历年试题及答案

2008年1月高等教育自学考试全国统一命题考试 数据库系统原理试卷 4735 一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.数据库在磁盘上的基本组织形式是( B ) A.DB B.文件 C.二维表D.系统目录 2.ER(实体联系模型)模型是数据库的设计工具之一,它一般适用于建立数据库的( A ) A.概念模型B.逻辑模型 C.内部模型D.外部模型 3.数据库三级模式中,用户与数据库系统的接口是( B ) A.模式B.外模式 C.内模式D.逻辑模式 4.在文件系统中,所具有的数据独立性是( D ) A.系统独立性

B.物理独立性 C.逻辑独立性 D.设备独立性 5.在DB技术中,“脏数据”是指( D ) A.未回退的数据 B.未提交的数据 C.回退的数据 D.未提交随后又被撤消的数据 6.关系模式至少应属于( A ) A.1NF B.2NF C.3NF D.BCNF 7.设有关系模式R(ABCD),F是R上成立的FD集,F={A→B,B→C},则属性集BD的闭包(BD)+为( B ) A.BD B.BCD C.BC D.CD 8.设有关系R如题8图所示:(C)

R 则 专业,入学年份(R)的元组数为 A.2 B.3 C.4 D.5 9.集合R与S的交可以用关系代数的基本运算表 示为( A ) A.R-(R-S) B.R+(R-S) C.R-(S-R) D.S-(R-S) l0.已知SN是一个字符型字段,下列SQL查询语 句( C ) SELECT SN FROM S WHERE SN LIKE′AB%′;的执行结果为 A.找出含有3个字符′AB%′的所有SN字段 B.找出仅含3个字符且前两个字符为′AB′的SN字段 C.找出以字符′AB′开头的所有SN字段

专科《数据库原理与应用》_试卷_答案

专科《数据库原理与应用》 一、(共66题,共150分) 1. 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中在( ),程序员可能需要设计数据在内存中的物理地址。(2分) A.数据库系统 B.文件系统 C.人工管理 D.数据项管理 .标准答案:C 2. 在关系模式中,如果属性A和B存在1对1的联系,则存在( ) 依赖关系。(2分) A. B. C. D.以上都不是 .标准答案:C 3. 关系模型支持( ) 的数据结构。(2分) A.线性结构 B.树结构 C.图结构 D.集合结构 .标准答案:D 4. 在数据库三级模式结构中,内模式是( ) 的视图。(2分) A.计算机世界 B.信息世界 C.现实世界终端用户 D.数据库管理员 .标准答案:A 5. 关系模型的参照完整性要求( ) 。(2分) A.一个关系必须有外码 B.外码必须是父关系的主属性 C.外码所在的关系即子关系必须和父关系是不同关系 D.外码或为空或为父关系对应主码的值 .标准答案:B 6. SQL语言中的DELETE命令属于( ) 。(2分) A.数据定义语言 B.数据操作语言 C.数据控制语言 D.数据查询语言 .标准答案:B 7. ( ) 是数据库系统概论的直接先导课程之一。(2分) A.大学物理 B.汇编语言 C.数据结构 D.模拟电路 .标准答案:C 8. 数据库管理系统简称DBMS,下列系统软件中,( ) 是具有DBMS功能的软件。(2分) A.Microsoft Office Word B.Microsoft Office PowerPoint C.Microsoft Office Outlook D.Microsoft Office Access .标准答案:D 9. SQL语言的数据查询语言SELECT命令语法接近自然语言,下列子句中( ) 是SELECT命令语法规定必须有的部分。(2分) A.FROM子句 B.GROUP BY子句 C.ORDER BY子句 D.INTO子句 .标准答案:A 10. 下面术语中( ) 是数据库系统原理与应用课程的关键词。(2分) A.数据模型 B.编程语言 C.软件体系结构 D.数据转换 .标准答案:A 11. 因为关系数据库的查询优化技术,用户程序员不用了解数据库中数据的物理存储结构,也能编写高效率的程序。(2分) ( ) .标准答案:正确 12. 关系操作中的投影运算必须有两个关系同时参与运算才能得到正确的结果。(2分) ( ) .标准答案:错误 13. DBTG中的系是一棵二级树,表示的是系主记录型(Owner)和成员记录型(member)之间一对多的关系,但两个记录之间可以定义多个系。(2分) ( ) .标准答案:正确 14. DBMS作为一种大型的系统软件,可以通过相关技术绕过操作系统,直接管理存储在硬盘上的数据。(2分) ( ) .标准答案:错误 15. 数据模型的是三要素指,数据结构、数据操作和完整性约束条件。其中数据结构是描述系统的静态特性的,数据操作是描述系统动态特性的。(2分) ( ) .标准答案:正确 16. 在数据库中,数据独立性是指数据之间相互独立,互不依赖。(2分) ( ) .标准答案:错误 17. SQL语言的视图对应三级模式的外模式,表对应模式,所以用户程序只能使用视图而不能直接使用表来查询和操作数据库中的数据。(2分) ( )

数据库系统原理课后答案 第九章

9.1 名词解释 (1)OODBS:是指面向对象数据库系统,它既具数据库管理的基本功能,又能支持面向对象的数据模型。 (2)ORDBS:基于对象关系数据模型的DBS称为对象关系数据库系统(ORDBS)。 (3)平面关系模型:传统的关系模型称为“平面关系模型”,它要求关系模式具有第一范式(1NF)性质,关系具有规范化的结构。也就是规定属性值是不可分解的,即不允许属性值具有复合结构(元组或关系)。 (4)嵌套关系模型:是从平面关系模型发展而成的。它允许关系的属性值又可以是一个关系,而且可以出现多次嵌套。嵌套关系突破了1NF的定义框架,是“非1NF关系”。 (5)复合对象模型:在嵌套关系模型上进一步放宽要求。在关系定义上,集合与元组不再有交替出现的严格限制,此时的关系中,属性类型可以是基本数据类型、结构类型(元组类型)或集体类型(即关系类型)。 (6)数据的泛化/细化:是对概念之间联系进行抽象的一种方法。当在较低层上的抽象表达了 与之联系的较高层上抽象的特殊情况时,就称较高层上抽象是较低层上抽象的"泛化",而较低层上抽象是较高层上抽象的"细化"。 (7)对象关系模型:在传统关系数据基础上,提供元组、数组、集合等更为丰富的数据类型及处理新数据类型操作的能力而形成的数据模型。(注:传统关系模型只支持字符、数值、字串,布尔值等等基本数据类型及其处理功能) (8)类型级继承性:当继承性发生在类型级时,子类型继承了超类型的属性。也就是说,超类型所具有的属性,在子类上也具有。 (9)表级继承性:继承性也可发生在表级,(就是元组集合上发生继承),子表继承超表全部属性,超表中每个元组最多可以与子表中一个元组对应,而子表中的每个元组在超表中恰有一个元组对应,并在继承的属性值上具有相同的值。 (10)引用类型:数据类型可以嵌套定义,在嵌套引用时,不是引用对象本身,而是个用对象标识符(即指针),这种指针被称为引用类型。 (11)对象:客观世界中的实体经过抽象称为问题空间中的对象,它是对一组信息及其操作的描述。 (12)类:是具有相同的变量名和类型、相同的消息和使用方法的对象的集合。 (13)单重继承性:一个子类继承某一个超类的结构和特性,称为单重继承性。 (14)多重继承性:一个子类继承多个超类的结构和特性,称为多重继承性。 (15)对象标识:在面向对象语言中,对象标识是一个指针一级的概念,在对象创建的瞬间,由系统赋给每个对象一个“标识”,即系统内的一个唯一的指针,在对象生存期内,这个标识不可改变。 (16)对象包含:不同类的对象之间存在的包含关系称为对象包含。包含是一种“一部分”(is part of)的联系。 (17)类继承层次图:表示类继承关系的图,由超类名、子类名和一组线条自上而下有序的表示。(18)类包含层次图:表示对象包含关系的图,由一些具有包含关系的对象和线条自上而下表示(下方的对象为其连线所指上方对象的一部分)。 (19)持久数据:是指创建这些数据的程序运行终止后数据依然存在于系统之中。数据库中的关系就是持久数据。 (20)持久对象:程序运行结束后,被保留下来的对象称为持久对象。 (21)持久指针:持久指针可看作是数据库中指向对象的指针。持久化指针不像内存中的指针,它在程序执行后及数据重组后仍保持有效。 (22)持久化C++系统: 基于C++的持久化扩充的OODBS。

数据库系统原理(2018年版)课后习题参考答案解析

答案仅供参考 第一章数据库系统概述 选择题 B、B、A 简答题 1.请简述数据,数据库,数据库管理系统,数据库系统的概念。 P27 数据是描述事物的记录符号,是指用物理符号记录下来的,可以鉴别的信息。 数据库即存储数据的仓库,严格意义上是指长期存储在计算机中的有组织的、可共享的数据集合。 数据库管理系统是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。数据库系统是指在计算机中引入数据库技术之后的系统,包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户。 2.请简述早数据库管理技术中,与人工管理、文件系统相比,数据库系统的优点。 数据共享性高 数据冗余小 易于保证数据一致性 数据独立性高 可以实施统一管理与控制 减少了应用程序开发与维护的工作量 3.请简述数据库系统的三级模式和两层映像的含义。 P31 答: 数据库的三级模式是指数据库系统是由模式、外模式和内模式三级工程的,对应了数据的三级抽象。 两层映像是指三级模式之间的映像关系,即外模式/模式映像和模式/内模式映像。 4.请简述关系模型与网状模型、层次模型的区别。 P35 使用二维表结构表示实体及实体间的联系 建立在严格的数学概念的基础上 概念单一,统一用关系表示实体和实体之间的联系,数据结构简单清晰,用户易懂易用 存取路径对用户透明,具有更高的数据独立性、更好的安全保密性。

第二章关系数据库 选择题 C、C、D 简答题 1.请简述关系数据库的基本特征。P48 答:关系数据库的基本特征是使用关系数据模型组织数据。 2.请简述什么是参照完整性约束。 P55 答:参照完整性约束是指:若属性或属性组F是基本关系R的外码,与基本关系S的主码K 相对应,则对于R中每个元组在F上的取值只允许有两种可能,要么是空值,要么与S中某个元组的主码值对应。 3.请简述关系规范化过程。 答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。 第三章数据库设计 选择题 B、C、C 简答题 1. 请简述数据库设计的基本步骤。 P66 需求分析设计;概念结构设计;逻辑结构设计;物理结构设计;数据库设计;数据库的运行和维护。 2. 请分别举例说明实体之间联系的三种表现情形。 P74 一对一联系:对于实体集A中的每个实体,实体集B中最多只有一个实体与之联系,反之亦然。举例:班级与班长,每个班只有一个班长,每个班长也只在一个班内任职。 一对多联系:对于实体集A中的每个实体,实体集B中有N个实体与之联系,反之,对于实体集B中的每个实体,实体集A中最多只有一个实体与之联系。举例:班级与班级成员,每个班级对应多个班级成员,每个班级成员只对应一个班级。 多对多联系:对于实体集A中的每个实体,实体集B中有N个实体与之联系,反之,对于实体集B中的每个实体,实体集A中有M个实体与之联系。举例:授课班级与任课教师,每个

(完整word版)数据库系统原理及应用教程第四版课后答案

第一章 1、(1)数据:数据用于载荷信息的物理符号。 (2)数据的特征;○1数据有“型”和“值”之分;○2数据受数据类型和取值范围的约束;○3数据有定性表示和定量之分;○4数据应具有载体和多种表现形式。 3、(1)数据管理的功能:○1组织和保存数据功能,即将收集到的数据合理地分类组织,将其存储在物理载体上,使数据能够长期的被保存;○2数据维护功能,即根据需要随时进行插入新数据,修改原数据和删除失效数据的操作;○3数据查询和数据统计功能,即快速的得到需要的正确数据,满足各种使用要求;○4数据的安全和完整性控制功能,即能保护数据的安全和完整性。 (2)数据管理的目标:收集完整的信息,将信息用数据表示,按数据结构合理科学的组织并保存数据;为各种使用快速地提供需要的数据,并保护数据的安全和完整性。 4、(1)数据库:是数据管理的新方法和技术,他是一个按数据结构来存储和管理数据的计算机软件系统。 (2)数据库中的数据具有的特点:○1数据库中的数据具有整体性,即数据库中的数据要保持自身完整的数据结构;○2数据库中的数据具有数据共享性,不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。 5、(1)数据库管理系统:它是专门用于管理数据库的计算机管理软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行操作的功能。 (2)数据库管理系统主要功能:是数据存储、数据操作和数据控制功能。其数据存储和数据操作是:数据库的定义功能,指未说明库中的数据情况而进行的建立数据库结构的操作;数据库建立功能,指大批数据录入到数据库的操作,它使得库中含有需要保护的数据记录;数据库维护功能,指对数据的插入、删除和修改操纵,其操作做能满足库中信息变化或更新的需求;数据库查询和统计功能,指通过对数据库的访问,为实际应用提供需要的数据。数据库管理系统的数据控制功能为:数据安全性控制功能,即为了保证数据库的数据安全可靠,防止不合法的使用造成数据库泄露和破坏,也就是避免数据被人偷看、篡改或破坏;数据库完整性控制功能,指为了保证数据库中的数据的正确、有效和相容,防止不合语意的错误数据被输入或输出。 14、(1)数据库系统的软件由几部分组成?数据库系统的软件中包括操作系统(OS)、数据库管理系统(DBMS)、主语言系统、应用程序软件和用户数据库。 (2)作用:①操作系统或汉字操作系统:操作系统是所有计算机软件的基础,在数据库系统中它起着支持DBMS及主语言系统工作的作用。如果管理的信息中有汉字,则需要中文操作系统的支持,以提供汉字的输入、输出方法和汉字信息的处理方法。②数据库管理系统和主语言系统:数据库管理系统是为定义、建立、维护、使用及控制数据库而提供的有关数据管理的系统软件。主语言系统是为应用程序提供的诸如程序控制、数据输入输出、功能函数、图形处理、计算方法等数据处理功能的系统软件。③应用开发工具软件:应用开发工具是DBMS系统为应用开发人员和最终用户提供的高效率、多功能的应用生成器、第四代计算机语言等各种软件工具.如报表生成器、表单生成器、查询和视图设计器等,它们为数据库系统的开发和使用提供了良好的环境和帮助。④应用系统及数据库:数据库应用系统包括为特定的应用环境建立的数据库、开发的各类应用程序及编写的文档资料,它们是一个有机整体。通过运行数据库应用系统,可以实现对数据库中数据的维护、查询、管理和处理操作。(3)关系:

《数据库系统原理及应用》习题集及参考答案要点

《数据库系统原理及应用》习题集及参考答案 一、简答题 1、什么是数据库管理系统? 一种负责数据库的建立、操作、管理和维护的软件系统。 2、数据库系统有哪几种模式?分别用来描述什么? (1)外模式 是用户的数据视图,用来描述数据的局部逻辑结构,是模式的子集。 (2)模式 是所有用户的公共数据视图,用来描述数据库中全体数据的全局逻辑结构和特征。(3)内模式 又称存储模式,描述数据的物理结构及存储方式 3、什么是事务?事务有哪些特征? 答:所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。 事务的特征:原子性、一致性、隔离性、持续性。 4、POWER BUILDER中事务对象有何作用? 答:PowerBuider的事务对象是应用程序与数据库之间进行通信的桥梁,在应用程序初启时,系统自动创一个为SQLCA(SQL Communication Area, SQL通讯区)的全局事务对象,该对象在应用程序的任何地方都可以访问 应用程序与数据库的所有通信都需要通过事务对象来完成,除了直接使用系统的缺省事务对SQLCA外,开发人员也可以创建自己的事务对象。 5、SQL SERVER中INSERTED表和DELETED表有何用? 答:触发器中用到两种特殊的表:删除表和插入表触发器中使用名为“deleted"和“inserted"来参照这些表;删除表存储受DELTE和UPDATE语句影响的行的副本当执行DELETE或UPDA TE语句时,行从触发器表中删除并传递到删除表中。删除表和触发器表通常没有共有的行。 插入表存储受INSERT和UPDA TE语句影响的行的副本当执行一NSERT或UPDA T语句时,新行同时增加到插入表和触发器表中。插入表中的行是触发器表中新行的副本可使用删除表和插入表中的行来参照相关表中的行, 或测试被删除或插入行中的值。 6、数据库系统由哪几部分构成? 答:数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 7、什么是候选码?什么是主码?主码只能有一个属性吗? 答:能唯一标识实体的属性或属性组称为超码,其任意真子集都不能成为超码的最小超码称为候选码;

数据库系统原理试题答案3

全国2008年10月自学考试 一、单项选择题(本大题共15小题,每小题2分,共30分) 1.数据库是长期存储在计算机内、有组织的、统一管理的相关( B ) A.文件的集合 B.数据的集合 C.命令的集合 D.程序的集合 2.在数据库的三级模式中,描述数据库中全部数据的整体逻辑结构的是( C ) A.外模式 B.内模式 C.逻辑模式 D.存储模式 3.数据库系统中存放三级结构定义的DB称为( B )A.DBS B.DD C.DDL D.DBMS 4.教师实体中有教师号、姓名、部门、任教时间、教龄等属性,其中教龄是一个( A ) A.派生属性 B.多值属性 C.复合属性 D.NULL属性 5.对关系的描述不正确的是( C ) A.关系是一个集合 B.关系是一张二维表 C.关系可以嵌套定义 D.关系中的元组次序可交换 6.若属性X函数依赖于属性Y时,则属性X与属性Y之间具有( B ) A.一对一联系 B.一对多联系 C.多对一联系 D.多对多联系 7.设F是关系模式R的FD集,如果对F中每个非平凡的FD X—Y,都有X是R的超键,则( C ) A.R属于2NF,但不一定属于3NF B.R属于3NF,但不一定属于BCNF C.R属于BCNF,但不一定属于4NF D.R属于4NF 8.关系Rl和R2如下表所示: A.1 B.3 C.6 D.9 9.设四元关系R(A,B,C,D),则下面不正确的是( ) A. )R(B D, ∏ 为取属性D,B的两列组成新关系B. )R( 4,2 ∏ 为取属性的值是4,2的两列组成新关系 C. )R(B D, ∏ 与 )R( 4,2 ∏ 是等价的D. )R(B D, ∏ 与 )R( 2,4 ∏ 是相同关系 10.下列叙述正确的是( ) A.在ORDER BY子句后只能有一个属性 B.ORDER BY子句所产生的输出只是逻辑排序效果,并没有影响表的实际内容 C.进行有序输出时,如果列中有空值则在升序输出时首先列出空值项,而在降序时最后列出空值项 D.ORDER BY子句中必须指明是升序或降序,不能缺省 12.现要查找缺少成绩(G)的学生学号(S#)和课程号(C#),下面SQL语句中WHERE子句的条件表达式应是:SELECT S#,C# FROM SC WHERE( )A.G=0 B.G<=0 C.G=NULL D.G IS NULL 12.数据库恢复的主要依据是( D )A.DBA B.DD C.文档 D.事务日志 13.不能激活触发器执行的事件是( )A.SELECT B.UPDA TE C.INSFRT D.DELETE 14.SQL Server 2000的主要工具中,执行T-SQL的最佳轻量级工具是( A ) A.查询分析器 B.服务管理器 C.企业管理器 D.事件探查器 15.在ODBC体系结构中,为应用程序加载、调用和卸载DB驱动程序的是( B ) A.ODBC数据库应用程序 B.驱动程序管理器 C.DB驱动程序 D.数据源 二、填空题(本大题共10小题,每小题1分,共10分) 请在每小题的空格上填上正确答案。错填、不填均无分。 16.能惟一标识实体的属性或属性集称为___ 实体标识符_____。 17.数据独立性使得修改数据结构时,尽可能不修改外部应用程序________。 18.数据库的物理结构主要指数据库的存储记录格式、存储记录安排和__存取方法______。 19.由于数据的冗余,在对数据操作时常会引起__修改异常______、插入异常、删除异常。 20.关系代数运算中,专门的关系操作有:选择、投影、除和_连接_______。 21.SQL语言的条件表达式中字符串匹配操作符是__like______。 22.DBS运行的最小逻辑工作单位是____数据项____。 23.SQL的基本表约束主要有三种形式:候选键定义、外键定义、__域______定义。 24.在复合数据类型中,相同类型元素的有序集合,并且允许有重复的元素,称为__列表类型______。 25.SQL Server 2000引擎对外使用Net-Library抽象层来支持不同的__网络协议______。 1

数据库系统原理(含答案)

数据库系统原理自测题(2) 一、单项选择题 1.数据库物理存储方式的描述称为【B】A.外模式B.内模式 C.概念模式D.逻辑模式 2.在下面给出的内容中,不属于DBA职责的是【A】A.定义概念模式B.修改模式结构 C.编写应用程序D.编写完整行规则 3.用户涉及的逻辑结构用描述【C】A.模式B.存储模式 C.概念模型D.逻辑模式 4.数据库在磁盘上的基本组织形式是【B】A.DB B.文件 C.二维表 D.系统目录 5.在DBS中,最接近于物理存储设备一级的结构,称为【D】A.外模式B.概念模式C.用户模式D.内模式 6.从模块结构考察,DBMS由两大部分组成:【B】A.查询处理器和文件管理器B.查询处理器和存储管理器 C.数据库编译器和存储管理器D.数据库编译器和缓冲区管理器 7.设W=R?S,且W、R、S的属性个数分别为w、r和s,那么三者之间应满 足【A】 A.w≤r+s B.w<r+s C.w≥r+s D.w>r+s 8.数据库系统的体系结构是数据库系统的总体框架,一般来说数据库系统应具有三级模式体系结构,它们是【A】A.外模式、逻辑模式和内模式B.内模式、用户模式和外模式 C.内模式、子模式和概念模式D.子模式、模式和概念模式 9.ER图是表示概念模型的有效工具之一,在ER图中的菱形框表示【A】A.联系B.实体 C.实体的属性D.联系的属性 10.数据库管理系统中数据操纵语言DML所事项的操作一般包括【A】A.查询、插入、修改、删除B.排序、授权、删除 C.建立、插入、修改、排序D.建立、授权、修改 11.设有关系R(A,B,C)和关系S(B,C,D),那么与R?S等价的关系代数表达式是【C】

《数据库系统原理》复习题(答案)

(一)填空题 1.数据管理经历了_______阶段、________阶段到________阶段的变迁。(手工管理、 文件管理、数据库管理) 2.实体之间联系的基本类型有______、_______、_______。(一对一、一对多、多对多) 3.在E-R图中,用____表示实体,用______表示联系,用______表示属性。(矩形框、菱形框、椭圆框) 4.数据库的三层模式结构是________、_________、_______。(外模式、逻辑模式、内模式) 5.关系模型中一般讲数据完整性分为三类:_________、___________、__________。 (实体完整性、参照完整性、用户定义完整性) 6.数据模型由三部分组成:数据结构、数据操作和____________。(数据的约束条件或数据完整性规则) 7.SQL语言是一种标准的数据库语言, 包括数据的查询、定义、操纵和______四部分功能。(控制) 8.视图是从其它________或视图导出的虚表。(基本表) 9.在关系模式R 中,若属性或属性组X 不是关系R 的关键字,但X 是其他关系模式的关键字,则称X 为关系R 的___________。(外关键字) 10.访问SQL server数据库对象时,需要经过身份验证和_________两个阶段,其中身份验证分为Windows验证模式和_______验证模式。(权限验证、混合) 11._______是存储在文件中的一系列SQL语句,即一系列按顺序提交的批处理。(脚本) 12.SQL语言中行注释的符号为_________;块注释的符号为_________。(--、/**/) 13.SQL server中的变量分为两种,全局变量和局部变量。其中全局变量的名称以_______字符开始,有系统定义和维护。局部变量以__________字符开始,由用户自己定义和赋值。(@@、@) 14.在SQL server中,其权限分为三类,即_________权限、_________权限和_________权限。(对象、语句、隐含) 15.用户对数据进行添加、修改和删除时,自动执行的存储过程称为_________。(触发器) 16.角色是一组用户所构成的组,可以分为服务器角色和_______角色。(数据库) 17.触发器有3种类型,即INSERT类型、_______和_______。(UPDATE类型、DELETE类型) 18.如果要计算表中的行数,可以使用聚合函数______。(COUNT()) 19.在SQL Server中修改表的结构应使用关键字,修改表中的数据应使用关键字。(ALTER 、UPDA TE) (二)单项选择题 1.一个仓库可以存放多种产品,而一种产品只能存放于一个仓库中。仓库与产品之间的联系类型是 (C )。 A、一对一的联系 B、多对一的联系 C、一对多的联系 D、多对多的联系 2.不属于传统数据模型的是(D)。 A、层次数据模型 B、网状数据模型 C、关系数据模型 D、面向对象数据模型 3.声明了变量:declare @i int,@c char(4),现在为@i赋值10,为@c赋值'abcd',正确的语句是(C)。 A、set @i=10,@c='abcd' B、set i=10 , set @c='abcd' C、select @i=10,@c='abcd' D、select @i=10, select @c='abcd' 4.长期存储在计算机内的有组织、可共享的数据集合是(C)。 A、数据库管理系统 B、数据库系统 C、数据库 D、文件组织

数据库系统原理试卷和答案

第一学期期末考试试卷和答案 试卷代码:03115A 授课课时:96 课程名称:数据库系统原理适用对象:本科选课班 一、选择题(从下列各题四个答案中选出一个正确答案,每小题1分,共10分) 1、在数据库技术发展的几个阶段中,数据独立性最高的是_____阶段。 A、数据库系统 B、文件系统 C、人工管理 D、数据项管理 2、在SQL的SELECT语句中,与选择运算对应的命令动词是_____。 A、SELECT B、FROM C、WHERE D、ORDER BY 3、在数据库中,下列说法___是不正确的 A、数据库避免了一切数据的重复 B、若系统是完全可以控制的,则系统可确保更新的一致性 C、数据可以共享 D、数据库减少了冗余 4、在数据库系统中,模式/外模式映像用于解决数据的___ A、结构独立性 B、物理独立性 C、逻辑独立性 D、分布独立性 5、关系代数的5种基本运算是___。 A、并、差、选择、投影、自然连接 B、并、差、交、选择、投影 C、并、差、交、选择、笛卡尔积 D、并、差、选择、投影、笛卡尔积 6、在SQL语句中,谓词“EXISTS”的含义是____。 A、全称量词 B、存在量词 C、自然连接 D、等值连接 7、规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常、更新异常以及___的缺陷 A、数据不一致性 B、结构不合理 C、冗余度大 D、数据丢失 8、数据库数据的正确性和相容性是数据库的______。

A、安全性 B、可维护性 C、完整性 D、并发控制 9、数据库三级模式体系结构主要的目标是确保数据库的___。 A、数据安全性 B、数据独立性 C、最小冗余 D、数据结构规范化 10、后援副本的用途是_____。 A、安全性保障 B、一致性控制 C、故障后的恢复 D、数据的转储 二、简答题(回答要点,并简明扼要作解释。每题5分,共20分) 1、简述数据库系统从哪些方面来保证数据的完整性。 2、简述事务的ACID特性。 3、简述并发控制不当带来的数据不一致性问题。 4、简述数据库系统从哪些方面来保证数据的安全性。 三、编程与关系运算(每题5分,共20分) 设有四个关系 学生表(学号char(5),姓名varchar(10),姓别char(2),所属系varchar(20))Student(sno,sname,sex,dept) 课程表(课程号char(3),课程名varchar(20),先修课程char(3),学分tinyint,任课教师char(5)) Course(cno,cname,precno,ceredit,tno) 教师表(教师号char(5),教师名称varchar(10),姓别char(2)) Teacher(tno,tname,sex) 选课表(学号char(5)、课程号char(3),成绩tinyint) SC(sno,cno,grade) 1、编写一个触发器,当对学生表进行修改时其性别只能是男和女。 2、编写一个存储过程,依据输入的学号参数,统计该学生的平均分和总分,要 求使用游标,不可以使用sum和avg命令。 3、使用关系代数语言查询选修了’刘红’老师所授的所有课程的同学学号。 4、使用元组演算语言查询同时选修了‘001’和‘002’两门课程号的同学姓名。

数据库系统原理试题(二)

《数据库原理及应用》复习题及参考答案 一、判断题 1.采用规范的方法,使分解后的模式属于第二或第三范式,只能保证无损连接,不能绝对保持依赖。(×) 2.原则上,两个不同的对象所具有的属性值不能相同,但在给定关系中的元组可以是完全相同的。(×) 3.概念设计可以独立于数据库管理系统。(√) 5.在视图中插入一个元组,该元组会同时插入到基本表中。(√) 6.对象查询语言中,可以用运算符ELEMENT从多个元素的聚集中提取单个元素。 (×) 7.对于表只能有惟一的主键码,但可有任意数量的UNIQUE属性或属性集。 (√) 8.如果一个关系没有一个属性能由所有其他属性函数决定,则该关系根本不存在非平凡函数依赖。(√) 9.超类可以自动继承子类的所有特性。(×) 二、选择题 1.实体联系模型属于( D )。 A. 层次模型 B. 网状模型 C. 关系模型 D 概念模型 2.在一个关系中,任意两个元组的值( C )。 A. 可以全同 B. 必须全同 C. 不能全同 D. 以上都不是4.SQL是( C )的缩写. A. Standard Query Language B. Select Query Language C. Structured Query Language D. 以上都不是 6.在数据库设计中,当合并局部E---R图时,职工在某一局部应用中被除数当作实体,而在另一局部应用中被除数当作属性,那么被称之为( A )冲突。 A.结构 B.命名 C.联系 D.属性 7.在关系中的各元组的( B )。 A.顺序不能任意排列,一定要按照输入的顺序排列 B.顺序可以任意排列 C.顺序一定要按照关键字段值的顺序排列

数据库系统原理试题

哈尔滨工业大学(威海)2009/2010学年 秋 季学期 数据库系统试题卷(A ) 考试形式(开、闭卷):闭卷答题时间: 105(分钟) 本卷面成绩占课程成绩50 % (注:平时成绩占课程总成绩的30%,实验成绩占课程总成绩的20%) 答题说明: 本试题卷一共有七道大题,共计11页,总成绩100分。另加一道10分的附加题,在第12页,供选做,附加题的成绩只记入平时成绩,不计入本次试卷成绩。其中第一页为客观试题(第一题、第二题和第三题)的答题卡,要求将第一题、第二题和第三题的答案填写在该答题卡上,其它问题的答案填写在相应题目的后面。 第一题,填空题答案填写在下面相应空白处: (1)外模式 (2)模式 (3)内模式 (4)实体完整性 (5)参照完整性(6)用户自定义完整性(7) 属性值在计算机中实际存储 (8) 基数 (9)不能延迟检查的约束(10) 可以延迟检查的约束 第二题,选择题答案填写在下面相应空格处: 第三题,判断题答案填写在下面相应空格处: 姓名: 班级: 学号: 遵 守 考 试 纪 律 注 意 行 为 规 范

一、填空题(每空0.5分,共10分) 1.数据库的三级模式是、模式和内模式。 2.关系模型的完整性包括、参照完整性和用户自定义完整性。 3. 实体的基属性是的属性。 4. 关系中元组的个数称为关系的。 5. 定义关系的约束包括和可以延迟检查的约束两种类型。 6. SQL 语言具有数据定义、数据操作和三种功能。 7.死锁是多个事务由于而不能执行的一种状态。 8. JDBC 的三层结构从上到下依次是JDBC API 、JDBC 驱动程序管理器和。 9.在关系模式R(U,F)中,如果R 1NF ,且不存在非码属性对码的传递函数依赖, 则称R 满足。 10.弱实体集的主码由强实体集的主码和组成。 二、选择题(全为单选,每小题1分,共10分) 1.一般地,数据库的逻辑层包含数据库中哪些对象() A 、全部表和全部视图。 B 、部分表和部分视图。 C 、全部表。 D 、全部视图。 2.一个企业的不同职能部门之间形成一种隶属关系,这种隶属关系的映射基数是 () A 、1:1 B 、1:n C 、m :n D 、不确定 3.关于关系中的NULL 值,以下说法错误的是() A 、NULL 值不能作为主码的值。 B 、NULL 值不能作为外码的值。 C 、对NULL 值的测试不同于对整数类型值的测试。 D 、两个取值为NULL 值的属性列是相等的。 4.关于视图,以下说法正确的是() A 、视图是一个虚表,也是一个永久的数据库对象。

数据库系统原理教程课后习题及答案(第十章)

第11章并发控制 1 .在数据库中为什么要并发控制? 答:数据库是共享资源,通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。 2 .并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况? 答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏’夕数据。( l )丢失修改(lost update ) 两个事务Tl 和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)Tl 提交的结果,导致Tl 的修改被丢失。( 2 )不可重复读(Non 一Repeatable Read ) 不可重复读是指事务Tl 读取数据后,事务几执行更新操作,使Tl 无法再现前一次读取结果。( 3 )读“脏”数据(Dirty Read ) 读“脏’夕数据是指事务Tl 修改某一数据,并将其写回磁盘,事务几读取同一数据后,Tl 由于某种原因被撤销,这时Tl 已修改过的数据恢复原值,几读到的数据就与数据库中的数据不一致,则几读到的数据就为“脏”数据,即不正确的数据。避免不一致性的方法和技术就是并发控制。最常用的技术是封锁技术。也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。 3 .什么是封锁?基本的封锁类型有几种?试述它们的含义。 答:封锁就是事务T 在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T 就对该数据对象有了一定的控制,在事务T 释放它的锁之前,其他的事务不能更新此数据对象。封锁是实现并发控制的一个非常重要的技术。 基本的封锁类型有两种:排它锁(Exclusive Locks ,简称x 锁)和共享锁( Share Locks,简称S 锁)。排它锁又称为写锁。若事务T 对数据对象A 加上X 锁,则只允许T 读取和修改A ,其他任何事务都不能再对A 加任何类型的锁,直到T 释放A 上的锁。这就保证了其他事务在T 释放A 上的锁之前不能再读取和修改A 。共享锁又称为读锁。若事务T 对数据对象A 加上S 锁,则事务T 可以读A但不能修改A ,其他事务只能再对A 加S 锁,而不能加X 锁,直到T 释放A 上的S 锁。这就保证了其他事务可以读A ,但在T 释放A 上的S 锁之前不能对A 做任何修改。 4 .如何用封锁机制保证数据的一致性? 答:DBMS 在对数据进行读、写操作之前首先对该数据执行封锁操作,例如下图中事务Tl 在对A 进行修改之前先对A 执行xock ( A ) ,即对A 加x 锁。这样,当几请求对A 加x 锁时就被拒绝,几只能等待Tl 释放A 上的锁后才能获得对A 的x 锁,这时它读到的A 是Tl 更新后的值,再按此新的A 值进行运算。这样就不会丢失Tl 的更新。

相关文档
最新文档