《数据库原理与应用》课后习题参考答案
第一章 作业参考答案 1. 单选题 C C D B C 2. 判断题 对错错 错对
3 填空题 网状模型 用户 商业智能 数据挖掘 系统设计 4 简答题
1)
数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及
其说明。数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。3)数据约束:用于描述数据结构中数据之间的语义联系、数据之间的制约和依存关系,以及数据动态变化的规则。 主流数据库采用关系图模型。数据库典型数据模型:层次数据模型 网状数据模型 关系数据模型其它数据模型(如对象数据模型、键值对数据模型、列式数据模型。。。)
2) 数据库——是一种依照特定数据模型组织、存储和管理数据的文件,数据库
文件一般存放在辅助存储器以便长久保存。数据库具有如下特点:数据不重复存放; 提供给多种应用程序访问; 数据结构独立于使用它的应用程序; 对数据增、删、改、检索由统一软件进行管理和控制。
3) 数据库(Database)是一种依照特定模型组织、存储和管理数据的数据结构。在
数据库中,不仅存放了数据,而且还存放了数据与数据之间的关系。数据库内部元素:用户表:用户在数据库中创建的数据库表;系统表:数据库中系统自带的数据库表;视图:数据库中用于对数据进行查询的虚拟表;索引:数据库中用于加快数据查询的索引项;约束:数据库中对数据、数据关系施加的规则;存储过程:数据库内部完成特定功能处理的程序;触发器:数据库内部因数据变化自动执行的一类存储过程等等
4)
成要素。
数据库系统包括:用户、数据库应用程序、数据库管理系统和数据库四个组数据库管理系统(Database Manage System,DBMS )——是一种专门用来创
5)
建数据库、管理数据库、维护数据库,并提供对数据库访问的系统软件。数据库管理系统(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 否 否
必填字段
是否为键
课程名 CourseName 文本 课程类别 学分 学时
CourseType 文本
CourseCredit 数字 CoursePeriod 数字
短整型 否 否 短整型 否 否
10 否 否
考核方式 学生表
TestMethod 文本
字段名称 字段编码 数据类型 学号 姓名
StudentID 文本 StudentName 文本
字段大小 12 是 主键 10 是 否
必填字段
是否为键
性别 StudentGender 文本 2 否 否
出生日期 BirthDay 日期 短日期 否 否
专业 Major 文本 30 否 否
手机号 StudentPhone 文本 11 否 否 选课注册表 有两个外键开课编号 学号
字段名称 字段编码 数据类型 字段大小 必填字段 是否为键注册编号 CourseRegID 自动编号 长整型 是 代理键
开课编号 CoursePlanID 数字 学号 StudentID 文本 12备注 Note文本 30 否
否5 应用题
1)
a)
A B C B a2 b1 c2 b1 a2 b1 c2 b2 a2 b1 c2 b3 a1 b3 c1 b1 a1 b3 c1 b2 a1 b3 c1 b3 a2 b2 c1 b1 a2 b2 c1 b2 a2 b2 c1 b3 a2 b3 c3 b1 a2 b3 c3 b2 a2 b3 c3 b3 a3 b1 c2 b1 a3 b1 c2 b2 a3 b1
c2
b3
b)
a2
c)
a2 b1 c2 d3a2 b2 c1 d1a2 b3
c3 d3长整型 是 外键
是 外键
C D c2 d3 c1 d1 c3 d3 c2 d3 c1 d1 c3 d3 c2 d3 c1 d1 c3 d3 c2 d3 c1 d1 c3 d3 c2 d3 c1 d1 c3
d3
a2 b1
d)
a2 b1 a2 b2 a2 b3 a2 b1
c2 d3 c2 d3 c1 d1 c3 d3 c2 d3
2)IIname(READER jion BOOK Join PUBLISH) 3)
第三章 作业参考答案 1 单选题 A C D C A 2. 判断题 对错 对错 对 3 填空题 IBM 4 简答题
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
insert update sum, left jion
DEPARTMENT_PK PRIMARY KEY(DepartmentName , 便于定义复合主键, 可命名主键约束,便于定义代理键。外键及其参照完整性约束 CONSTRAINT DEPARTMENT_FK FOREIGN KEY(DEPARTMENT) REFERENCES DEPARTMENT(DepartmentName)
5)视图——是一种通过其它表或视图构建的虚拟表。它本身没有自己的数据,而是使用了存储在表或其它视图中的数据。基本语句格式 CREATE VIEW 2),…] AS
使用视图简化复杂 SQL 查询操作:通过视图,数据库开发人员可以将复杂的查询语句封装在视图内,使外部程序只需要使用简单方式访问该视图,便可获取所需要的数据。
使用视图提高数据访问安全性通过视图可以将基本数据表部分敏感数据隐藏起来,外部用户无法得知数据表的完整数据,降低数据库被攻击的风险。此外,还可以保护部分隐私数据。 3. 提供一定程度的数据逻辑独立性:通过视图,可提供一定程度的数据逻辑独立性。当数据表结构发生改变,只要视图结构不变,应用程序可以不作修改。
集中展示用户所感兴趣的特定数据:通过视图,可以将部分用户不关心的数据进行过滤,仅仅提供他们所感兴趣的数据。
<视图名>[(列名 1),(列名