您的当前位置:首页正文

数据库技术与应用课后习题答案

2020-06-30 来源:易榕旅网
第一章习题答案 1.1 选择题

1. A 2. C 3. C 4. B 5. C 6. A 7. C 8. B 9. D 10. A 11. D 12. A 13. A 1.2 填空题 数据

数据的逻辑独立性 数据的物理独立性

层次数据模型,网状数据模型,关系数据模型

能按照人们的要求真实地表示和模拟现实世界、容易被人们理解、容易在计算机上实现 实体、记录 属性、字段 码 域

一对一、一对多、多对多 E-R模型 E-R模型

层次模型、网状模型、关系模型 数据操作、完整性约束 矩形、菱形、椭圆形 层次模型、一对多 网状模型 关系模型 关系

外模式、模式、内模式 三级模式、两级映像 外模式、模式、内模式 数据、程序

数据逻辑、数据物理

DBMS(数据库管理系统)、DBA(数据库管理员) 1.4 综合题 2.

(注:各实体的属性省略了) 3.

第二章习题答案 1.1 单项选择题

1. C 2. A 3. B 4. C 5. C 6. D 7. A 8. B 1.2 填空题 集合

2. 能唯一标识一个实体的属性 系编号, 学号,系编号 关系, 元组, 属性

关系模型,关系, 实体, 实体间的联系 投影

1.4 综合题

1. πsno(σcno=’2’(SC))

2. πsno(σcname=’信息系统’(SCCOURSE)) 3. πsno,SNAME,SAGE(STUDENT)

第三章习题答案 1.1

select * from jobs 1.2

select emp_id,fname+'-'+lname as 'Name' from employee 1.3

select emp_id,fname+'-'+lname as 'Name',Year(getdate())-Year(hire_date) as 'worke time' from employee order by 'worke time' 2.1

select * from employee where fname like 'f%' 2.2

select * from employee where job_id='11' 2.3

select emp_id,fname+'-'+lname as 'Name', Year(getdate())-Year(hire_date) as worketime from employee

where (Year(getdate())-Year(hire_date)) >5 order by worketime 2.4

select * from employee where cast(job_id as integer)>=5 and cast(job_id as integer)<=8 2.5

select * from employee where fname='Maria' 2.6

select * from employee where fname like '%sh%' or lname like '%sh%' 3.1

select * from sales where ord_date <'1993-1-1' 4.1

select distinct bh, zyh from stu_info where bh in (

select bh from stu_info group by (bh)

having count(*)>30 and count(*)<40 )

order by bh

或者是

select bh,zyh from stu_info group by zyh,bh

having count(bh)>30 and count(bh)<40 order by bh 4.2

select * from gban where bh like '计%' 4.3

select * from gfied

where zym like '%管理%' 4.4

select xh,xm,zym,stu_info.bh,rxsj from stu_info,gfied,gban where nl>23 and stu_info.zyh=gfied.zyh and stu_info.bh=gban.bh 4.5

select zyh,count(*) from gban where xsh='03' group by zyh 第四章习题答案 4.1 单项选择题:

B 2、A 3、C 4、A 5、A 6、C 7、C 8、D 9、B 10、A 11、C(或B,即书上121页例题中from的写法) 12、A 13、C 14、C 15、C 4.2 填空题: drop table

alter table add <列名或约束条件> with check option 基本表 基本表

distinct group by roder by 数据定义 数据操纵 数据控制 distinct like % _

自含式 嵌入式

10、order by asc desc 4.3 综合题

1、SELECT XH, XM, ZYM, BH, RXSJ FROM STU_INFO, GFIED

WHERE STU_INFO.ZYH = GFIED.ZYH AND NL > 23 AND XBM = '男' 2、SELECT ZYM 专业名, count(*) 人数 FROM STU_INFO, GFIED WHERE STU_INFO.XSH = '03' AND STU_INFO.ZYH = GFIED.ZYH GROUP BY ZYM

注意:该题目中给出的条件XSH = '03'中的03代表的是“控制科学与工程”学院,信息学院的代码是12,大家可根据具体情况来做该题。

3、SELECT bh,count(*) as 人数 FROM STU_INFO GROUP BY bh 4、SELECT XH, XM, XBM, BH FROM STU_INFO WHERE ZYH IN ( SELECT ZYH FROM STU_INFO WHERE XM = '李明' ) ORDER BY XH

5、SELECT DISTINCT GCOURSE.KCH, KM FROM STU_INFO, XK, GCOURSE WHERE XK.KCH = GCOURSE.KCH AND STU_INFO.XSH = '12' AND STU_INFO.XH = XK.XH

该题中设计到的课程名称只有在GCOURSE表中存在,所以在题目开始的几个表中还应填加该表。另外把信息学院的代码改为12。

6、SELECT COUNT(DISTINCT KCH) AS 选课门数, AVG(KSCJ) AS 平均成绩 FROM STU_INFO, XK

WHERE STU_INFO.XH = XK.XH AND XSH = '12'

7、SELECT DISTINCT STU_INFO.XH, XM, BH, ZYM, KM FROM STU_INFO, XK, GFIED, GCOURSE

WHERE KSCJ > 85 AND STU_INFO.XH = XK.XH AND XK.KCH = GCOURSE.KCH AND STU_INFO.ZYH = GFIED.ZYH

ORDER BY ZYM, BH, STU_INFO.XH

8、SELECT STU_INFO.XH, XM, XSM, ZYM, BH, PYCCM FROM STU_INFO, XK, GDEPT, GFIED

WHERE KKNY = '20011' AND STU_INFO.XH = XK.XH AND STU_INFO.XSH = GDEPT.XSH STU_INFO.ZYH = GFIED.ZYH

GROUP BY STU_INFO.XH, XM, XSM, ZYM, BH, PYCCM HAVING COUNT(*) > 10 9、SELECT DISTINCT bh FROM STU_INFO

10、DELETE * FROM STU_INFO WHERE XH LIKE '2000%' 或

DELETE * FROM STU_INFO WHERE LEFT(XH,4) = '2000' 11、ALTER TABLE STU_INFO ADD BYSJ varchar(8) 12、UPDATE XK SET KSCJ = 60

WHERE KSCJ BETWEEN 55 AND 59 and XH in ( SELECT xh FROM stu_info WHERE zyh = '0501' ) and KCH in ( SELECT kch FROM gcourse WHERE km = '大学英语' ) 前面已经考虑到在该题目中应该加入学生课程信息表(GCOURSE) 13、UPDATE GCOURSE SET KCXF=6

WHERE KCH = '090101'

AND 14、CREATE TABLE CCOURSE ( KCH char(6), KM varchar(30), KCYWM varchar(30) )

15、CREATE VIEW ISE AS SELECT *

FROM STU_INFO WHERE XSH=’12’ 第五章课后答案 5.1

1~7 BABABCB 5.2

1 使属性域变为简单域 消除非主属性对主关键字的部分依赖 消除非主属性对主关键字的传递依赖

2 平凡函数依赖 3 Y也相同 唯一的Y值 5.3

1 函数依赖:P136定义5.1 部分函数依赖:P138定义5.4 完全函数依赖:P138定义5.4 传递函数依赖:P138定义5.5 1NF:P139定义5.6 2NF:P141定义5.7 3NF:P142定义5.8 BCNF:P144定义5.9

在全码关系中R〈U,F〉中若存在这样的码X,属性组Y及非主属性Z 使得X→Y, Y→Z成立,所以全码关系R〈U,F〉∈3NF。

在全码关系R〈U,F〉中,对于R中的函数依赖,若X→Y且X必含有码,所以全码关系R∈BCNF 2 (1) R的码是(Sno,Cno),R是1NF,因为Teacher和Title属性部分函数依赖于码(Sno,Cno),所以R∈1NF (2)SC(Sno,Cno,Grade)CT(Cno,teacher) TT(Teacher,title) 3 D->B C->A 4 需求分析

需求分析是数据库设计的第一个阶段,从数据库设计的角度来看,需求分析的任务是对现实世界要处理的对象(组织、部门、企业等)进行详细的调查了解,通过对原系统的了解,收集支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能。 概念结构设计阶段

将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。简单地说数据库概念结构设计的任务就是根据需求分析所确定的信息需求,建立信息模型。如E-R模型。 逻辑结构设计阶段

数据库逻辑结构设计的任务是把概念结构设计阶段所得到的与DBMS无关的数据模式,转换成某一个DBMS所支持的数据模型表示的逻辑结构。 数据库物理设计阶段

数据库物理设计是对给定的关系数据库模式,根据计算机系统所提供的手段和施加的限制确定一个最适合应用环境的物理存储结构和存取方法 数据库实施阶段

在数据库实施阶段,设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行 数据库运行和维护阶段

数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。包括:数据库的转储和恢复、数据库的安全性和完整性控制、数据库性能的监督、分析和改进、数据库的重组织和重构造。 P149最后一段

ER图是用来描述某一组织(单位)的概念模型,提供了表示实体、属性和联系的方法。构成ER图的基本要素是实体、属性和关系。实体是指客观存在并可相互区分的事特;属性指指实体所具有的每一个特性。

商店(商店编号,商店名,地址,电话) 码:商店编号

顾客(顾客编号,姓名,性别,家庭住址,出生年月)码:顾客编号 消费(商店编号,顾客编号,消费金额) 码:商店编号,顾客编号 第六章习题答案 6.1 单项选择题

1、A 2、D 3、D 4、D 5、B 6、D 7、C 6.2 填空题

1、原子性 一致性 隔离性 持续性 ACID 2、软故障 硬故障 3、静态 动态

4、丢失修改 不可重复读 读“脏”数据 5、自主存取控制 强制存取控制

6、实体完整性约束 参照完整性约束 用户自定义完整性约束 6.4 综合题

create table 读者 ( 借书证号 char(10) primary key, 姓名 varchar(10) not null, 年龄 tinyint not null,

所在院系 varchar(20) not null )

create 图书 (

图书号 char(8) primary key, 书名 varchar(20) not null, 作者 varchar(10) not null, 出版社 varchar(30) not null,

价格 real not null check(价格>0 and 价格<=120) )

create 借阅 (

借书证号 char(10) not null,

图书号 char(8) not null, 借阅日期 datetime not null, primary key(借书证号, 图书号),

foreign key(借书证号) references 读者(借书证号), foreign key(图书号) references 图书(图书号) )

实验4 答案

Select xh,xm,xbm from stu_info,gdept where stu_info.xsh=gdept.xsh and gdept.xsm=’信息科学与工程’ 或 Select xh,xm,xbm from stu_info where xsh=(select xsh from gdept where xsm=’信息科学与工程’) Select stu_info.xh,xm,km from stu_info,xk,gcourse where stu_info.xh=xk.xh and xk.kch=gcourse.kch and kscj>85

Select xh,xm,xsm from stu_info,gdept where stu_info.xsh=gdept.xsh and xh like ‘2000%’ Select xh, xm from stu_info where xh in (select xh from xk where kch=’090101’ and kscj<60)

或 select stu_info.xh,xm from stu_info,xk where stu_info.xh=xk.xh and kch=’090101’ and kscj<60 5. select stu_info.xh,xm,km from stu_info,xk,gcourse where stu_info.xh=xk.xh and xk.kch=gcourse.kch and xsh=’12’ and kscj<60

6. select stu_info.xh,xm,xsm from stu_info,xk,gdept where stu_info.xsh=gdept.xsh and stu_info.xh=xk.xh and kkny=’20011’ group by stu_info.xh,xm,xsm having count(*)>=10 实验5 答案

1、2题参考实验4答案

3. Select xh,xm,xbm,bh from stu_info where zyh in (select zyh from stu_info where xm=’李明’) order by xh 实验6答案

Create view num_ban as select count(distinct bh) from stu_info Create view ban as select distinct bh from stu_info

Create view is_stu as select xm,xbm,bh from stu_info where xsh=’01’ or xsh=’02’

Create view zhang_stu as select * from stu_info where xsh=’01’ and xm like ‘张%’

或 Create view zhang_stu as select * from stu_info,gdept where xsm=’材料科学与工程’ and xm like ‘张%’ and stu_info.xsh=gdept.xsh

8. Create view 材0168 as select stu_info.*,xk.* from stu_info,xk where bh=’材0168’ and stu_info.xh=xk.xh

Create view gaoshu _stu as select xm from stu_info,xk,gcourse where stu_info.xh=xk.xh and gcourse.kch=xk.kch and km=’高等数学’

或 Create view gaoshu _stu as select xm from stu_info where xh in(select xh from xk where kch =(select kch from gcourse where km=’高等数学’) )

因篇幅问题不能全部显示,请点此查看更多更全内容