数据库技术与应用习题答案
习题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.B 13.A
1.2 填空题
1. 数据
2. 逻辑独立性 3. 物理独立性
4. 层次模型、网状模型、关系模型
5. 能按照人们的要求真实的表示和模拟现实世界、容易被人理解、容易在计算机上实
现
6. 实体、记录 7. 属性、字段 8. 码 9. 域
10. 一对一(1:1)、一对多(1:n)、多对多(m:n) 11. 实体-联系模型(E-R 模型) 12. E-R 模型
13. 层次模型、网状模型、关系模型 14. 数据操作、完整性约束 15. 矩形、菱形、椭圆 16. 层次模型、一对多 17. 网状模型 18. 关系模型 19. 关系
20. 内模式、模式、外模式 21. 三级模式、二级映像 22. 外模式、模式、内模式 23. 数据、程序 24. 逻辑、物理
25. 数据库管理系统(DBMS )、数据库管理员(DBA )
1.3 填空题 1.简述数据、数据库、数据库管理系统、数据库系统的概念。 数据是用来记录现实世界的信息,并可被机器识别的符号。数据是数据库中存储的基本对象,可以是文字、数字、图形、图像、声音等。数据与其语义是不可分的。 数据库是长期存储在计算机内、有组织、可共享的数据集合。数据库中的数据按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学的组织和存储数据、高效的获取和维护数据。DBMS 的主要功能包括数据定义功能、数据操纵功能、
数据库的运行管理功能、数据库的建立与维护功能。 数据库系统是包括与数据库有关的整个系统,一般由数据库、数据库管理系统(及其开发工具)、应用程序、软硬件支撑环境、数据库管理员和各种用户构成。 2.实体型与关系模式有什么区别? 实体型是信息世界中对具有相同属性同类实体的抽象描述,是按用户的观点对数据和信息建模,用于数据库的概念设计。关系模式是机器世界中对关系模型数据库中关系结构的抽象描述,按计算机系统的观点对数据建模,主要用于DBMS 的实现。 3.数据库系统有哪些特点? ① 数据结构化。数据结构化是数据库的主要特征之一,也是数据库系统与文件系统的根本区别。数据库系统中,数据不再仅仅针对某一个应用,而是面向全部应用,不仅数据内部是结构化的,整体也是结构化的,数据之间也存在着联系。因此描述数据时,不仅要描述数据本身,还要描述数据之间的联系。 ② 数据的共享性高,冗余度低,容易扩充。 ③ 数据独立性高。数据独立性包括逻辑独立性和物理独立性,指数据的逻辑结构和物理结构发生改变时,程序不会改变。这是由DBMS 的三级模式结构和两级映像功能来保证的。 ④ 数据由DBMS 统一管理和控制。数据库的共享是并发共享,即多个用户可以同时存取数据库中的数据,因此,由DBMS 提供统一的数据控制功能,包括安全性保护、完整性检查、并发控制和数据库恢复。 4.什么是数据模型?数据模型的作用及三要素是什么? 数据模型是人们对现实世界中事物认识和抽象的近似描述,是数据库设计过程中用来对现实世界进行抽象和描述的工具,用于描述数据、组织数据和对数据进行操作。 数据模型用于对现实世界中具体事物进行抽象、描述和处理,便于把现实世界中的事物转化为数据库系统中的数据,是数据库系统的核心和基础。 数据模型的三要素即数据结构、数据操作和完整性约束。数据结构描述数据库的组成对象及对象之间的联系,即所描述的对象类型的集合,是对系统静态特性的描述。数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括允许执行的操作及操作规则,是对系统动态特性的描述。完整性约束是一组完整性规则的集合,用以保证数据的正确性、有效性和相容性。 5.试述数据库系统的三级模式结构,其优点是什么? 数据库系统的三级模式结构由外模式、模式和内模式组成。 外模式也称为子模式或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的逻辑表示。 模式也称为逻辑模式,是数据库中全体数据的逻辑结构和特性的描述,是所有用户的公共数据视图。 内模式也称为存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。 数据库系统的三级模式是针对数据的3个抽象级别,它把数据的具体组织留给DBMS 管理,使用户能抽象的处理数据,而不必关心数据在计算机中的具体表示和存储方式。 6.什么是数据库的逻辑独立性?什么是数据库的物理独立性?为什么数据库系统具有数据和程序的独立性? 逻辑独立性是指当模式改变时,由数据库管理员对各个外模式/模式映像作相应的改变,可以使外模式保持不变。应用程序依据数据的外模式编写,从而应用程序不必修改。 物理独立性是指当数据库的存储结构发生改变时,由数据库管理员对模式/内模式映像
作相应的改变,可以使模式保持不变,从而应用程序也不必改变。 由数据库管理系统在三级模式结构之间提供的两级映像功能保证了数据库系统中的数据具有较高的逻辑独立性和物理独立性。 7.数据库系统由哪几部分组成? 数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用程序、数据库的软硬件支撑环境,数据库管理员和各种用户组成。 8.DBA 的职责是什么? DBA 负责全面管理和控制数据库系统。具体职责包括:① 数据库系统的设计与建立;② 决定数据库的存储结构和存取策略;③ 监控数据库的使用和运行;④ 定义数据的安全性要求和完整性约束条件;⑤ 数据库系统的改进、重组和重构。
1.4 综合题 1.
2.
产品:编号,名称,规格,价格 零件:编号,名称,规格,价格 材料:编号,名称,规格,价格
仓库:编号,名称,面积,地址,电话,责任人 3.
公司:公司名,地址,电话,总经理 商店:编号,店名,地址,电话,经理
商品:条形码,名称,规格,原价,现价,供货商,供货电话,生产厂家,厂家电话 职工:编号,姓名,性别,出生日期,职务,联系电话,家庭地址,工作商店
习题2 参考答案
1.1 选择题 1.D 2.A 3.B 4.C 5.C 6.D 7.A 8.B
1.2 填空题
26. 集合
27. 能唯一标识一个实体的属性或属性组 28. 系编号、学号、系编号 29. 关系、元组、属性
30. 关系代数、关系、实体、实体之间的联系 31. 投影
1.3 填空题 1.试述关系数据模型的3个组成部分。 关系数据模型由关系数据结构、关系操作和关系完整性约束3部分组成。关系模型的数据结构是关系,无论是实体还是实体之间的联系均由关系表示。关系操作是集合操作方式,操作对象及操作结果都是集合,关系操作主要包括查询、插入、删除和更新。关系完整性约束是对关系操作的约束条件,以保证数据的准确性和一致性,包括实体完整性、参照完整性和用户自定义完整性。 2.解释下列术语:域、笛卡尔积、主码、候选码、外码、元组、属性? 域:一组具有相同数据类型的值的集合。 笛卡尔积:给定一组域D 1,D 2,…,D n ,这组域中可以是相同的域。D 1,D 2,…,D n
的笛卡尔积为:
D 1⨯D 2⨯ ⨯D n ={(d 1, d 2, d n )|d i ∈D i , i =1, 2, n }
属性:关系中的每一列(即实体的每个特征)。 元组:关系中的每一行。 候选码:能唯一标识每个元组的属性或属性组。 主码:被选定用来区分每个元组的候选码。 外码:设F 是基本关系R 的一个或一组属性,但不是关系R 的码。但F 与另一个关系S 的码K s 相对应,则称F 是关系R 的外码。
1.4 综合题
1.
πSNO (σCNO =' 2' (SC ))
2.
πSNO (σCNAME =' 信息系统' (S C COURS E ))
3.
πSNO , SNAME , SAG E (STUDENT )
第四章习题答案
4.1 单项选择题:
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 填空题: 1、 drop table
2、 alter table add 3、 with check option 4、 基本表 基本表
5、 distinct group by roder 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
注意:该题目中给出的条件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 AND STU_INFO.ZYH = GFIED.ZYH
GROUP BY STU_INFO.XH, XM, XSM, ZYM, BH, PYCCM HA VING 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' 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 提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行
数据库运行和维护阶段
数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地
对其进行评价、调整与修改。包括:数据库的转储和恢复、数据库的安全性和完整性控制、数据库性能的监督、分析和改进、数据库的重组织和重构造。
5 P149最后一段
6 ER 图是用来描述某一组织(单位) 的概念模型,提供了表示实体、属性和联系的方法。构成ER 图的基本要素是实体、属性和关系。实体是指客观存在并可相互区分的事特;属性指指实体所具有的每一个特性。
7
(2) 码:商店编号
顾客(顾客编号,姓名,性别,家庭住址,出生年月)码:顾客编号 消费(商店编号,顾客编号,消费金额) 码:商店编号,顾客编号