数据库原理与设计
第一章 数据库系统概述
1.1 数据库管理系统出现的背景
-
人工管理阶段
-
特点:
数据管理者 程序员 数据存储 不保存 共享程度 无共享 数据独立性 不独立,完全依赖于程序 数据控制能力 应用程序自己控制
-
-
文件系统阶段
-
-
步骤:
①定义数据结构
②构造链表
③操作链表
④设计用户界面(GUI)
⑤创建数据存储文件
⑥文件与链表的数据交换
-
特点:
数据的管理者 文件系统 数据存储 长期保存 共享程度 共享性差 数据独立性 独立性差,逻辑结构修改必须修改程序 数据结构化 记录内有结构,整体无结构 数据控制能力 应用程序自己控制 -
缺陷:
①无法处理超大量数据
②多用户无法并发访问
③故障情况下无法恢复数据
④安全性低
⑤数据的完整性低
-
-
-
数据库阶段
-
DBMS具备功能
①数据独立性
-
数据的物理独立性
将数据存储文件的定义和存取从应用程序中分离出来,交给DBMS处理,应用程序只需要通过ODBC或JDBC链接DBMS即可,当数据物理存储位置发生变化时,应用程序无须修改。
-
数据的逻辑独立性
用户的应用程序与数据库的逻辑结构是相互独立的,逻辑结构通过DDL语音有数据库设计人员在DBMS中进行定义和修改
②数据完整性
③数据安全性
④并发访问
⑤故障恢复
-
-
特点
整体结构化:
不再仅仅针对某一个应用,而是面向全组织
不仅数据内部结构化,整体也是结构化的,数据之间具有联系
-
数据库机器相关概念
- 数据:是描述现实世界中各种具体事物或抽象概念的、可存贮并具有明确意义的信息
- 数据库:是相关联的数据集合
- 数据库系统:由数据库和数据库管理系统构成,更广义的构成则为“DB+DBMS+数据库管理员+应用程序+用户”
- 数据库操作:增删改查
- 视图:从不同的角度截取同一数据库的子集(不同的理解),每一个子集被称为该数据库的一个视图
- DBMS:是一个通用的软件系统,由一组计算机程序构成,用于科学地组织和存储数据、高效地获取和维护数据
-
1.2 数据库模型与数据库系统的抽象层次
-
数据库设计过程的相关概念
-
数据抽象
将真实世界中的信息(数据)提炼,再提炼,变成计算机能认识,可以管理的数据的过程
-
数据模型
是数据抽象的工具,是数据组织和表示的方式
-
数据模式
是数据抽象利用数据模型将数据组织起来后得到的结果。
-
三者关系
-
数据模型三要素
- 数据结构
- 数据操作
- 数据约束
-
数据模型三个评价标准
- 比较真实地描述现实世界
- 易为用户所理解
- 易于在计算机上实现
-
-
DBS的抽象层次
三层结构模式:
外模式:也称子模式、用户模式或视图模式,表示数据库用户能够使用的部分数据的逻辑结构和特征,是用户的数据视图。
概念模式:也称逻辑模式,表示数据库中全体数据的逻辑结构、数据之间的关系、安全性和完整性要求,是完整的数据视图
内模式:也称存储模式,表示数据库中数据物理结构和存储结构
-
数据模型的分类
- 概念数据模型
- 逻辑数据模型
- 物理数据模型
-
抽象层次之间的二级映像
-
外模式~模式映像
定义外模式与模式之间的对应关系
保证数据的逻辑独立性
-
模式~内模式映像
定义了数据全局逻辑结构与存储结构之间的对应关系,在数据库中唯一
保证数据的物理独立性
数据库的二级映像保证了数据库外模式的稳定性;从底层保证了应用程序的稳定性 -
-
1.3 DBS用户与DB语言
-
数据库上的角色
- 最终用户
- 数据库应用开发人员
- 数据库管理员
- 有关的软件工程师
-
数据库语言与SQL
- 数据库设计人员使用数据定义语言(DDL)完成对数据库模式的描述,定义数据结构和数据的完整行约束
- 数据库管理员和用户使用数据操纵语言(DML)对数据进行增删改查
- 数据库管理员使用数据控制语言(DCL)对数据库进行管理,包括定义用户、为用户授权、设置系统参数、调整系统参数等
总结:DBL就是DBMS提供给用户定义结构、操纵数据和管理DBMS的一个界面
1.4 数据库技术的发展
DBM的发展概述
- 数据管理模式:人工管理模式->文件管理->数据库管理
- 数据库技术的发展:由逻辑数据模型的进步而主导
-
史前时代——文件系统
文件系统提供逻辑文件到物理文件的映射与转换
-
第一代DBS
标志:层次数据库管理系统和网状数据库管理系统的出现
层次数据模型:采用属性结构表示实体和实体之间的联系(只能处理一对多的实体关系)
- 数据结构:以记录型为结点的有向树,用树节点表示实体,用节点之间的连线表示实体间的联系
- 数据约束:有且仅有一个无父节点,称其为树的根
- 数据操纵:参考数据结构中对树的传操纵
网状数据模型:用图形结构表示实体和实体之间的联系的数据模型就称为网状数据模型,网状数据模型有三个基本概念,即记录型、数据项(或字段)以及链接。
-
第二代DBS
支持关系模型的关系数据库,即第二代DBS
-
第三代DBS
面向对象数据库
1.5 本章小结
-
数据的管理
人工管理->文件管理->数据库系统 -
数据库的基本功能
①数据的独立性
②数据的安全性
③数据的完整性
⑤并发访问
⑥故障恢复 -
DBMS的三级模式体系结构
①外模式
②概念模式
③内模式 -
数据库系统中的用户以及语言
①最终用户、数据库管理员使用 DML
②数据库设计人员使用 DDL
③数据库管理员使用 DCL
1.6 第一章超星题目
-
数据模型的三要素
①数据结构;
②数据操纵;
③数据约束
-
数据模型应满足的要求
①真实的描述现实世界
②容易被用户所理解
③容易在计算机中实现
-
DBMS的独立性包括
①物理独立性
②逻辑独立性
-
数据库的三层抽象得到的模式
①外模式
②概念模式
③内模式
-
数据模型可以分类为
①概念模型
②逻辑模型
③物理模型
-
概念
①数据:描述事物的符号记录
②数据库:相关联的数据集合
③DBMS:是一个通用的软件系统,用于科学的组织和存储数据、高效地获取和维护数据
-
数据抽象、数据模型和数据模式之间的关系
①数据抽象:将真实世界钟大哥信息提炼,再提炼,变成计算机能认识,可以管理的数据的过程;
②数据模型:是数据抽象的工具,是数据组织和表示的方式
③数据模式是数据抽象利用数据模型组织起来后的得到的结果
-
数据模型的三个抽象层次
①视图抽象
②概念抽象
③物理抽象
第二章 高级(概念数据模型)
2.1 数据库设计概述
-
数据库设计过程
**步骤一:**需求分析
- 了解:数据信息、应用、性能等需求
- 方法:调查、讨论、座谈、收集、数据流图(DFD)等
- 对应:抽象层次的显示系统描述
**步骤二:**概念数据库设计
- 任务:精确描述需求,使用高级数据模型提供的概念描述数据及数据的约束限制
- 工具:E-R图
- 结果:概念DB设计
- 对应:现实系统到外模式的视图抽象,以及外模式到概念模式的概念抽象
**步骤三:**逻辑数据库设计
- 任务: 选用一种DBMS,将概念DB设计变成该数据库系统对应的模式
- 结果:抽象层次的内模式
- 对应:数据库抽象层次的物理抽象及内模式
**步骤四:**模式优化
- 任务:就解决潜在问题,利用规范化理论进行优化
- 对应:数据库抽象层次的物理抽象及内模式
**步骤五:**物理数据库设计
- 任务:考虑负载、性能要求,确定数据内部存储结构,存取路径,设计并选择物理存储方式
**步骤六:**安全性设计
- 任务:确定哪些用户组可(不可)访问哪些数据
2.2 基本实体联系模型
-
E—R模型对数据结构的描述
-
实体
概念:现实世界中有别于其他对象的对象
特性:实体可以是具体的、物理存在的;也可以是抽象的、概念上存在的
-
实体型
概念:属于同类的所有实体的集合
特性:一个实体集中的所有实体具有相同的属性
-
属性
概念:实体的特征或性质,属性的取值范围称为域
分类:
- 按结构分
- 简单属性:不可再分的属性
- 复合属性:还可划分的属性
- 按取值分类
- 单值属性:只有一个取值
- 多值属性:多余一个取值的属性
- 导出属性:可由其他属性计算推出的属性
- 空值属性:值不确定或无值的属性
例子 实体 属性类型 性别 简单属性、单值属性 身份证号 复合属性(行政区划代码+出生日期+顺序码+校验码)、单值属性 图书作者 复合属性(姓+名)、多值属性 - 按结构分
-
键
概念:具有唯一表示特性的一个或一组属性,也称唯一约束
分类:
- 简单键:仅由一个属性构成
- 复合键:由多个属性构成
有关键的概念:
-
超键:能唯一标识实体的属性集称为超键
例子:学生(学号、姓名、性别、出生年月) 超键: ①学号 ②学号+姓名 ③学号+出生年月 ④学号+姓名+性别 ⑤学号+姓名+出生年月 ⑥学号+性别+出生年月 ⑦学号+姓名+性别+出生年月 -
候选键:唯一表示实体最小属性集合的键
要求:候选键是超键,但候选键的任何自己都不是超键
最简单时,候选键只包含一个属性
最复杂时,候选键包含所有属性,称为全键
-
主键:是候选键其中的一个,其能确切的代表唯一一个实体
-
实体的E-R图表示方法
实体集用矩形框表示,属性用椭圆,主键属性用下划线标出
-
联系:联系用菱形图形表示
是两个或多个实体键的关联
-
联系的描述属性
记录的信息而非实体的信息
-
联系的标识
联系的主键由参与实体的主键和联系的部分属性来决定
-
联系型
同一类的一组联系简称为联系型
-
联系类型的阶
一个联系所关联的实体的数量
-
联系型分类
-
存在三种一般性约束
- 一对一约束
- 一对多约束
- 多对多约束
在确定是1:1约束、1:n约束还是m:n约束时,不能只看一个方向上的数量约束,一定要综合两个方向上的约束数量 -
键约束
一个关联的实体A最多只能出现在一个联系实例中
只有1:1约束和1:n约束才存在键约束
键约束在E—R图上用箭头表示(由实体指向联系)
-
弱实体
没有键属性的实体称为弱实体型。对应的,存在键属性的实体型称为强实体型
- 强实体:每个实例都能被实体的主键唯一标识
- 弱实体:每个实例不能用该实体的属性唯一标识(在ER图中用加粗矩形框表示)
-