页眉内容
《数据库原理与应用》课后习题参考答案
第一章 作业参考答案
1. 单选题 C C D B C 2. 判断题 对错错 错对
3 填空题 网状模型 用户 商业智能 数据挖掘 系统设计 4 简答题
1)
数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构
及其说明。数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。3)数据约束:用于描述数据结构中数据之间的语义联系、数据之间的制约和依存关系,以及数据动态变化的规则。 主流数据库采用关系图模型。数据库典型数据模型:层次数据模型 网状数据模型 关系数据模型其它数据模型(如对象数据模型、键值对数据模型、列式数据模型。。。) 2)
数据库——是一种依照特定数据模型组织、存储和管理数据的文件,数据
库文件一般存放在辅助存储器以便长久保存。数据库具有如下特点:数据不重复存放; 提供给多种应用程序访问; 数据结构独立于使用它的应用程序; 对数据增、删、改、检索由统一软件进行管理和控制。 3)
数据库(Database)是一种依照特定模型组织、存储和管理数据的数据结
构。在数据库中,不仅存放了数据,而且还存放了数据与数据之间的关系。数据库内部元素:用户表:用户在数据库中创建的数据库表;系统表:数据库中系统自带的数据库表;视图:数据库中用于对数据进行查询的虚拟表;索引:数据库中用于加快数据查询的索引项;约束:数据库中对数据、数据关系施加的规则;存储过程:数据库内部完成特定功能处理的程序;触发器:数据库内部因数据变化自动执行的一类存储过程等等 4) 5)
数据库系统包括:用户、数据库应用程序、数据库管理系统和数据库四个数据库管理系统(Database Manage System,DBMS )——是一种专门用
组成要素。
来创建数据库、管理数据库、维护数据库,并提供对数据库访问的系统软件。数据库管理系统(DBMS)主要功能:创建数据库和表; 创建支持结构,如索引等; 读取数据库数据 ; 修改数据库数据; 维护数据库结构; 执行规则; 并发控制; 提供安全性; 执行备份和恢复等等
第二章 作业参考答案
1 单选题 C B D A A
2. 判断题 对对错 对 错
3 填空题 全外连接 数据约束 候选键 用户定义完整性 4 简答题
1)
外码键
在关系模型中,使用“关系”来存储“实体”中的数据。关系
(relation)——是指存放实体数据的二维表。关系特征:行存储实体的个体数
页眉内容
据; 列存储所有实体个体属性的数据; 表中单元格存储单个值, 所有的列必须是原子的; 每列的所有实体个体数据类型一致; 每列具有唯一名称; 列顺序可任意;行顺序可任意;任意两行互不重复。 2)
键(key)——是指关系中用来唯一标识元组的单个列或多列。候选键—
—关系中可能有多个键,每个都是候选键。主键(Primary key)也是候选键之一,关系表可以有多个候选键,但只能定义一个主键。主键作用:唯一标识关系的每行; 作为关联表的外键,链接两个表; 使用主键值来组织关系的存储; 使用主键索引快速检索数据 3)
代理键——采用 DBMS 自动生成的数字序列作为关系表的主键。由 DBMS
自动生成的数字序列作为主键,可替代复合主键。由 DBMS 自动生成的数字序列作为主键,可替代复合主键。 4)
在关系表定义中,主键属性不允许空值(Null),即必须有具体值。其它
属性可以允许空值。NULL 值只是代表该属性可以没有具体值,它与零值、空格字符、Tab 字符是不同的。 5)
参照完整性:关系模型中实体及实体间的联系都是用关系来描述的,因
此可能存在着关系与关系间的引用。参照完整性规则:若属性(或属性组)F 是基本关系 R 的外码,它与基本关系 S 的主码 Ks 相对应(基本关系 R 和 S 不一定是不同的关系),则对于 R 中每个元组在 F 上的值必须为:或者取空值(F 的每个属性值均为空值),或者等于 S 中某个元组的主码值。参照完整性属于表间规则例子:课程表
字段名称
课程编号 课程类别 学分 学时
字段编码 数据类型 字段大小
CourseID 文本 4 是 主键
20 是 否
10 否 否
CourseType 文本
必填字段
是否为键
课程名 CourseName 文本
CourseCredit 数字 短整型 否 否 CoursePeriod 数字 短整型 否 否
TestMethod 文本
10 否 否
考核方式
学生表
字段名称 字段编码 数据类型 字段大小 学号 StudentID 文本 12 是 主键 姓名 性别
StudentName 文本 StudentGender 文本
10 是 否
2 否 否
必填字段
是否为键
出生日期 BirthDay 日期 短日期 否 否
专业 Major 文本 30 否 否
手机号 StudentPhone 文本 11 否 否 选课注册表 有两个外键开课编号 学号 动编号 长整型 是 代理键 开课编号 CoursePlanID 数字
长整型 是 外键
字段名称 字段编码 数据类型 字段大小 必填字段 是否为键注册编号 CourseRegID 自
页眉内容
学号 StudentID 备注 Note文本 5 应用题 1) a)
A a2 a2 a2 a1 a1 a1 a2 a2 a2 a2 a2 a2 a3 a3 a3 b)
a2
c)
B b1 b1 b1 b3 b3 b3 b2 b2 b2 b3 b3 b3 b1 b1 b1
文本 12 是 外键 30 否 否
C c2 c2 c2 c1 c1 c1 c1 c1 c1 c3 c3 c3 c2 c2 c2 B b1 b2 b3 b1 b2 b3 b1 b2 b3 b1 b2 b3 b1 b2 b3 C c2 c1 c3 c2 c1 c3 c2 c1 c3 c2 c1 c3 c2 c1 c3 D d3 d1 d3 d3 d1 d3 d3 d1 d3 d3 d1 d3 d3 d1 d3
a2 b1 c2 d3 a2 b2 c1 d1 a2 b3 c3 d3 a2 b1 c2 d3
d)
a2 b1 c2 d3 a2 b2 c1 d1 a2 b3 c3 d3
a2 b1 c2 d3
2)IIname(READER jion BOOK Join PUBLISH) 3)
第三章 作业参考答案
1 单选题 A C D C A 2. 判断题 对错 对错 对
页眉内容
3 填空题 IBM 4 简答题
insert update sum, left jion
1) SQL( Structured Query Language,结构化查询语言)是一种对数据库进行访问的数据操作子语言。其 SQL 语句执行命令完成对数据库访问操作。(1)语法简单,易学易用,类似于英语自然语言。
(2)高度非过程化的语言。只输入操作的种类和范围,不关心存取路径等内容。(3)面向集合的语言。(4)SQL 独立使用,也可以嵌入到宿主语言 (5)功能强大。定义关系模式、创建数据库、插入数据、更新数据、复杂查询、维护数据、重构数据库和控制数据库安全等。 2)在实际应用中,通常需要关联多表才能获得所需的信息。在 SELECT 查询语句中,可使用子查询方式实现多表关联查询。在处理多个表时,子查询只有在结果来自一个表的情况下才有用。但如果需要显示两个或多个表中的数据,就不能使用子查询,而需要采用连接操作。 在 SQL 语言中,实现多表关联查询还可以使用 JOIN…ON 关键词的语句格式。
3)关系表中数据完整性、表之间数据一致性等要求。具体是由业务需求来确定。数据的完整性包括实体完整性、参照完整性、用户定义完整性。具体在关系数据库表中的约束:主键的定义; 属性列取值类型 type;属性列取值范围;属性列取值是否唯一 unique;属性列是否允许空值 NULL; 关联表的参照完整性约束即外键的定义。
4)列约束是定义在每个列上,列约束子句包括 PRIMARY KEY——主键, NOT NULL——非空值, NULL——空值, UNIQUE——值唯一, CHECK——有效性检查, DEFAULT——缺省值。 表约束是对整个表格的约束性,使用表约束定义主键的优点: CONSTRAINT
DEPARTMENT_PK PRIMARY KEY(DepartmentName , 便于定义复合主键, 可命名主键约
束,便于定义代理键。外键及其参照完整性约束 CONSTRAINT DEPARTMENT_FK FOREIGN KEY(DEPARTMENT) REFERENCES DEPARTMENT(DepartmentName)
5)视图——是一种通过其它表或视图构建的虚拟表。它本身没有自己的数据,而是使用了存储在表或其它视图中的数据。基本语句格式 CREATE 2),…] AS
使用视图简化复杂 SQL 查询操作:通过视图,数据库开发人员可以将复杂的查询语句封装在视图内,使外部程序只需要使用简单方式访问该视图,便可获取所需要的数据。 使用视图提高数据访问安全性通过视图可以将基本数据表部分敏感数据隐藏起来,外部用户无法得知数据表的完整数据,降低数据库被攻击的风险。此外,还可以保护部分隐私数据。 3. 提供一定程度的数据逻辑独立性:通过视图,可提供一定程度的数据逻辑独立性。当数据表结构发生改变,只要视图结构不变,应用程序可以不作修改。
集中展示用户所感兴趣的特定数据:通过视图,可以将部分用户不关心的数据进行过滤,仅仅提供他们所感兴趣的数据。
VIEW
<视图名>[(列名 1),(列名
页眉内容
第四章
1 单选题 C B C B A 2. 判断题 对对错 错 错
3 填空题 弱实体;概念模型设计 逻辑模型设计 物理模型设计;
1:1 一对一 1:N 一对多 m:N 多对多; ID 依赖 非 ID 依赖,父实体子实体
4 简答题
1) 在从现实世界到计算机世界的数据库设计过程中,经历了概念层设计、逻辑层设计及物理层设计三个阶段,其创建的数据模型分别称为概念数据模型、逻辑数据模型和物理数据模型。在从现实世界到计算机世界的数据库设计过程中,经历了概念层设计、逻辑层设计及物理层设计三个阶段,其创建的数据模型分别称为概念数据模型、逻辑数据模型和物理数据模型。在逻辑数据模型中,是从系统设计角度描述系统的数据对象组成及其关系,并考虑这些数据对象在计算机系统中的逻辑表示。在物理数据模型中,系统数据被描述为“数据表”、
“主键”、“外键”等形式。该数据模型需要考虑在计算机系统中的具体 DBMS 实现方式。 2) 数据需求分析选题概念数据建模、系统逻辑数据建模、系统物理数据建模 数据库实现。 E-R 模型是“实体-关系模型”(Entity-Relationship Model)的简称。它是一种描述现实世界概念数据模型的有效方法。
3)实体(Entity)是客观世界中描述事物数据对象的抽象概念。实体可以是人,也可以是物或抽象的概念;可以指事物本身,也可以指事物之间的关系,如一个人,一件物品,一个部门等都可以是实体。实每个实体都有自己的一组数据特征,这些描述实体的数据特征称为实体的属性(Attribute)。例如,学生实体具有学号、姓名、性别等属性。不同实体的属性是不同的。实体间的关系,关系表示一个或多个实体之间的关联关系。
4) 实体之间关联的数目称为元。实体自己与自己之间的关系称为一元关系,也称递归关系。两个实体之间的关系称为二元关系;三个实体之间的关系称为三元关系。在实际应用中,二元关系是最常见的实体关系。
5) 在“一对一”、“一对多”和“多对多”的关系中,把两个实体集中有关系的实体关系数量分成两种类型:“唯一”和“不唯一”。例如,学校规定对于全校公选课,学生每学期至少选修 1 门课程,最多选修 5 门课程;每门课程最少要有 15 个人选,最多不能超过 150 人。对于这种情况,首先确定学生的基数是(15,150),课程的基数是(1,5)。这种实体关系的对应数目称为这个关系的基数,用(min,max)形式表示,其中 min 表示最小基数,max 表示最大基数。如果最小基数为 0,则关系中的实体参与是可选的。如果最小基数为 1,则关系中的实体参与是强制性的。
6)二元实体关系有三种类型:一对一关系、一对多关系和多对多关系。