您的当前位置:首页《数据库技术及应用 (第2版)》课后习题答案

《数据库技术及应用 (第2版)》课后习题答案

2021-04-05 来源:爱问旅游网


数据库技术及应用

习题答案

济南大学 闫明霞 等 二〇〇七年十二月

习题 1

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 填空题

1. 数据

2. 数据的逻辑独立性 3. 数据的物理独立性

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

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

10. 一对一、一对多、多对多 11. E-R模型 12. E-R模型

13. 层次模型、网状模型、关系模型 14. 数据操作、完整性约束 15. 矩形、菱形、椭圆形 16. 层次模型、一对多 17. 网状模型 18. 关系模型 19. 关系

20. 外模式、模式、内模式 21. 三级模式、两级映像 22. 外模式、模式、内模式 23. 数据、程序

24. 数据逻辑、数据物理

25. DBMS(数据库管理系统)、DBA(数据库管理员)

1.4 综合题

2.

产品 n 组成 1 n m 零件 n p 仓库 存放 制成 材料

(注:各实体的属性省略) 3. 编号 个数 店名

店号

编号

地址 公司 1 拥有 n 商店 1 服务 n 职工 姓名 m 名称 经营模式 p 编号 经营 商品 名称 人数 价格 性别 习题 2

2.1 单项选择题

1、 C 2、 A 3、 B 4、 C 5、 C 6、 D 7、 A 8、 B

2.2 填空题

1. 集合

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

5. 关系模型,关系, 实体, 实体间的联系

6. 投影

2.4 综合题

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

2、 sno(σcname=’信息系统’(SCCOURSE)) 3、 no,SNAME,SAGE(STUDENT)

习题 4

4.1 单项选择题

1、 B 2、A 3、C 4、A 5、A 6、C 7、C 8、D 9、B 10、A 11、B 12、A 13、C 14、C 15、C

4.2 填空题

1、 drop table

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

5、 distinct group by order by 6、 数据定义 数据操纵 数据控制 7、 distinct 8、 like % _

9、 自含式 嵌入式 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

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 ROM STU_INFO WHERE XM = '李明' ) ORDER BY XH

5、SELECT DISTINCT KCH, KM FROM STU_INFO, XK

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

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

WHERE KSCJ > 85 AND STU_INFO.XH = XK.XH 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 AND 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 km = '大学英语' ) 13、UPDATE xk

SET KCXF=6

WHERE KCH = '090101' 14、CREATE TABLE CCOURSE ( KCH char(6), KM varchar(30), KCYWM varchar(30)

)

15、CREATE VIEW ISE AS

SELECT *

FROM STU_INFO WHERE XSH=’03’

习题 5

5.1 单项选择题

1、 B 2、A 3、B 4、A 5、B 6、C 7、B

5.2 填空题

1、使属性域变为简单域 消除非主属性对主关键字的部分依赖 键字的传递依赖 2、平凡函数依赖 3、Y也相同 唯一的Y值

消除非主属性对主关

5.3 简单题

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提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行

数据库运行和维护阶段

数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地

对其进行评价、调整与修改。包括:数据库的转储和恢复、数据库的安全性和完整性控制、数据库性能的监督、分析和改进、数据库的重组织和重构造。

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

电话 m 商店 消费 n 顾客 家庭住址 出生年月 地址 商店 编号 商店名 消费金额 顾客编号 姓名 性别

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

顾客(顾客编号,姓名,性别,家庭住址,出生年月)码:顾客编号

消费(商店编号,顾客编号,消费金额) 码:商店编号,顾客编号

习题6

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 综合题

1. 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 图书(图书号) )

实验篇答案

实验 3

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、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=’信息科学与工程’)

2、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

3、Select xh,xm,xsm from stu_info,gdept where stu_info.xsh=gdept.xsh and xh like ‘2000%’

4、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

1、 reate view num_ban as select count(distinct bh) from stu_info 2、 reate view ban as select distinct bh from stu_info

3、 Create view is_stu as select xm,xbm,bh from stu_info where xsh=’01’ or xsh=’02’ 4、 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 9、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=’高等数学’) )

实验 8

1、 create table s (sno varchar(10) primary key, sname varxhar(20) not null unique, status int

default 10,city varchar(20) not null )

create table p (pno int identity (1,1) primary key, pname varxhar(20) , color varchar(10), weight float check ( weight between 10 and 30) )

create table ps (sno varchar(10) references s (sno), pno int references p (pno), qty int ,price float, total as qty*price, primary key(sno,pno) ) 2、 delete from p where pname=’螺母’ 3、 update ps set price=price*2

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