数据库第二次作业

数据库第二次作业
数据库第二次作业

数据库第二次作业-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

《数据库第二次作业——上机实验题》

实验一:交互式S Q L的使用

实验要求:

1,创建Student数据库,包括Students,Courses,SC表,表结构如下:Students(SNO,SNAME,SEX,BDATE,HEIGHT,DEPARTMENT)

Courses(CNO,CNAME,LHOUR,CREDIT,SEMESTER)

SC(SNO,CNO,GRADE)

(注:下划线表示主键,斜体表示外键),并插入一定数据。

答:

create table Students

(

SNO varchar(100) primary key,

SNAME varchar(100) null,

SEX varchar(100) null,

BDATE datetime null,

HEIGHT decimal null,

DEPARTMENT varchar(100) null

)

go

create table Courses

(

CNO varchar(100) primary key,

CNAME varchar(100) null,

LHOUR int null,

CREDIT int null,

SEMESTER varchar(100) null

)

go

CREATE TABLE [dbo].[SC](

[SNO] varchar(100) NOT NULL,

[CNO] varchar(100) NOT NULL,

[GRADE] [int] NULL,

CONSTRAINT [PK_SC] PRIMARY KEY CLUSTERED

(

[SNO] ASC,

[CNO] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] GO

ALTER TABLE [dbo].[SC] WITH CHECK ADD CONSTRAINT [FK_SC_Courses]

FOREIGN KEY([CNO])

REFERENCES [dbo].[Courses]([CNO])

GO

ALTER TABLE [dbo].[SC] CHECK CONSTRAINT [FK_SC_Courses]

GO

ALTER TABLE [dbo].[SC] WITH CHECK ADD CONSTRAINT [FK_SC_Students]

FOREIGN KEY([SNO])

REFERENCES [dbo].[Students] ([SNO])

GO

ALTER TABLE [dbo].[SC] CHECK CONSTRAINT [FK_SC_Students]

2.完成如下的查询要求及更新的要求。

(1)查询身高大于1.80m的男生的学号和姓名;

答:

select SNO,SNAME from Students where HEIGHT>1.8

(2)查询计算机系秋季所开课程的课程号和学分数;

(3)答:

(4)select CNO,CREDIT from Courses where SEMESTER=’秋季’

(5)查询选修计算机系秋季所开课程的男生的姓名、课程号、学分数、成绩;

(6)答:

(7)select s.SNAME,https://www.360docs.net/doc/ef803839.html,O,c.CREDIT,SC.GRADE from students s

(8)inner join SC on sc.SNO=s.SNO

(9)inner jpin Courses c on https://www.360docs.net/doc/ef803839.html,O=c,CNO

(10)where s.DEPARTMENT=’计算机系’and s.SEX=’男’and c.SEMESTER=’秋季’

(11)查询至少选修一门电机系课程的女生的姓名(假设电机系课程的课程号以EE开头);(12)答:

(13)select distinct s.sname from Students s,sc where s.sno=sc.sno and s.sex=’女’and https://www.360docs.net/doc/ef803839.html,o like ’EE%’(14)查询每位学生已选修课程的门数和总平均成绩;

(15)答:

(16)select count(https://www.360docs.net/doc/ef803839.html,O) as 课程门数,avg(SC.GRADE) as 总平均成绩from students s

(17)inner join SC on sc.SNO=s.SNO

(18)inner join Courses c on https://www.360docs.net/doc/ef803839.html,O=https://www.360docs.net/doc/ef803839.html,O

(19)group by s.SNO

(6)查询每门课程选课的学生人数,最高成绩,最低成绩和平均成绩;

答:

select cname,count(cno),max(grade),min(grade),avg(grade)

from students natural join sc natural join courses

group by chane;

(7)查询所有课程的成绩都在80分以上的学生的姓名、学号、且按学号升序排列;

答:

select sname,sno from students natural join(select sno.min(grade)as mini from sc group by sno)where mini>80order by(sno);

(8)查询缺成绩的学生的姓名,缺成绩的课程号及其学分数;

答:

select sname,https://www.360docs.net/doc/ef803839.html,o,credit

from students,courses,sc

where students.sno=sc.sno and https://www.360docs.net/doc/ef803839.html,o=https://www.360docs.net/doc/ef803839.html,o and grade is null;

(9)查询有一门以上(含一门)三个学分以上课程的成绩低于70分的学生的姓名;

(10)答:

(11)select sname from students,courses,sc

(12)where students.sno=sc.sno and https://www.360docs.net/doc/ef803839.html,o=sc.cho and credit>=3 and grade<70;

(10)查询1984年~1986年出生的学生的姓名,总平均成绩及已修学分数。

答:

select sname,avg(grade),sum(credit)

from students natural join sc natural join courses

where bdate between ‘1984-00-00’and ‘1987-00-00’

groud by sname

(11)在STUDENT和SC关系中,删去SNO以’01’开关的所有记录。

答:

delete sc where SNO like ’%01%’

delete Students where SNO like ’%01%’

(12)在STUDENT关系中增加以下记录:

<0409101 何平女1987-03-02 1.62>

<0408130 向阳男1986-12-11 1.75>

答:

insert into students values <’0409101’,’何平’,’女’,’1987-03-03’,’1.62’’>

insert into students values <’0408130’,’向阳’,’男’,’1986-12-11’,’1.75’’>

(13)将课程CS-221的学分数增为3,讲课时数增为60

(14)答:

(15)update courses set credit=3 where cno=’CS-211’

(16)update courses set 1hour=60 where cno=’CS-211’

3.补充题:

(1) 统计各系的男生和女生的人数。

答:

select department,

sum(case wgen sex=’男’then 1 else 0 end),

sum(case wgen sex=’女’then 1 else 0 end),

count(sno) from students group by department order by deparment;

(2) 列出学习过‘编译原理’,‘数据库’或‘体系结构’课程,且这些课程的成绩之一在90分以上的学生的名字。

答:

select snme

from students natural join sc natural join courses

where cname=’编辑原理’or cname=’体系结构’ and grade>90

(3) 列出未修选‘电子技术’课程,但选修了‘数字电路’或‘数字逻辑’课程的学生数。

答:

select count(distinci sc.sno) from courses,sc.sno not in (select sc.sno from https://www.360docs.net/doc/ef803839.html,o=https://www.360docs.net/doc/ef803839.html,o and cname=’电子技术’)a nd https://www.360docs.net/doc/ef803839.html,o in (select cno from courses where cname=’数学逻辑’or cname=’数字电路’)

(4) 按课程排序列出所有学生的成绩,尚无学生选修的课程,也需要列出,相关的学生成绩用NULL 表示。

答:

select distinct https://www.360docs.net/doc/ef803839.html,o,https://www.360docs.net/doc/ef803839.html,ame,sno,grade from courses left join sc on (https://www.360docs.net/doc/ef803839.html,o) group by https://www.360docs.net/doc/ef803839.html,o,https://www.360docs.net/doc/ef803839.html,ame,sno,grade

group by https://www.360docs.net/doc/ef803839.html,o,https://www.360docs.net/doc/ef803839.html,ame,sno,grade;

(5) 列出平均成绩最高的学生名字和成绩。(SELECT句中不得使用TOP n子句)

答:

select sname,r

from(select sname,avg(grade)as from students,sc where students.sno=sc.sno group by sname,students.sno order by r desc)

where rownum=1;

4.选做题:对每门课增加“先修课程”的属性,用来表示某一门课程的先修课程,每门课程应可记录多于一门的先修课程。要求:

1) 修改表结构的定义,应尽量避免数据冗余,建立必要的主键,外键。

2) 设计并插入必要的测试数据,完成以下查询:

列出有资格选修数据库课程的所有学生。(该学生已经选修过数据库课程的所有先修课,并达到合格成绩。)

注意:须设计每个查询的测试数据,并在查询之前用INSERT语句插入表中。

实验二:数据库的安全和完整性约束

实验要求:

1.采用实验一的建库脚本和数据插入脚本创建Student数据库,并完成以下操作:1)新增表Credits(SNO,SumCredit,NoPass),表示每学生已通过选修课程的合计学分数,以及不及格的课程数。

答:

create table Credits(SNO varchar(100),SumCredit int,NoPass int)

2)创建视图Student_Grade(Sname,Cname,Grade),表示学生选修课程及成绩的详细信息。

答:

create view Student_Grade

as

select s.SNAME,https://www.360docs.net/doc/ef803839.html,AME,SC.GRADE from students s

inner join SC on sc.SNO=s.SNO

inner join Courses c on https://www.360docs.net/doc/ef803839.html,O=https://www.360docs.net/doc/ef803839.html,O

2.在数据库中创建以下触发器:

1)Upd_Credit

要求:当在SC表中插入一条选课成绩,自动触发Upd_Credit,完成在Credits表中修改该学生的合计学分数和不及格的课程数。

答:

create trigger Upd_Credit on SC for insert

as

declare @SNO varchar(100),@CNO varchar(100),@GRADE int,@NoPass int,@CREDIT int

select @SNO=SNO,@CNO=CNO,@GRADE=GRADE,@NoPass=(case when GRADE<60 then 1 else 0 end) from inserted

update Credits

set SumCredit=SumCredit+@CREDIT,

NoPass=NoPass+@NoPass

where SNO=@SNO

2)Upd_StuView(Instead of触发器)

要求:当对视图Student_Grade作插入数据项操作时,自动触发Upd_StuView,完成对SC表的插入操作。

如:当执行Insert into Student_Grade values(‘王刚’,’数据库’,54)

则触发器完成另一插入操作:Insert into SC values(‘980201’,’CS-110’,54)

另外,需要检查当前插入的学生和课程是否已在Students,和Courses表中存在,如不存在,不执行任何操作,并提示用户错误信息。

答:

create trigger Upd_StuView on Student_Grade for insert

as

declare @SNAME varchar(100),@CNAME varchar(100),@GRADE int

select @SNAME=SNAME,@CNAME=CNAME,@GRADE=GRADE from inserted

IF(EXISTS(SELECT * FROM Students WHERE SNAME=@SNAME) AND EXISTS(SELECT * FROM Courses WHERE CNAME=@CNAME))

BEGIN

Insert into SC

select(SELECT TOP 1 SNO FROM Students WHERE SNAME=@SANME),

(SELECT TOP 1 CNO FROM Courses WHERE CNAME=@CNAME),

@GRADE

END

3)PK_SC,FK_SC_SNO,FK_SC_CNO)(选做)

要求:首先删除SC中所有主键和外键定义,用触发器实现表SC上的主键(SNO,CNO)和外键SNO,CNO的约束定义。

3.为Student数据库设计安全机制。

要求:在该数据库系统中,有三类用户:

1)学生,权限包括:查询所有的课程信息,根据学号和课程号来查询成绩。但不允许修改任何

数据。(必做)

只能查询自己的成绩,不能查询别人的成绩。(选做)

2)老师:权限包括:查询有关学生及成绩的所有信息,有关课程的所有信息,但不允许修改任何数据。

答:

CREATE TRIGGRT secure_student

BEFORE UPDATE OR DELETE ON database

BEGIN

IF((select user from dual)=’老师’)

THEN

RAISE_APPLICATION_ERROE(-20506,

‘您没有权限对学生表进行修改。’)

3)教务员:权限包括:查询和修改任何有关学生和课程的信息,但不允许查询和修改数据库中其它任何表,视图等数据库对象。

答:

CREATE TRIGGER secure_student

BEFORE UPDATE OR DELETE ON database EXCEPT Students

BEGIN

IF((select user from dual)=’教务员’)

THEN

RAISE_APPLICATION_ERROR(-20506,

‘您没有权限进行修改。’)

要求:安全控制必须仅由数据库一端来实现,不考虑由应用程序来控制。

为此,需要创建三个用户,登录时密码验证;分别授予各类权限,并测试权限的控制是否有效。

实验三:S Q L编程

数据库系统教程第二章部分习题解答

计算R ∪S ,R-S ,R ∩S ,R ×S ,π3,2(S ),σB<’5’(R),R S, R S 。 解: R ∪S A B C R -S A B C R ∩S A B C 3 6 7 3 6 7 7 2 3 2 5 7 2 5 7 7 2 3 4 4 3 4 4 3 3 4 5 R ×S R.A R.B R.C S.A S.B S.C π3,2(S ) C B 3 6 7 3 4 5 5 4 3 6 7 7 2 3 3 2 2 5 7 3 4 5 2 5 7 7 2 3 7 2 3 3 4 5 7 2 3 7 2 3 4 4 3 3 4 5 4 4 3 7 2 3 σ B<’5’(R ) A B C R ?S R.A R.B R.C S.A S.B S.C 7 2 3 7 2 3 3 4 5 4 4 3 R ?S A B C 7 2 3 2.7 设有关系R 和S : R A B S B C a b b c c b e a d e b d 计算R ? S ,R ? S ,σA=C (R ×S),S ? R 2<2 B

R ? S A B C a b c a b d c b c c b d R ? S A R.B S.B C a b b c a b b d c b b c c b b d σA=C (R ×S) A R.B S.B C a b e a c b b c d e b d S ? R B C b c b d 2.17 设有三个关系: S (S#,SNAME ,AGE ,SEX) SC (S#,C#,CNAME ) C (C#,CNAME ,TEACHER ) 试用关系代数表达式表示下列查询语句: ① 检索LIU 老师所授课程的课程号和课程名。 ② 检索年龄大于23岁的男学生的学号和姓名。 ③ 检索学号为S3学生所学课程的课程名与任课教师名。 ④ 检索至少选修LIU 老师所授课程中一门课的女学生姓名。 ⑤ 检索WANG 同学不学的课程的课程号。 ⑥ 检索至少选修两门课的学生学号。 ⑦ 检索全部学生都选修的课程的课程号与课程名。 ⑧ 检索选修课程包含LIU 老师所授全部课程的学生学号。 解:⑴ πC#,CNAME (σTNAME='LIU'(C )) ⑵ πS#,SNAME (σAGE >'23' ∧ SEX='M'(SC )) ⑶ πCNAME ,TNAME (σS#='S3'(SC ?C )) ⑷ π SNAME (σSEX='F' ∧ TNAME='LIU'(S ?SC ?C )) B

浙大2015数据库技术在线作业

单选题 1.数据库设计的基本任务就是根据用户的信息需求,处理需求和数据库的支撑环境(包括DBMS、操作系统、硬件),设计一个结构合理、使用方便、效率较高的数据库。()是指在数据库中应该存储和管理哪些数据对象;()是指需要进行哪些业务处理和操作,如对数据对象的查询、增加、删除、修改、统计等操作。 A 信息需求处理需求 B 处理需求信息需求 C 信息需求信息需求 D 处理需求处理需求 单选题 2.在客户/服务器结构的数据库中,在数据库中还可以存放程序,因为这种程序以数据库对象的形式存储在数据库中,所以称为()。 A 游标 B 触发器 C 存储过程 D 视图 单选题 3.根据SQL标准,修改表的数据结构,下面哪种语句适用? A UPDATE B ALTER C CHANGE D SHIFT 单选题 4.根据SQL标准,查询表student中所有系dept为‘IS’并且性别sex为‘女’的所有记录,下面哪条语句适用? A select * from student where dept=’IS’ and sex=’女’ B select * from student where dept=’IS’ or sex=’女’ C select * from student where dept=’IS’ and where sex=’女’

D select * from student where dept=’IS’ union select * from student where sex=’女’ 单选题 5.根据SQL标准,下面哪条语句与select min(age) from student等效? A select age from student where age >= min(age) B select distinct age from student where age >= all min(age) C select distinct a.age from student a where a.age <= any (select distinct b.age from student b) D select distinct a.age from student a where a.age <= all (select distinct b.age from student b) 单选题 6.根据SQL标准,创建一个表,应该使用下面哪个语句? A CREATE TABLE B CREATE INDEX C CREATE VIEW D CREAT E DATABASE 单选题 7.根据SQL标准,查询表student(sno,sname,sex,dept)中所有学生的选修课程数,其中选修记录在表SC(sno,cno,grade)中,两表中sno为关联字段。下面哪条语句合适? A select sno,count(cno) from SC B select sno,count(cno) from student C select a.sno,count(cno) from student a left outer join SC D select a.sno,count(cno) from SC left outer join student a 单选题 8.用()表示实体和实体之间联系的模型称为关系数据模型。 A E-R B 关系(表格数据) C 树型结构 D 网状结构

《数据库技术与应用》第8章 习题答案

第8章数据库恢复技术 1. 试述事务的概念及事务的四个特性。 解: 事务是用户定义的一个基本操作序列,这个基本操作序列可以包含一个或者多个数据库的基本操作。事务所包含的基本操作要么都做,要么都不做,它们构成了一个不可分割的工作单元。 事务具有四个基本特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),简称为ACID特性。 2. 数据库运行中可能产生的故障有哪些?简述不同故障对数据库造成的影响有何不同。 解: 数据库运行中可能发生各种各样的故障,大致分为以下几类:事务故障、系统故障、介质故障、其他一些因素导致的故障,如计算机病毒、操作失误等。 不同故障对数据库造成的影响不同,事务故障、系统故障影响事务的正常执行,介质故障和计算机病毒破坏数据库数据。 3. 恢复机制的基本思想是什么?恢复的实现技术有哪些? 解: 恢复机制的基本思想是:建立冗余数据;利用这些冗余数据实施数据库恢复。 数据转储和登录日志文件是建立冗余数据最常用的技术。当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。 4. 什么是日志文件?日志文件的作用是什么?登记日志文件的原则是什么? 解: 日志文件是用来记录事务对数据库的更新操作的文件,是系统运行的历史记载。 日志文件的作用是:用来进行事务故障恢复和系统故障恢复,协助后备副本进行介质故障恢复。 登记日志文件必须要遵循两条原则:一是登记的次序严格按并发事务执行的时间次序。二是必须先写日志文件,后写数据库。 5. 试述事务故障、系统故障、介质故障的恢复策略和方法。 解: ●事务故障的恢复: 事务故障的恢复是由系统自动完成的,对用户是透明的。其过程如下: (1) 反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。 (2) 对该事务的更新操作执行逆操作。 (3) 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。 (4) 如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了。 ●系统故障的恢复 系统故障的恢复是由系统在重启时自动完成的,无需用户干预。其过程如下: (1) 正向扫描日志文件,找出在故障发生前已经提交事务,将其事务标识记入重做 (REDO)队列。同时找出故障发生时尚未完成的事务,将其事务标识记入撤消队列。 (2)对撤消队列中的各个事务进行撤消(UNDO)处理。反向扫描日志文件,对每个 UNDO事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库。

数据库第二章练习题

数据库第二章练习题 一.选择题(2×5=30分) 1.在数据库系统中,数据的最小访问单位是() A表 B 记录 C 数据元素 D 字段 2.建立表的结构时,一个字段由()组成 A 字段名称B数据类型 C 字段属性D以上都是 https://www.360docs.net/doc/ef803839.html,ess2003中,表的字段数据类型中不包括() A自动编号B数字型C窗口型D货币型 4以设置字段大小属性的数据类型是() A备注B文本C日期/时间D货币 5.在access2003的表中,()不可以定义为主键 A自动编号B单字段C多字段DOLE对象 6.在表的设计视图中,不能完成操作的是() A修改字段的名称B删除一个标题 C修改字段的属性D删除一条记录 7.在表的数据视图中,不能完成的操作是() A删除一条记录B修改一条记录 C追加一条记录D修改字段标题 7.关于主键下列说法错误的是() A access2003中,并不要求每一个表中都必须设置主键 B 在一个表中只能指定一个字段为主键 C 在输入数据或对数据进行修改时,不能向主键的字段输入相同的值 D 利用主键可以加快数据的查找速度 9.如果一个字段在多数情况下取一个固定的值,可以将这个值设置成字段的() A 主键字B默认值C有效性规则D输入掩码 10.不是表类型的数据显示格式有() A 真/假B是/否C有/无D开/关 11.关于主键,下列说话错误的是() A 主键不能重设为其他字段 B 主键可以是多少字段的组合 C 一个表中只能有一个主键D在创建关系时,主表的关联字段必须是主键 12.在表的设计视图的二字段属性中默认情况下标题属性是( ) A.字段名称 B.字段类型 C. 空 D.Null 13.在表的设计视图中要插入一个新字段,应将光标移动到插入字段之后的字段上,在插入菜单中选( )命令. A.新记录 B.新字段 C.行D列 14.在表的数据表视图中,把光标定位在最后一行,可以单击插入菜单选择()命令。 A.新记录 B.新字段 C.行D列 15.在查找和替换操作中,可以使用通配符,下列不是通配符的是()A.*B.?C.!D.@ 二.填空题(1×30=30分) 1.在access中表有两种视图,即()和()。 2.对表的修改和分为对()的修改和对()的修改 3.创建表的方法主要有(),(),(),三种方法 4.修改表的结构是在()视图下完成的,修改表结构包括 (),(),(),(),及()等。 5.在“查找和替换”对话框中,查找范围列表框用来确定在那个字段中查找数据,匹配列表框用来确定匹配方式,包括(),(),()三种方式。 6.在查找时,如果确定了查找内容的范围,可以通过设置()来减小查找范围,从数据中找出满足一定条件的记录,称为(). 7.字段的()属性用于检查错误所输入或不符合要求的数据输入,()功能是将表中的一部分重要的文段固在屏幕上. 8.数据类型为(),(),()的字段不能排序 9.设置表的数据视图列宽时,当拖动字段右边界的分隔线超过左边界的,将会()该列 10.电子邮箱有效性规则(),邮箱的掩码(),手机号码的掩码(),长日期的掩码()。 11.筛选出员工表中,2009年以前入职的员工的记录,要在筛选同标文本框中输入()。

数据库系统原理(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个实体与之联系。举例:授课班级与任课教师,每个

数据库第二章课后习题解答

第3部分习题及其解答 第一章的两道题 3-2 习题2 分别把习题、习题的ER图转换成关系模型数据结构。 【参考答案】 1.习题的ER图可转换成如下的关系模型数据结构。 ①程序员(编号,姓名,性别,年龄,单位,职称),其中编号是关键字; ②程序(程序名称,版权,专利号,价格),其中程序名称是关键字; ③设计(编号,程序名称,开始时间,结束时间),其中(编号,程序名称)是关键字。

2.习题的ER 图可转换成如下的关系模型数据结构。 ① 工厂(工厂名称,厂址,联系电话),其中工厂名称是关键字; ② 产品(产品号,产品名,规格,单价),其中产品号是关键字; ③ 工人(工人编号,姓名,性别,职称,工厂名称,雇用期,月薪),其中工人编号是关键字,工厂名称是外关键字,雇用期和月薪是联系属性; ④ 生产(工厂名称,产品号,月产量),其中(工厂名称,产品号)是关键字,生产关系是表示联系的。 判断下列情况,分别指出它们具体遵循那一类完整性约束规则 1.用户写一条语句明确指定月份数据在1~12之间有效。 2.关系数据库中不允许主键值为空的元组存在。 3.从A 关系的外键出发去找B 关系中的记录,必须能找到。 【解答】 1.用户用语句指定月份数据在1~12之间有效,遵循用户定义的完整性约束规则。 2.关系数据库中不允许主键值为空的元组存在,遵循实体完整性约束规则; 3.从A 关系的外键出发去找B 关系的记录,必须能找到,遵循引用完整性约束规则。 判断下列情况,分别指出他们是用DML 还是用DDL 来完成下列操作 1.创建“学生”表结构。 2.对“学生”表中的学号属性,其数据类型由“整型”修改为“字符型”。 3.把“学生”表中学号“021”修改为“025”。 【解答】 1.创建“学生”表结构,即定义一个关系模式,用DDL 完成。 2.修改“学生”表中学号属性的数据类型,即修改关系模式的定义,用DDL 完成。 3.修改“学生”表中学号属性的数据值,即对表中的数据进行操作,用DML 完成。 给出两个学生选修课程关系A 和B ,属性为姓名、课程名、成绩。分别写出后列各关系代数运算的结果关系。 1.A 和B 2.?) 3.? (A -B ))。 4.B A 1 1=; B A 3 322>∧= 。 5.A [] B ; A ]B ; A [ B 。 【解答】 1

数据库第二章习题及答案

第二章 关系数据库习题二 一、单项选择题: 1、系数据库管理系统应能实现的专门关系运算包括 B 。 A .排序、索引、统计 B.选择、投影、连接 C .关联、更新、排序 D.显示、打印、制表 2、关系模型中,一个关键字是 C 。 A .可由多个任意属性组成 B .至多由一个属性组成 C .可由一个或多个其值能惟一标识该关系模型中任何元组的属性组成 D .以上都不是 3、个关系数据库文件中的各条记录 B 。 A .前后顺序不能任意颠倒,一定要按照输入的顺序排列 B .前后顺序可以任意颠倒,不影响库中的数据关系 C .前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同 D .前后顺序不能任意颠倒,一定要按照关键字段值的顺序排列 4、有属性A ,B ,C ,D ,以下表示中不是关系的是 C 。 A .R (A ) B .R (A ,B ,C ,D ) C .D)C B R(A ??? D .R (A ,B ) 5、概念模型中,一个实体相对于关系数据库中一个关系中的一个 B 。 A 、属性 B 、元组 C 、列 D 、字段 二、设有一个SPJ 数据库,包括S ,P ,J ,SPJ 四个关系模式: S( SNO ,SNAME ,STA TUS ,CITY); P(PNO ,PNAME ,COLOR ,WEIGHT); J(JNO ,JNAME ,CITY); SPJ(SNO ,PNO ,JNO ,QTY); 供应商表S 由供应商代码(SNO )、供应商姓名(SNAME )、供应商状态(STATUS )、供应商所在城市(CITY )组成; 零件表P 由零件代码(PNO )、零件名(PNAME )、颜色(COLOR )、重量(WEIGHT )组成; 工程项目表J 由工程项目代码(JNO )、工程项目名(JNAME )、工程项目所在城市(CITY )组成; 供应情况表SPJ 由供应商代码(SNO )、零件代码(PNO )、工程项目代码(JNO )、供应数量(QTY )组成,表示某供应商供应某种零件给某工程项目的数量为QTY 。 今有若干数据如下: P 表

数据库应用基础第8章习题参考答案

1.选择题 (1)当采用Windows验证方式登录时,只要用户通过Windows用户账户验证,就可(A)到SQL Server数据库服务器。 A. 连接 B. 集成 C. 控制 D. 转换 (2)SQL Server中的视图提高了数据库系统的(D)。 A. 完整性 B. 并发控制 C. 隔离性 D. 安全性 (3)使用系统管理员登录账户sa时,以下操作不正确的是(C)。 A. 虽然sa是内置的系统管理员登录账户,但在日常管理中最好不要使用sa进行 登录。 B. 只有当其他系统管理员不可用或忘记了密码,无法登录到SQL Server时,才使 用sa这个特殊的登录账户。 C. 最好总是使用sa账户登录。 D. 使系统管理员成为sysadmin固定服务器角色的成员,并使用各自的登录账户来登录。 (4)在数据库的安全性控制中,授权的数据对象的(B),授权子系统就越灵活。 A. 范围越小 B. 约束越细致 C. 范围越大 D. 约束范围大 (5)在“连接”组中有两种连接认证方式,其中在(B)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。 A. Windows身份验证 B. SQL Server身份验证 C. 以超级用户身份登录时 D. 其他方式登录时 2.填空题 (1)SQL Server 2000提供了非常完善的安全管理机制,包括( 用户登录 )管理和对用户( 使用数据库对象 )的管理。 (2)SQL Server的安全性管理是建立在( 身份验证 )和( 访问许可 )机制上的。 (3)SQL Server 2000 的默认身份验证模式是(Windows身份验证模式)。 (4)权限管理的主要任务是( 对象权限和语句权限的管理 )。 (5)角色中的所有成员( 继承 )该角色所拥有的权限。 3.问答题 (1)什么是数据库的安全性? 答:数据库的安全性(security)是指保护数据库避免不合法的使用,以免数据的泄漏、更改或破坏。 (2)SQL Server 2000有几种身份验证方式?它们的区别是什么? 答:SQL Server能在两种身份验证模式(Authentication Modes)下运行:Windows身份验证模式和混合模式。 在Windows身份验证模式下,SQL Server依靠Windows 身份验证来验证用户的身份。这种模式下用户不能指定 SQL Server 2000 登录用户名。 混合模式下,用户既可以使用 Windows身份验证,也可以使用SQL Server身份验证。 相比而言,Windows身份验证模式能够提供更多的功能,另外对于帐户和帐户组的管理和修改也更为方便。而混合模式中的SQL Server身份验证模式最大的好处是很容易通过企业管理器实现,更容易编写到应用程序里。在用户数量较少、单服务器的情况下有一定的适用性。

数据库第二章关系代数习题

1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句: S C SC (1)检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。 ∏C#,CNAME(δTEACHER=程军(C)) (2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。 ∏S#,SNAME(δAGE>21∧SEX=男(S)) (3)检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。 ∏SNAME((∏S#,C#(SC)÷∏C#(δTEACHER=程军(C)))S) (4)检索”李强”同学不学课程的课程号(C#)。 ∏C#(C)-∏C#(δSNAME=李强(S)SC) (5)检索至少选修两门课程的学号(S#)。 ∏S#(δ1=4∧2≠5(SC×SC)) (6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。 ∏C#,CNAME(∏S#,C#(SC)÷∏S#(S)C) (7)检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。 ∏C#(δTEACHER=程军(C)SC) (8)检索选修课程号为k1和k5的学生学号(S#)。 ∏S#,C#(SC)÷∏C#(δC#=k1∨C#=k5(C)) (9)检索选修全部课程的学生姓名(SNAME)。 ∏SNAME((∏S#,C#(SC)÷∏C#(C))S) (10)检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。 ∏S#,C#(SC)÷∏C#(δS#=2(SC)) (11)检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。 ∏S#,SNAME(∏S#(SC(δCNAME=C语言(C)))S) (12)检索没有一门课程成绩不及格的学生学号,姓名。 ∏S#,SNAME((∏S#(S)-∏S#(δGRADE<60(SC))S) 2.现有关系数据库如下: 学生(学号,姓名,性别,专业,奖学金)。 课程(课程号,名称,学分)。

数据库系统原理第二章的习题集.doc

第2章关系数据库 一、选择题 1、关于关系模型,下列叙述不正确的是()。 A. 一个关系至少要有一个候选码 B. 列的次序可以任意交换 C. 行的次序可以任意交换 D. 一个列的值可以来自不同的域 2、下列说法正确的是()。 A. 候选码都可以唯一地标识一个元组 B. 候选码中只能包含一个属性 C. 主属性可以取空值 D. 关系的外码不可以取空值 3、关系操作中,操作的对象和结果都是()。 A. 记录 B. 集合 C. 元组 D. 列 4、假设存在一张职工表,包含“性别”属性,要求这个属性的值只能取“男”或“女”,这属于()。 A. 实体完整性 B. 参照完整性 C. 用户定义的完整性 D. 关系不变性 5、有两个关系R(A, B, C)和S(B, C, D),将R和S进行自然连接,得到的结果包含几个列() A. 6 B. 4 C. 5 D. 2 二、判断题 1、关系模型的一个特点是,实体以及实体之间的联系都可以使用相同的结构类型来表示。() 2、关系模型中,非主属性不可能出现在任何候选码中。() 3、关系模式是对关系的描述,关系是关系模式在某一时刻的状态或内容。() 三、填空题 1、在关系模型中,关系操作包括查询、____________、____________和_____________等。 2、关系模型的三类完整性约束是指______________、_______________和_____________。 3、关系模型包括8种查询操作,其中__________、_________、并、________和笛卡儿积是5种基本操作,其他操作可以用基本操作定义和导出。 4、职工(职工号,姓名,年龄,部门号)和部门(部门号,部门名称)存在引用关系,其中________________是参照关系,____________是外码。

(完整版)数据库课后习题及答案

第一章数据库系统概述 选择题 1实体-联系模型中,属性是指(C) A.客观存在的事物 B.事物的具体描述 C.事物的某一特征 D.某一具体事件 2对于现实世界中事物的特征,在E-R模型中使用(A) A属性描述B关键字描述C二维表格描述D实体描述 3假设一个书店用这样一组属性描述图书(书号,书名,作者,出版社,出版日期),可以作为“键”的属性是(A) A书号B书名C作者D出版社 4一名作家与他所出版过的书籍之间的联系类型是(B) A一对一B一对多C多对多D都不是 5若无法确定哪个属性为某实体的键,则(A) A该实体没有键B必须增加一个属性作为该实体的键C取一个外关键字作为实体的键D该实体的所有属性构成键 填空题 1对于现实世界中事物的特征在E-R模型中使用属性进行描述 2确定属性的两条基本原则是不可分和无关联 3在描述实体集的所有属性中,可以唯一的标识每个实体的属性称为键 4实体集之间联系的三种类型分别是1:1 、1:n 、和m:n 5数据的完整性是指数据的正确性、有效性、相容性、和一致性 简答题 一、简述数据库的设计步骤 答:1需求分析:对需要使用数据库系统来进行管理的现实世界中对象的业务流程、业务规则和所涉及的数据进行调查、分析和研究,充分理解现实世界中的实际问题和需求。 分析的策略:自下而上——静态需求、自上而下——动态需求 2数据库概念设计:数据库概念设计是在需求分析的基础上,建立概念数据模型,用概念模型描述实际问题所涉及的数据及数据之间的联系。 3数据库逻辑设计:数据库逻辑设计是根据概念数据模型建立逻辑数据模型,逻辑数据模型是一种面向数据库系统的数据模型。 4数据库实现:依据关系模型,在数据库管理系统环境中建立数据库。 二、数据库的功能 答:1提供数据定义语言,允许使用者建立新的数据库并建立数据的逻辑结构 2提供数据查询语言 3提供数据操纵语言 4支持大量数据存储 5控制并发访问 三、数据库的特点 答:1数据结构化。2数据高度共享、低冗余度、易扩充3数据独立4数据由数据库管理系统统一管理和控制:(1)数据安全性(2)数据完整性(3)并发控制(4)数据库恢复 第二章关系模型和关系数据库 选择题 1把E-R模型转换为关系模型时,A实体(“一”方)和B实体(“多”方)之间一对多联系在关系模型中是通过(A)来实现的

广东海洋大学数据库第二章作业

1、若学生选课库的关系模式为: 学生(学号,姓名,性别,年龄,所在系); 课程(课程号,课程名,先行课); 选课(学号,课程号,成绩). ①求选修了课程号为“C2”课程的学生学号。 π学号(σ课程号= ‘C2’(选课)) ②求选修了课程号为“C2”课的学生学号和姓名。 π学号,姓名(σ课程号= ‘C2’(学生选课)) ③求没有选修课程号为“C2”课程的学生学号。 π学号(学生)-π学号(σ课程号= ‘C2’(选课)) ④求既选修“C2”课程,又选修“C3”课程的学生学号。 π学号(σ课程号= ‘C2’ (选课)) ∩ π学号(σ课程号= ‘C3‘ (选课) ) ⑤求选修课程号为“C2”或“C3”课程的学生学号。 π学号(σ课程号=‘C2‘ (选课))∪π学号(σ课程号=’C3‘ (选课)) ⑥求选修了全部课程的学生学号。 π学号,课程号(选课)÷ π课程号(课程) ⑦一个学号为“98002”的学生所学过的所有课程可能也被其他学生选修,求这些学生的学号和姓名。 π学号,姓名((π学号,课程号(选课)÷π课程号(σ学号= ‘98002’(选课) ) 学生) 2.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: 1)求供应工程J1零件的供应商号码SNO: πSno(σJno=‘J1’(SPJ))

2)求供应工程J1零件P1的供应商号码SNO: πSno(σJno=‘J1’∧Pno=‘P1‘(SPJ)) 3)求供应工程J1零件为红色的供应商号码SNO: πSno(σJno=‘J1‘(σCOLOR=’红‘(P) SPJ)) 4)求没有使用天津供应商生产的红色零件的工程号JNO: πJno(SPJ)-πJNO(σcity=‘天津’∧Color=‘红‘(S SPJ P) 5)求至少用了供应商S1所供应的全部零件的工程号JNO: πJno,Pno(SPJ)÷ πPno(σSno=‘S1‘(SPJ)) 3.查询至少选修了一门其直接先行课为5号课程的课程的学生姓名。πSname(σCpno='5'(Course SC Student))

南开20秋学期《数据库技术与程序设计》在线作业答案

20秋学期(1709、1803、1809、1903、1909、2003、2009 )《数据库技术与程序设计》在线作业 试卷总分:100 得分:100 一、单选题(共30 道试题,共60 分) 1.在建立数据表“商品信息”时,若将“单价”字段的有效性规则设置为:单价>0,则可以保证数据的()。 A.实体完整性 B.域完整性 C.参照完整性 D.表完整性 答案:B 2.逻辑运算的优先顺序是()。 A.AND、OR、NOT B.OR、NOT、AND C.NOT、AND、OR D.NOT、OR、AND 答案:C 3.用于获得字符串S从第3个字符开始的2个字符的函数是___。 A.Mid(S,3,2) B.Middle(S,3,2) C.Left(S,3,2) D.Right(S,3,2) 答案:A 4.8E–3是一个()。 A.内存变量 B.字符常量 C.数值常量 D.非法表达式 答案:C 5.一个宏里面的每一步操作都是一个()。 A.操作序列宏 B.宏组 C.条件宏 D.宏命令 答案:D 6.某一学校规定学生宿舍标准是:本科生4人一间,硕士生是2人一间,博士生是1人一间,学生与宿舍之间形成的住宿关系是( )。 A.一对一的联系 B.一对四的联系

C.一对多的联系 D.多对多的联系 答案:C 7.在Access中要显示“教师表”中姓名和职称的信息,应采用的关系运算是( )。 A.投影 B.自然联接 C.联接 D.选择 答案:A 8.Access2016数据库中,若要求在窗体上设置输入的数据是取自某一个表或查询中记录的数据,或者取自某固定内容的数据,可以使用的控件是()。 A.选项组控件 B.列表框或组合框控件 C.文本框控件 D.复选框 答案:B 9.下列叙述中正确的是( )。 A.数据库是一个独立的系统,不需要操作系统的支持 B.数据库设计是指设计数据库管理系统 C.数据库技术的根本目标是要解决数据共享的问题 D.数据库系统中,数据的物理结构必须与逻辑结构一致 答案:C 10.语句Dim Arr(-2 To 3)As Integer所定义的数组的元素个数为___。 A.7个 B.6个 C.5个 D.4个 答案:B 11.下列关于数据库系统的叙述中,正确的是()。 A.数据库系统只是比文件系统管理的数据更多 B.数据库系统中数据的完整性是指数据类型完整 C.数据库系统避免了一切数据冗余 D.数据库系统减少了数据冗余 答案:D 12.数据库系统的三级模式是()。 A.上模式、模式、下模式 B.前模式、模式、后模式 C.外模式、模式、内模式

电大数据库系统及应用,形考册第8章,习题与参考答案

第8章习题与参考答案 一.单项选择题 1.在数据库设计中,将E-R图转换为关系数据模型是下述哪个阶段完成的工作(C)。 A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段 2.在将E-R图转换为关系模型时,一般都将m:n联系转换成一个独立的关系模式。下列关于这种联系产生的关系模式的主码的说法,正确的是(C)。 A.只需包含m端关系模式的主码即可 B.只需包含n端关系模式的主码即可 C.至少包含m端和n端关系模式的主码 D.必须添加新的属性作为主码 3. 在将局部E-R图合并为全局E-R图时,可能会产生一些冲突。下列冲突中不属于合并E-R图冲突的是(B)。 A.结构冲突 B.语法冲突 C.属性冲突 D.命名冲突

4. 一个银行营业所可以有多个客户,一个客户也可以在多个营业所进行存取款业务,则客户和银行营业所之间的联系是(D)。 A.一对一 B.一对多 C.多对一 D.多对多 5.设实体A与实体B之间是一对多联系。下列进行的逻辑结构设计方法中,最合理的是(A)。 A.实体A和实体B分别对应一个关系模式,且外码放在实体B的关系模式中 B. 实体A和实体B分别对应一个关系模式,且外码放在实体A的关系模式中 C.为实体A和实体B设计一个关系模式,该关系模式包含两个实体的全部属性 D.分别为实体A、实体B和它们之间的联系设计一个关系模式,外码在联系对应的关系模式中 6. 设有描述图书出版情况的关系模式:出版(书号,出版日期,印刷数量),设一本书可以被出版多次,每次出版都有一个印刷数量。该关系模式的主码是(B)。 A.书号 B.(书号,出版日期) C.(书号,印刷数量) D.(书号,出版日期,印刷数量) 7. 在数据库设计中,进行用户子模式设计是下述哪个阶段要完成的工作(C)。

数据库第二章课后知识题解答

第3部分 习题及其解答 第一章的两道题 设计 N M 编号 开始时间 姓名 性别 年龄 单位 职称 结束时间 程序名称 版权 价格 专利号 厂址 工厂名称 联系电话

3-2 习题2 2.6 分别把习题1.10、习题1.11的ER图转换成关系模型数据结构。 【参考答案】 1.习题1.10的ER 图可转换成如下的关系模型数据结构。 ① 程序员( 编号,姓名,性别,年龄,单位,职称),其中编号是关键字; N 雇用 月薪 雇用期

②程序(程序名称,版权,专利号,价格),其中程序名称是关键字; ③设计(编号,程序名称,开始时间,结束时间),其中(编号,程序名称)是关键字。 2.习题1.11的ER图可转换成如下的关系模型数据结构。 ①工厂(工厂名称,厂址,联系电话),其中工厂名称是关键字; ②产品(产品号,产品名,规格,单价),其中产品号是关键字; ③工人(工人编号,姓名,性别,职称,工厂名称,雇用期,月薪),其中工人编号是关键字,工厂名称是外关键字,雇用期和月薪是联系属性; ④生产(工厂名称,产品号,月产量),其中(工厂名称,产品号)是关键字,生产关系是表示联系的。 2.8 判断下列情况,分别指出它们具体遵循那一类完整性约束规则? 1.用户写一条语句明确指定月份数据在1~12之间有效。 2.关系数据库中不允许主键值为空的元组存在。 3.从A关系的外键出发去找B关系中的记录,必须能找到。 【解答】 1.用户用语句指定月份数据在1~12之间有效,遵循用户定义的完整性约束规则。 2.关系数据库中不允许主键值为空的元组存在,遵循实体完整性约束规则; 3.从A关系的外键出发去找B关系的记录,必须能找到,遵循引用完整性约束规则。

2017浙大-数据库技术作业

1.【第1章】现实世界中所管理的对象称作(),其定义为:客观存在并可以 相互区分的客观事物或抽象事件。 ? A 实体(Entity) ? B 联系 ? C 属性 ? D E-R ? 单选题 2.【第1章】()是位于用户与操作系统之间的一层数据管理软件。 ? A DB ? B DBS ? C DBMS ? D Data ? 单选题 3.【第1章】数据库中不仅存储数据本身,还要存储数据与数据之间的联系, 这种数据和联系是需要描述和定义的,()正是完成此项任务的。 ? A 数据库管理系统 ? B 数据模型

? C 概念模型 ? D 层次模型 ? 单选题 4.【第1章】数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三 者之间的关系是: ? A DBS包括DB和DBMS ? B DBMS包括DB和DBS ? C DB包括DBS和DBMS ? D DBS就是DB,也就是DBMS ? 单选题 5.【第1章】用()表示实体和实体之间联系的模型称为关系数据模型。 ? A E-R ? B 关系(表格数据) ? C 树型结构 ? D 网状结构

? 多选题 6.【第1章】文件系统阶段在20世纪50年代后期至20世纪60年代中期,其特 点是:()。 ? A 数据长期保留在外存上,可经常对文件进行查询、修改、插入、删除等操作 ? B 有软件(文件系统)对数据进行管理,程序和数据有了一定的独立性? C 文件的形式多样化,有顺序文件、索引文件和散列文件等 ? D 数据的存取基本上以记录为单位 ? 多选题 7.【第1章】人工管理阶段在20世纪50年代中期以前,其特点是:()。? A 数据不保存在计算机中 ? B 没有软件系统对数据进行统一管理 ? C 基本没有文件的概念 ? D 数据与程序不具备独立性,一组数据对应一个程序,数据是面向程序的 ? E 程序和程序之间存在着大量的重复数据 ? 多选题

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

第8章关系查询处理和查询优化 1 .试述查询优化在关系数据库系统中的重要性和可能性。 答:重要性:关系系统的查询优化既是RDBMS 实现的关键技术又是关系系统的优点所在。它减轻了用户选择存取路径的负担。用户只要提出“干什么”,不必指出“怎么干”。查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较好的效率,而且在于系统可以比用户程序的“优化’夕做得更好。 可能性:这是因为:( l )优化器可以从数据字典中获取许多统计信息,例如关系中的元组数、关系中每个属性值的分布情况、这些属性上是否有索引、是什么索引(B +树索引还是HASH 索引或惟一索引或组合索引)等。优化器可以根据这些信息选择有效的执行计划,而用户程序则难以获得这些信息。( 2 )如果数据库的物理统计信息改变了,系统可以自动对查询进行重新优化以选择相适应的执行计划。在非关系系统中必须重写程序,而重写程序在实际应用中往往是不太可能的。( 3 )优化器可以考虑数十甚至数百种不同的执行计划,从中选出较优的一个,而程序员一般只能考虑有限的几种可能性。( 4 )优化器中包括了很多复杂的优化技术,这些优化技术往往只有最好的程序员才能掌握。系统的自动优化相当于使得所有人都拥有这些优化技术。 2 .对学生一课程数据库有如下的查询:SEI 王CT Cn 即ne FROM Student , Cou 拐e , SC WHERE Student . Sno = SC . Sno AND SC . Cllo = Coll 拐e . Cllo AND Stu 击nt . Sdept = ! 15 ! ; 此查询要求信息系学生选修了的所有课程名称。试画出用关系代数表示的语法树,并用关系代数表达式优化算法对原始的语法树进行优化处理,画出优化后的标准语法树。 答:

《数据库原理及应用》第三次在线作业参考答案

作业 第1题关系代数的基本操作组成关系代数的完备操作集,其他操作均可以由 基本操作来表达。具体而言,关系代数的基本操作有()。 您的答案:C 题目分数:0.5 此题得分:0.5 批注:课件第七章 第2题在具有非过程性查询语言的数据库系统中,()是查询处理的核心。 您的答案:B 题目分数:0.5 此题得分:0.5 批注:概述 第3题关系数据库系统的查询处理包括两个方面的内容:查询优化和()。 您的答案:A 题目分数:0.5 此题得分:0.5 批注:概述 第4题()是选择操作中的线性搜索算法。 您的答案:D 题目分数:0.5 此题得分:0.5 批注:启发式代数优化算法 第5题()是选择操作中的主索引搜索算法。 您的答案:B 题目分数:0.5 此题得分:0.5 批注:启发式代数优化算法 第6题设关系R和S的属性个数分别为r和s,则(R×S)操作结果的属性个 数为()。

题目分数:0.5 此题得分:0.5 批注:笛卡尔积 第7题查询处理最终可转化成基本的()代数操作。 您的答案:A 题目分数:0.5 此题得分:0.5 批注:查询处理过程 第8题计算笛卡尔乘积的最简单算法称为()。 您的答案:C 题目分数:0.5 此题得分:0.5 批注:笛卡尔积 第9题在SQL中,表示选择操作的语句为()。 您的答案:A 题目分数:0.5 此题得分:0.5 批注:关系数据库标准语言SQL 第10题在SQL中,表示连接操作的语句为()。 您的答案:B 题目分数:0.5 此题得分:0.5 批注:连接操作 第11题投影操作中不包含主键,需要去除重复()。 您的答案:D 题目分数:0.5 此题得分:0.5 批注:投影操作 第12题关系代数的四个组合操作是:交、自然连接、连接和()。您的答案:C 题目分数:0.5 此题得分:0.5

第二章 关系数据库习题

第二章 关系数据库 一、选择题: 1、对于关系模型叙述错误的是 。 A .建立在严格的数学理论、集合论和谓词演算公式基础之一 B .微机DBMS 绝大部分采取关系数据模型 C .用二维表表示关系模型是其一大特点 D .不具有连接操作的DBMS 也可以是关系数据库管理系统 2、关系模式的任何属性 。 A .不可再分 B .可再分 C .命名在该关系模式中可以不唯一 D .以上都不是 3、在通常情况下,下面的表达中不可以作为关系数据库的关系的是 。 A .R1(学号,姓名,性别) B .R2(学号,姓名,班级号) C .R3(学号,姓名,宿舍号) D .R4(学号,姓名,简历) 4、关系数据库中的码是指 。 A .能唯一关系的字段 B .不能改动的专用保留字 C .关键的很重要的字段 D .能惟一表示元组的属性或属性集合 5、根据关系模式的完整性规则,一个关系中的“主码” 。 A .不能有两个 B .不能成为另外一个关系的外码 C .不允许为空 D .可以取值 6、关系数据库中能唯一识别元组的那个属性称为 。 A .唯一性的属性 B .不能改动的保留字段 C .关系元组的唯一性 D .关键字段 7、在关系R (R#,RN ,S#)和S (S#,SN ,SD )中,R 的主码是R#,S 的主码是S#,则S#在R 中称为 。 A .外码 B .候选码 C .主码 D .超码 8、关系模型中,一个码是 。 A .可由多个任意属性组成 B .至多由一个属性组成 C .可由一个或多个其值能唯一标识该关系模式中任意元组的属性组成 D .以上都不是 9、一个关系数据库文件中的各条记录 。 A .前后顺序不能任意颠倒,一定要按照输入的顺序排列 B .前后顺序可以任意颠倒,不影响库中的数据关系 C .前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果可能不同 D .前后顺序不能任意颠倒,一定要按照码段的顺序排列 10、关系数据库管理系统应能实现的专门关系运算包括 。 A .排序、索引、统计 B .选择、投影、连接 C .关联、更新、排序 D .显示、打印、制表 11、同一个关系模型的任意两个元组值 。 A .不能全同 B .可全同 C .必须全同 D .以上都不是 12、自然连接是构成新关系的有效方法。一般情况下,当对关系R 和S 使用自然连接时,要求R 和S 含有一个或多个共有的 。 A .元组 B .行 C .记录 D .属性 13、设关系R (A ,B ,C )和S (B ,C ,D ),下列各关系代数表达式不成立的是 。 A .)()(S R D A ππ B .R S ? C .)()(S R B B ππ? D .R S 14、有两个关系R 和S ,分别包含15个和10个元组,则在R S ?,R-S ,R ?S 中不可能出现的元组数 目情况是 。 A .15,5,10 B .18,7,7 C .21,11,4 D .25,15,0 15、取出关系中的某些列,并消去重复元组的关系代数运算称为 。 A .取列运算 B .投影运算 C .连接运算 D .选择运算

相关文档
最新文档