




已阅读5页,还剩82页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理与应用 主讲 林祥果 通讯系电子教研室 09民航运输信息管理 第1章数据库系统概述 学习要点 关系数据库基本概念数据和数据模型数据库的组成和数据库的内部结构数据完整性约束 第1章数据库系统概述 1 1什么是数据库系统1 2数据和数据模型1 3实体 联系模型1 4关系数据模型1 5从E R模型到关系模式的转换1 6数据库系统的内部结构1 7现代数据库系统的优点 1 1什么是数据库系统 当今社会是一个信息社会 我们每天的工作 学习和生活都会接触到大量的信息 可以将这些数据分门别类的保存在表格中 再将这些表格保存到计算机中 计算机不但能保存数据 还能对数据进行管理和维护 这就需要借助于数据库 1 1 1数据库系统的组成 一个数据库系统 DBS 应由五部分组成 图1 1数据库系统构成及相关人员 数据库 DataBase DB 是存放数据的仓库 是相互关联的数据的集合 准确的说是长期存在计算机内 有组织的 可共享的数据集合 它不仅包括描述事物的数据本身 而且包括相关事物之间的联系 1 1 1数据库系统的组成 应用程序处理数据的程序 为解决用户的问题而设计 开发的应用程序 它的数据信息是从某个数据源得到的 数据库系统是指在计算机系统中引入数据库后的系统 由计算机硬件 数据库 数据库管理系统 及开发工具 应用系统和用户构成 数据库管理系统 DataBaseManagementSystem DBMS 用户创建 管理和维护数据库必须有相应的计算机软件 即数据库管理系统 是对数据库进行统一管理的计算机软件 是位于用户与操作系统之间 DBMS能定义数据的存储结构 提供数据的操纵机制 维护着数据库的安全性 完整性和可靠性 如今的数据库管理系统大多数都是建立在关系模型上的 因此称为关系型数据库管理系统 RalationDataBaseManagementSystem RDBMS 用户与数据库应用 即应用程序 交互 数据库应用与DBMS交互 DBMS访问数据库中的数据 数据库管理系统 DataBaseManagementSystem DBMS 是位于用户与操作系统之间的数据管理软件 它包括4个方面功能 1 数据定义功能 2 数据操纵功能 3 数据库的运行管理 4 数据库的建立和维护功能 学生选课系统 图1 4选修信息查询窗口 1 1 1数据库系统的组成 学生选课管理系统 主要实现对院校学生信息 课程信息 选修信息等方面进行综合管理 学生 学号 姓名 性别 出生日期 所在系 籍贯等属性 课程 课程号 课程名 先修课 学分等属性 学生选修课程后应记录相应成绩 1 1 2数据库系统与人 一个数据库系统 如果抛开其设计过程 实施过程 试运行阶段不讲 假定前几个阶段的工作已经完成 通过了验收 交付用户使用 即进入日常运行阶段 那么 数据库设计人员 应用程序开发人员 调试 测试及验收人员都已经退出 参与日常运行的只有用户 数据库系统管理员 他们各自有自己的职责 1 2数据和数据模型 一个大型数据库的设计 开发过程 是一个系统工程或一项软件工程 数据库用户和系统管理员 不一定要参加设计或开发工作 但他们作为数据库的使用者 有必要对数据库系统中的许多基本概念 技术有更多的了解 1 2 1数据 数据标准和它的动态特性 1 数据 Data 2 数据标准和实际规范3 数据的静态与动态特性 1 2 1数据 数据标准和它的动态特性 1 信息 Information 信息就是新的 有用的事实和知识 信息具有实效性 有用性和知识性的特性 它是客观世界的反映 信息具有如下四个特征 1 信息的内容是关于客观事物或思想方面的知识 2 信息是有用的 它是人们活动的必需知识 3 信息能够在空间和时间上被传递 在空间上传递信息称为信息通信 在时间上传递信息称为信息存储 4 信息需要一定的形式表示 信息与其表现符号不可分离 1 2 1数据 数据标准和它的动态特性 信息的作用 1 它可以提高人们对事物的认识 减少人们活动的盲目性 2 信息是社会机体进行活动的纽带 社会的各个组织通过信息网相互了解并协同工作 使整个社会协调发展 3 信息又是管理活动的核心 2 数据 Data 描述事物的符号记录称为数据 描述事物的符号可以是数字 也可以是文字 图形 图像 声音 语言等 数据有多种表现形式 它们都可以经过数字化后存入计算机 数据需要经过解释来表达其语义 1 2 1数据 数据标准和它的动态特性 3 数据标准和实际规范每个数据项不仅有便于识别它的名称 而且要有具体的数据类型和取值范围等 4 数据的静态与动态特性静态特性 数据的基本结构 数据类型及取值范围等 动态特性 插入 删除 修改 查询等 1 2 2数据模型 任何数据库系统的建立 都要依赖某种数据模型 来描述和表示信息系统 因此 数据模型一般应满足三个要求 1 需要尽可能真实地模拟或反映现实世界的数值 信息 特征 2 便于人们理解和交流 3 便于在计算机系统上实现存储和处理 1 2 2数据模型 1 6信息数据的转换过程 1 2 2数据模型 数据库是根据数据模型建立的 因而数据模型是数据库系统的基础 数据模型的三要素 1 数据结构 所研究的对象类型 ObjectType 的集合 这些对象是数据库的组成成分 2 数据操作 数据操作是指对数据库中各种对象 型 和实例 值 允许执行的操作的集合 包括操作及有关的操作规则 3 数据约束条件 是一组完整性规则的集合 是给定的数据模型中数据及其联系所具有的制约和依存规则 1 2 3概念层数据模型 信息或数据从现实世界到信息世界的转换 即概念模型的设计 应该说是最难 也是最有挑战性的 因为它是一种创造性的劳动 需要设计者对课题内容深入 透彻的理解 丰富的实践经验 而且具有很高的综合素质和良好的抽象 综合能力 这种综合素质和抽象能力 当然主要不是教科书上学来的 设计者必须进行深入的用户调查等等 1 2 4组织层数据模型 最常用的组织层数据模型有4种 1 层次数据模型2 网络数据模型3 关系数据模型4 面向对象数据模型 1 层次模型 层次模型是指用树型结构来表示数据间联系的模型 这个组织结构图象一棵树 层次模型的特点 1 有且只有一个结点没有双亲结点 这个结点称为根结点 2 根以外的其他结点有且只有一个双亲结点 按照层次模型建立的数据库系统称为层次模型数据库系统 1969年美国IBM公司研制的IMS就是层次模型的典型代表 第25页 1 层次模型 高等学校组织结构 广州民航职业技术学院 20 2020 第26页 2 网状模型 网状模型是指用网络结构来表示数据间联系的模型 网状模型的特点 1 允许有一个以上的结点无双亲 2 一个结点可以有多于一个以上的双亲 3 允许两个结点之间有两种或两种以上的联系 按照网状数据结构建立的数据库系统称为网状数据库系统 其典型代表是DBTG系统 亦称CODASYL系统 广州民航职业技术学院 第27页 2 网状模型 学生 选修 课程的网状模型 广州民航职业技术学院 20 2020 第28页 3 关系模型 关系模型指的是用二维表格来表示数据间联系的模型1 关系模型中的基本概念 1 字段 属性 二维表格的每一列称为一个字段 即属性 其中字段名 属性名称 相当于标题栏中的标题 2 记录 元组 二维表格中的每 行称为 条记录 元组 记录是若干个相关属性组成的 3 二维表 关系 一个二维表格就是一个关系 它是由相关记录组成的 广州民航职业技术学院 第29页 3 关系模型 表1 1学生基本信息表 Students 广州民航职业技术学院 20 2020 第30页 3 关系模型 2 关系模型的特点 1 每 列必须是基本数据项 不可再分解 2 表中每一列必须具有相同的数据类型 如 字符型或数值型 3 表中每一列的名字必须是唯 的 4 表中不应有内容完全相同的行 5 行的顺序与列的顺序不影响表格中所表示的信息的含义由关系数据结构组成的数据库系统被称为关系数据库系统 例如 Foxpro SYBASE INFORMIX ORACLE DB2 SQLServer2005 广州民航职业技术学院 4 面向对象数据模型 面向对象数据模型是由类构成的层次结构 类是对同类对象的抽象 对象由属性和操作构成 1 3实体 联系模型 现在常见的概念层数据模型 是实体 联系模型和面向对象模型 1 3 1E R模型中常用的名词与实体联系图 在E R模型中 经常使用如下名词与概念 1 实体 具有某些共同特性的同类对象的集合 2 属性 描述实体各项特征和特性的数据项 3 联系 包括内部联系和外部联系 实体之间有下列关系 一对一关系 1 1 实体A中的一个个体在实体B中有一个个体与之对应 反过来 表B中的一个个体在实体A中仅有一个个体与之对应 一对多关系 1 n 实体A中的一个个体在实体B中有个个体记录与之对应 反过来 实体B中的一个个体在表A中仅有一个个体与之对应 多对多关系 m n 实体A中的一个个体在表B中有多个个体与之对应 反过来 表B中的一个个体在表A中也有多个个体与之对应 第35页 1 3 1E R模型中常用的名词与实体联系图 关系模型E R图表示 1 矩形框表示实体 在矩形框中写上实体名 2 菱形框表示实体间的联系 在菱形框中写上联系名 3 椭圆形框表示实体和联系的属性 在框内写上属性名 广州民航职业技术学院 1 3 2一个实际的E R模型案例 案例一 学生学籍与成绩管理概念模型 简要说明 建立数据库系统的概念模型 是数据库设计者的首要任务 也是一个有相当难度 最具创造性的工作 因为它需要进行充分的用户调研 做深入细致的用户需求分析 形成一整套反映用户需求的数据流图 数据字典及相关的说明文档资料 在此基础上才能设计出满足要求的概念模型 一个新系统概念模型的建立 是费心 费时 费事的 这里 略去用户调研 需求分析 概念模型设计的具体过程 只给出最终产生的结果 模型的E R图 1 3 2一个实际的E R模型案例 1 本模型管理的实体及其属性1 实体一 系2 实体二 课程3 实体三 学生 1 3 2一个实际的E R模型案例 2 实体之间的联系学生按系建制 一个学生只能属于惟一的一个系 允许个别学生在一定的时间内 所属系暂不确定 学生按专业选修某些课程 1 4关系数据模型 关系数据模型是组织层数据模型中较为常用的一种模型 组织模型是用于数据库实现阶段的数据模型 虽然它是由概念模型通过转换而来的 但两者又有所不同 1 4 1关系模型的数据结构 以下是关系数据库中经常使用的一些术语 每个数据库用户应当熟悉这些概念 1 关系 一个二维表格就是一个关系 它是由相关记录组成的 2 属性 二维表格的每一列称为一个字段 即属性 其中字段名 属性名称 相当于标题栏中的标题 3 元组 二维表格中的每 行称为 条记录 元组 记录是若干个相关属性组成的 4 候选码 主码 外码5 域 取值范围 关系数据库的介绍关系型数据库是一些相关的表和其它数据库对象的集合 这个定义包含了三层含义 1 关系数据库中 信息被保存在二维表格中 称之为表 Table 一个关系型数据库包含多个数据表 每个表又包含行 记录 和列 字段 图1 10 2 表和表之间是相互关联的 表与表之间可以通过公共字段 关键字 建立关系 关键字分为 主关键字 简称主键 外部关键字 简称外键 主键是指表中的一列或多列的组合 该列的值可以唯一的标识表中的记录 外键是指表B中含有与另一个表A的主键相对应的列 那么该列在表B中称为外键 图1 11 表和表之间有下列关系 一对一关系 1 1 表A中的一条记录在表B中有一条记录与之对应 反过来 表B中的一条记录在表A中仅有一条记录与之对应 一对多关系 1 n 表A中的一条记录在表B中有多条记录与之对应 反过来 表B中的一条记录在表A中仅有一条记录与之对应 多对多关系 m n 表A中的一条记录在表B中有多条记录与之对应 反过来 表B中的一条记录在表A中也有多条记录与之对应 3 数据库中不仅包含表 而且还包含其他对象 如视图 存储过程 索引等 图1 121对多关系 1 4 2关系模型的数据操作 广义地讲 关系模型的数据操作主要是对数据的查询 插入 删除和修改 尽管不同厂商的数据库系统产品会有一些差异 但最基本的数据操作语句是基本相同的 其次 关系模型的 数据 操作对象和操作结果有一个共同的特点 即操作对象是二维表 操作的结果也是二维表 1 4 3关系模型的数据完整性约束 一个数据库系统中 数据的正确性 一致性和完整性是十分重要的 数据完整性约束有三大类 它们是 实体完整性 参照完整性和用户自定义完整性 1 5 1从E R模型转换为关系模型 E R图向关系模型的转换要解决的问题是如何将实体和实体间的联系转换为关系模式 如何确定这些关系模式的属性和码 概念模型转换为关系模型的基本方法如下 1 实体集的转换规则概念模型中的一个实体集转换为关系模型中的一个关系 实体的属性就是关系的属性 实体的码就是关系的码 关系的结构是关系模式 2 实体集间联系的转换规则在向关系模型的转换时 实体集间的联系可按以下规则转换 1 5 1从E R模型转换为关系模型 1 1 1联系的转换方法 一个1 1联系可以转换为一个独立的关系 也可以与任意一端实体集所对应的关系合并 将1 1联系转换为一个独立的关系 则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性 且每个实体的码均是该关系的候选码 将1 1联系与某一端实体集所对应的关系合并 则需要在被合并关系中增加属性 其新增的属性为联系本身的属性和与联系相关的另一个实体集的码 1 5 1从E R模型转换为关系模型 例1 1 将图1 13中含有1 1联系的E R图转换为关系模型 1 5 1从E R模型转换为关系模型 方案1 联系形成的关系独立存在 班主任 教工号 姓名 性别 职务 班级 班级编号 系别 专业 管理 教工号 班级编号 开始时间 其中 教工号 与 班级编号 均是候选码方案2 管理 与 班主任 两个关系合并 班主任 教工号 姓名 性别 职务 班级编号 开始时间 班级 班级编号 系别 专业 方案3 管理 与 班级 两个关系合并 班主任 教工号 姓名 性别 职务 班级 班级编号 系别 专业 教工号 开始时间 1 5 1从E R模型转换为关系模型 练习1 写出课本第10页图1 6 a的关系 经理 部门 管理 1 1 职工编号 姓名 性别 管理时间 职位 职工编号 姓名 职工编号 姓名 职工编号 姓名 职工编号 姓名 职工编号 姓名 职工编号 姓名 职工编号 姓名 职工编号 姓名 职工编号 姓名 职工编号 姓名 1 职工编号 姓名 1 1 职工编号 姓名 性别 1 1 职工编号 姓名 职工编号 姓名 职工编号 性别 姓名 职工编号 性别 姓名 职工编号 性别 姓名 职工编号 性别 姓名 职工编号 经理 经理 经理 经理 经理 部门 经理 管理时间 经理 管理 管理时间 经理 经理 职工号 姓名 性别 职务 部门 部门编号 部门名称 管理 职工号 部门编号 管理时间 第53页 1 5E R图向关系模型的转换 2 1 n联系的转换方法 将联系转换为一个独立的关系 其关系的属性由与该联系相连的各实体集的主码以及联系本身的属性组成 而该关系的主码为n端实体集的码 在n端实体集中增加新属性 新属性由联系对应的1端实体集的主码和联系自身的属性构成 新增属性后原关系的主码不变 例1 2 将图1 14中含有1 n联系的E R图转换为关系模型 20 2020 第54页 1 5E R图向关系模型的转换 方案1 1 n联系形成的关系独立存在 学生 学号 姓名 性别 出生日期 所在系 宿舍 宿舍编号 宿舍名称 宿舍地址 分配 学号 宿舍编号 方案2 联系形成的关系与n端对象合并 学生 学号 姓名 性别 出生日期 所在系 宿舍编号 宿舍 宿舍编号 宿舍名称 宿舍地址 20 2020 第55页 1 5E R图向关系模型的转换 例1 3 图1 15中含有同实体集的1 n联系 将它转换为关系模型 方案1 转换为两个关系模式 教工 教工号 姓名 性别 职务 领导 教工号 领导工号 方案2 转换为一个关系模式 职工 教工号 姓名 性别 职务 领导工号 第56页 1 5E R图向关系模型的转换 3 m n联系的转换方法与该联系相连的各实体集的主码以及联系本身的属性均转换为关系的属性 新关系的主码为两个相连实体码的组合 例1 4 将图1 16中含有m n二元联系的E R图 转换为关系模型 转换的关系模型如下 学生 学号 姓名 性别 出生日期 所在系 课程 课程号 课程名 先修课程 学分 选修 学号 课程号 成绩 20 2020 第57页 1 5E R图向关系模型的转换 4 三个或三个以上实体集间的多元联系的转换方法 对于多对多的多元联系 转换为关系模型的方法是新建一个独立的关系 该关系的属性为多元联系相连的各实体的码以及联系本身的属性 码为各实体码的组合 3 关系合并规则在关系模型中 具有相同码的关系 可根据情况合并为一个关系 20 2020 第58页 1 5E R图向关系模型的转换 例1 5 将图1 17中含有多实体集间的多对多联系的E R图转换为关系模型 转换后的关系模型为 供应商 供应商号 供应商 地址 零件 零件号 零件名 价格 产品 产品号 产品名 型号 供应 供应商号 零件号 产品号 数量 补充知识 数据库逻辑模型的规范化 数据库的范式理论关系数据库范式理论是在数据库设计过程中将要依据的准则 数据库结构必须要满足这些准则 才能确保数据的准确性和可靠性 这些准则被称为规范化形式 即范式 在数据库设计过程中 对数据库进行检查和修改并使它符合范式的过程叫做规范化 数据库的范式理论 范式按照规范化的级别分为5种 第一范式 1NF 第二范式 2NF 第三范式 3NF 第四范式 4NF 和第五范式 5NF 在实际的数据库设计过程中 通常需要用到的是前三类范式 第一范式数据的原子性 每一个数据项都不能拆分成两个或两个以上的数据项 第二范式主键的绝对相关性 数据表中的任何一个非主键字段的数值都依赖于该数据表的主键字段第三范式依赖的传递性 数据表中的任何两个非主键字段的数值之间不存在函数依赖关系 1 第一范式 1NF 第一范式要求每一个数据项都不能拆分成两个或两个以上的数据项 例 在下面的表所示的teacher表中 学历学位 是由学历和学位组成的 因此 这个teacher表不满足第一范式 可以将 学历学位 字段拆分为两个字段 如表所示 从而使该数据表满足第一范式 拆分后的teacher表 非规范化的关系score0 满足1NF的关系score1 2 第二范式 2NF 主键的绝对相关性 如果一个数据表已经满足第一范式 而且该数据表中的任何一个非主键字段的数值都依赖于该数据表的主键字段 那么该数据表满足第二范式 即2NF 不满足第二范式的P order表 例 在P order表中 数据表的主键是订单ID 其中 产品名 字段完全依赖于 产品ID 字段 而不是取决于订单ID 因此 P order表不满足第二范式 但该数据表中的其他字段都完全依赖于该表的主键字段 订单ID 因此 可以将该数据表中的 产品名 字段去掉 以满足第二范式 不满足第二范式的P order 满足第二范式的P order表 3 第三范式 3NF 依赖的传递性 如果一个数据表已经满足第二范式 而且该数据表中的任何两个非主键字段的数值之间不存在函数依赖关系 那么该数据表满足第三范式 即3NF 例 如果在employee表中 奖金 字段的数值是 薪水 字段数值的20 因此 这两个字段之间存在着函数依赖关系 所以employee表不满足第三范式 可以将 奖金 字段从该表中去掉 以满足第三范式 1 6数据库系统的内部结构 一个数据库系统是由 静态 数据库 数据库管理系统 软件 用户的应用程序 数据库管理员等组成 本节讨论数据库系统的结构 是从数据库的内部组织方式上 来介绍数据库系统的技术构架 也是后续章节中普遍使用的一个基本框架结构 第71页 1 6 1数据库系统的三级模式结构 广州民航职业技术学院 第72页 1 6 1数据库系统的三级模式结构 数据库的三级模式是指内模式 逻辑模式和外模式 1 逻辑模式逻辑模式简称模式 是对数据库的整体逻辑结构和特征的描述 模式表示了概念级数据库 体现了对数据库的总体观 2 内模式内模式又称存储模式或物理模式 它是数据的内部表示或底层描述 内模式表示了物理级数据库 体现了对数据库的存储观 广州民航职业技术学院 第73页 1 6 1数据库系统的三级模式结构 3 外模式外模式通常是模式的一个子集 故又称外模式为子模式 数据库的外模式面向具体的应用程序 外模式用来表示用户级数据库 体现了对数据库的用户观 模式是内模式的逻辑表示 内模式是模式的物理实现 外模式则是模式的部分抽取 3个模式反映了对数据库的3种不同观点 总体观和存储观只有一个 而用户观可能有多个 有一个应用 就有一个用户观 广州民航职业技术学院 第74页 1 6 2两级映像与数据独立性 三个模式之间的映象 1 外模式 逻辑模式映象定义了外模式与逻辑模式之间的对应关系 保证了数据与程序的逻辑独立性 2 模式 内模式映象定义了数据库全局逻辑结构 逻辑模式 与存储结构 内模式 之间的对应关系 保证了数据与程序的物理独立性 广州民航职业技术学院 1 6 3数据字典和数据 数据库 DB 是一个数据库系统中全部数据的集合 按数据的不同作用或使用权限来区分 又可分为 系统使用的数据 和 数据文件中的数据 1 6 3数据字典和数据 第二类是数据文件形态的数据 它们又可分为两类 一类是用户文件中的实际数据 是用户可以使用的数据 即用户可以查询或修改的数据 另一类是专供数据库管理系统使用的数据 它们以系统文件的形式存放 一般用户是看不见的 当然也无法使用 只有DBA才能使用 或经DBA授权的用户才可以使用 1 6 4数据库管理系统功能及其处理流程简述 数据库管理系统 DBMS 是数据库系统中具有多种功能的大型软件包 一般具有如下几个基本功能 1 数据定义功能2 数据操作功能3 数据库的运行管理功能4 数据库的创建和维护功能 关系数据库的设计1 设计的原则 1 一个表描述一个实体或实体间的一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络音服务合作协议书
- 房屋租赁维修合同
- 酒店前台收银系统服务协议
- 提前准备的2025年行政管理试题及答案
- 2025年上海市的住房租赁合同
- 建筑工程项目后评估的重要性试题及答案
- 市政基础设施建设与管理试题及答案
- 2025项目管理服务合同模板
- 行政管理专业的实习与实践经验分享及试题及答案
- 行政人员培训需求分析试题及答案
- 小学生反诈知识宣传课件
- 高血压脑出血专家共识
- 西格列汀二甲双胍缓释片-药品解读
- 多因素身份认证
- 小学二年级下学期数学家长会课件
- 铁路基本建设工程设计概(预)算编制办法-国铁科法(2017)30号
- 汽车修理厂台账表格范本
- 颜真卿《劝学》ppt课件1
- 400字作文稿纸20x20格A4标准稿纸
- 管道燃气客服员(高级工)技能鉴定考试题库大全(含答案)
- 氢气储存和运输 课件 第1、2章 氢气存储与运输概述、高压气态储运氢
评论
0/150
提交评论