已阅读5页,还剩75页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理及应用 湖南交通职业技术学院 第1章数据库概述 1 1数据库技术的发展1 2数据库的基本概念1 3数据库系统组成1 4数据模型1 5数据库管理系统 1 1数据管理技术的发展 计算机的主要应用之一就是数据处理 将大量的信息以数据的形式存放在磁盘上 数据处理是对各种数据进行收集 存储 加工和传播的一系列活动 数据管理是数据处理的中心问题 是对数据进行分类 组织 编码 存储检索和维护 数据管理技术发展经历了三个阶段 人工管理 文件系统和数据库系统阶段 数据管理的演变 1950196019701980 人工管理阶段 文件系统阶段 数据库系统阶段 第一代 层次 网状数据库系统第二代 关系数据库系统第三代 面向对象数据系统 1 人工管理阶段 早期的数据处理都是通过手工进行的 因为当时的计算机主要用于科学计算 应用程序和数据之间的关系如图1 1所示 这种数据处理具有以下几个特点 数据量较少 数据不保存 没有软件系统对数据进行管理 数据不共享 数据不具有独立性 1 人工管理阶段 图1 1应用程序和数据之间的关系 2 文件系统阶段 20世纪50年代中期以后 计算机硬件方面已有了磁盘 磁鼓等直接存取存储设备 软件方面 操作系统中已有了专门的数据管理软件 即文件系统 处理方式上不仅有了批处理 而且能够联机实时处理 文件系统对数据的管理 实际上是通过应用程序和数据之间的一种接口实现的 如图1 2所示 因此具有如下特点 图1 2应用程序与文件的关系 2 文件系统阶段 2 文件系统阶段 1 数据可以长期保留 数据的逻辑结构和物理结构有了区别 程序可以按名访问 不必关心数据的物理位置 由文件系统提供存取方法 2 数据不属于某个特定的应用 即应用程序和数据之间不再是直接的对应关系 可以重复使用 但是文件系统只是简单地存取数据 相互之间并没有有机的联系 即数据存取依赖于应用程序的使用方法 不同的应用程序仍然很难共享同一数据文件 3 文件组织形式的多样化 有索引文件 链接文件和Hash文件等 但文件之间没有联系 相互独立 数据间的联系要通过程序去构造 文件系统具有如下缺点 1 数据冗余度大文件与应用程序密切相关 相同的数据集合在不同的应用程序中使用时 经常需要重复定义 重复存储 2 数据不一致性由于相同数据的重复存储 单独管理 给数据的修改和维护带来难度 容易造成数据的不一致 3 数据联系弱文件系统中数据组织成记录 记录由字段组成 记录内部有了一定的结构 但是文件之间是孤立的 从整体上看没有反映现实世界事务之间的内在联系 因此很难对数据进行合理的组织以适应不同应用的需要 4 数据独立性差文件系统中的文件是为某一特定应用服务的 文件的逻辑结构对该应用程序来说是优化的 想对现有的数据在增加一些新的应用会很困难 系统不易扩充 一旦数据的逻辑结构改变 必须修改应用程序 修改文件结构的定义 因此数据与程序之间仍缺乏独立性 文件系统具有如下缺点 3 数据库系统阶段 从20世纪60年代后期以来 计算机硬件和软件技术得到了飞速发展 主要有 1 计算机用于管理的规模更为庞大 应用越来越广泛 数据量急剧增长 而且数据的共享要求越来越强 这种共享的含义是多种应用 多种语言互相覆盖的共享数据集合 2 有了大容量的磁盘 而且计算机硬件价格下降 软件价格上升 为编制和维护系统软件及应用程序所需的成本相对增加 3 处理方式上联机实时处理要求更多了 并开始提出和考虑分布处理 3 数据库系统阶段 3 数据库系统阶段 为解决多用户 多应用共享数据 使数据为尽可能多的应用服务 显然文件系统已不能满足应用需求 一种新的数据管理技术 数据库技术应运而生 该阶段应用程序与数据库之间的对应关系如图1 3所示 数据库系统是由计算机软件 硬件资源组成的系统 它实现了有组织地 动态地存取大量关联数据 方便多用户访问 它与文件系统的重要区别是数据的充分共享 交叉访问 与应用程序的高度独立性 图1 3应用程序与数据库的关系 3 数据库系统阶段 数据库系统阶段特点 1 数据结构化 即采用复杂的数据模型表示数据结构 数据模型不仅描述数据本身的特点 还描述数据之间的联系 数据不再面向某个应用 而是面向整个应用系统 2 数据共享性高 冗余度小 易扩充 数据冗余明显减少 实现数据共享 3 有较高的数据独立性 4 数据由DBMS统一管理和控制 数据库系统与文件系统的区别 数据库对数据的存储是按照同一结构进行的 不同的应用程序都可以直接操作这些数据 即对应用程序的高度独立性 数据库系统对数据的完整性 唯一性和安全性都提供一套有效的管理手段 即数据的充分共享性 数据库系统还提供管理和控制数据的各种简单操作命令 使用户编写程序时容易掌握 即操作方便性 1 3数据库系统组成 DBS的组成数据库系统主要由计算机硬件 数据库 数据库管理系统和人员组成 1 计算机硬件构成计算机系统的各种物理设备 包括存储数据所需的外围设备 硬件的配置应满足整个数据库系统的需要 1 3 DBS的组成 2 数据库 DataBase DB 数据库是存放数据的仓库 只不过这个仓库是在计算机存储设备上 而且数据是按一定的格式存放的 数据库是指长期储存在计算机内的 有组织的 可共享的数据集合 数据库中的数据按一定的数学模型组织 描述和储存 具有较小的冗余度 较高的数据独立性和易扩展性 并可为各种用户共享 1 3 DBS的组成 3 数据库管理系统数据库管理系统的目的是科学地组织和存储数据 高效地获取和维护数据 基本功能应包括 1 数据定义功能 DBMS提供数据定义语言 DataDefinitionLanguage DDL 用户通过它可以方便地对数据库中的数据对象进行定义 2 数据操纵功能 DBMS提供数据操纵语言 DataManipulationLanguage DML 用户可以使用DML操纵数据 实现对数据库的基本操作 3 数据库的运行管理 数据库在建立 运用和维护时由DBMS统一管理 统 控制 以保证数据的安全性 完整性 多用户对数据的并发使用及发现故障后的系统恢复 4 数据库的建立和维护功能 包括数据库初始数据的输入 转换 转储 恢复功能 数据库的重组功能和性能监视 分析功能等等 1 3 DBS的组成 1 3 DBS的组成 4 人员 四类 第一类为系统分析员和数据库设计人员 系统分析员负责应用系统的需求分析和规范说明 他们和用户及数据库管理员一起确定系统的硬件配置 并参与数据库系统的概要设计 数据库设计人员负责数据库中数据的确定 数据库各级模式的设计 第二类为应用程序员 负责编写使用数据库的应用程序 第三类为最终用户 他们应用系统的接口或利用查询语言访问数据库 第四类用户是数据库管理员 DBA 负责数据库的总体信息控制 DBA的职责包括 决定数据库中的信息内容和结构 决定数据库的存储结构和存取策略 定义数据库的安全性和完整性约束 监控数据库的使用和运行等等 1 3 1DBS的组成 1 4数据模型 1 4 1数据模型的概念模型就是对现实世界特征的模拟和抽象 数据模型是对现实世界数据特征的抽象 对于具体的模型人们并不陌生 如航模飞机 地图 建筑设计沙盘都是具体的模型 数据模型应满足三方面的要求 一是能比较真实地模拟现实世界 二是容易为人所理解 三是便于在计算机上实现 为了把现实世界中的具体事物抽象 组织为某一DBMS支持的数据模型 常常首先将现实世界抽象为信息世界 然后将信息世界转换为机器世界 如图1 14所示 图1 14现实世界中客观对象的抽象过程 1 4数据模型 1 信息的转换 客观事物类事物相关性质集合 现实世界 实体实体集合及实体联系相关属性集合 信息世界 加工 转换 数文件据纪录库相关数据项集合 数据世界 E R模型 DBMS 存储二进制结构数据集合 加工转换 数据模型 计算机世界 2 实体联系模型 E R 是用一种自然的方式来描述现实世界中的数据 使我们能够较容易地对所要处理的对象过程建立一个正确的概念模式 1 实体间的联系可分为 一对一联系 1 1 一对多联系 1 n 多对多联系 m n Is a联系 2 表示E R模型的图形实体 属性 联系 连线 注意 二个实体之间必须有一个联系 3 作实体 联系模型 E R 的步骤 Step1 确定所有的实体集合 Step2 选定实体应包含的属性 Step3 确定实体集合之间的联系及其类型 用图形表示出来 Step4 确定实体集合的主关键字 用横线标出在椭圆框下面 顾客购买商品的E R图 顾客 购买 商品 代码 姓名 地址 编号 名称 单价 代码 编号 数量 m n 单价 3 关系数据模型把E R图转换成关系数据模型的规则 1 将图中的实体集合转换为关系 2 将图中联系转换为关系 规则的实际操作可如下进行 1 若两个实体1 1 1 N 的关系 则转换为二个关系 将1方 实体 的主关键字加入到N方 作为N方的一个字段 达到1 N的联系 2 若两个实体N M的关系 则转换为三个关系 4关系数据模式的优化通过上述转换得到的关系数据模式并不是最好的 存在所谓 数据异常 可通过关系数据模式规范化过程优化 一个存在 数据异常 的关系 通常规范化到三范式即可 3NF 关系数据模式规范化的原则 一事一地 的原则 参考 王珊 陈红著 数据库系统原理 清华大学出版社1999 5 课堂练习 请根据你的观察 试对商品超级市场的供 销 存活动 建立概念模型 数据模型并对模型进行一定的优化 若改为一般的商场 所建的模型是否不同 案例 案例2 机器世界的相关术语 1 字段 字段标记实体属性的命名单位 2 记录 记录是字段的有序集合 一般一条记录描述一个实体 3 记录码 记录码是唯一标识文件中的每条记录的字段或字段集 4 文件 文件是同一类记录的汇集 5 记录型 记录型是记录的结构定义 信息世界中的基本概念 1 实体 表示客观存在并可相互区别的事物 实体可以是具体的人 事 物 也可以是抽象的概念或联系 如 一个职工 一个学生 一门课 学生的一次选课 老师与系的工作关系等都是实体 2 属性 实体所具有的某一特性称为属性 一个实体可以由若干个属性来刻画 如学生实体可以由学号 姓名 性别 出生年月 系 入学时间等属性组成 3 码 能唯一标识实体的属性集称为码 如学号是学生实体的码 4 域 属性的取值范围称为该属性的域 信息世界中的基本概念 5 实体型 用实体名及其属性名集合来抽象和刻画同类实体 称为实体型 如 学生 学号 姓名 性别 出生年月 系 入学时间 就是一个实体型 6 实体集 同型实体的集合称为实体集 如 全体学生就是一个实体集 在同一实体集中 每个实体的属性及其域是相同的 但可能取不同的值 7 联系 现实世界中事物内部及事物之间的联系在信息世界反映为实体内部的联系和实体之间的联系 实体内部的联系指组成实体的各属性之间的联系 实体之间的联系指不同实体集之间的联系 1 4 2数据模型的要素 数据模型是严格定义的一组概念的集合 这些概念精确地描述了系统的静态特性 动态特性和完整性约束条件 因此数据模型通常由数据结构 数据操作和完整性约束三部分组成 数据结构是所研究的对象类型的集合 是对系统静态特性的描述 1 4 2数据模型的要素 数据操作对数据库中各种对象 型 的实例 值 允许执行的操作的集合 包括操作及操作规则 数据操作是对系统动态性的描述 数据的约束条件是一组完整性规则的集合 也就是说 对于具体的应用数据必须遵循特定的语义约束条件 以保证数据的正确 有效和相容 1 4 3概念模型 E R模型 概念模型用于信息世界的建模 是现实世界到信息世界的第一层抽象 是数据库设计人员进行数据库设计的有力工具 也是数据库设计人员和用户之间进行交流的语言 所以概念模型一方面应该具有较强的语义表达能力 能够方便 直接地表达应用中的各种语义知识 另一方面还应该简单 清晰 易于用户理解 最常用的是实体 联系方法 Entity RelationshipApproach 该方法用E R图来描述现实世界的概念模型 称为实体 联系模型 Entity RelationshipModel 简称E R模型 E R模型的基本元素是 实体 联系和属性 1 4 3概念模型 E R模型 1 实体在E R模型中 实体用矩形表示 矩形框内写明实体名 2 联系在E R模型中 联系用菱形表示 菱形框内写明联系名 并用无向边分别与有关实体连接起来 同时在无向边旁标注上联系的类型 1 1 1 n或m n 2 联系 1 两个不同实体集之间的联系两个不同实体集之间存在一对一 一对多和多对多的联系类型 一对一联系 指实体集A中的每一个实体最多 也可没有 只与实体集B中的一个实体相联系 反之亦然 称实体集A与实体集B具有一对一联系 记为1 1 一对多联系 如果实体集A中的每一个实体可与实体集B中的多个实体相联系 反之 对于实体集B中的每一个实体 实体集A中至多只有一个实体与之联系 则称实体集A与实体集B具有一对多联系 记为1 n 多对多联系 如果对于实体集A中的每一个实体 实体集B中的多个实体与之联系 反之 对于实体集B中的每一个实体 实体集A中也有多个实体与之联系 则称实体集A与实体集B具有多对多联系 记为m n 2 联系 例如 图1 15表示两个不同实体集之间的联系 图1 15两个不同实体集之间的联系 2 联系 2 两个以上不同实体集之间的联系两个以上不同实体集之间的存在1 1 1 1 1 n 1 m n和r m n的联系 图1 16表示了3个不同实体集之间的联系 图1 163个不同实体集之间的联系 2 联系 3 属性 在E R模型中 属性用椭圆形表示 并用无向边将其与相应的实体联系起来 E R模型中的属性又分为 1 简单属性和复合属性 简单属性是原子的 不可再分的 复合属性可以细分为更小的部分 即划分为别的属性 2 单值属性和多值属性 对于一个特定的实体只有单独一个值的属性叫做单值属性 一个属性可能对应一组值 例如职工可能有0个 1个 或多个亲属 那么职工的亲属的姓名可能有多个数目 这样的属性称为多值属性 3 属性 3 NULL属性 当实体在某个属性上没有值或属性值未知时 使用NULL值 表示无意义或不知道 4 派生属性 派生属性可以从其他属性得来 例如 职工实体集中有 参加工作时间 和 工作年限 属性 那么 工作年限 的值可以由当前时间和参加工作时间得到 这里 工作年限 就是一个派生属性 4 E R方法 概念模式中最常用的方法为E R方法 该方法直接从现实世界中抽象出实体和实体间的联系 然后用非常直观的E R图来表示数据模型 在E R图中有如表1 2所示的几个主要构件 举例 例1 1 学校由若干个系 每个系有若干名教师和学生 每个教师可以担任若干门课程 并参加多项项目 每个学生可以同时选修多门课程 请设计某学校的教学管理的E R模型 要求给出每个实体 联系的属性 解 某学校的教学管理的E R模型应该有五个实体 系 教师 学生 项目 课程 1 设计各实体属性如下 系 系号 系名 主任名 教师 教师号 教师名 职称 学生 学号 姓名 年龄 性别 项目 项目号 名称 负责人 课程 课程号 课程名 学分 2 各实体之间的联系有 举例 教师担任课程的1 n 任课 联系 教师参加项目的n m 参加 联系 学生选修课程的n m 选修 联系 教师 学生与系之间的所属关系的1 n m 领导 联系 其中 参加 联系有一个排名属性 选修 联系有一个成绩属性 通过上述分析 某学校的教学管理的E R模型如图1 18所示 举例 实体及其属性图 举例 n 1n n 1n 系 系号 系名 主任名 学号 姓名 年龄 性别 教师 教师号 教师名 职称 课程 课程号 课程名 学分 项目 名称 负责人 排名 成绩 学生 图1 18学校教学管理E R模型 项目号 领导 选修 参加 任课 m n m m n 1 4 4常用的数据结构模型 不同的数据模型具有不同的数据结构形式 最常用的有 层次模型 网状模型 关系模型和面向对象数据模型 其中层次模型和网状模型统称为非关系模型 1 层次模型层次模型采用树型结构表示数据与数据间的联系 每一个结点表示一个记录类型 实体 记录之间的联系用结点之间的连线表示 在数据库中定义满足以下两个条件的基本层次联系 指两个记录以及它们之间的一对多的联系 的集合为层次模型 1 有且只有一个结点没有双亲 2 根结点以外的其它结点有且仅有一个双亲结点 1 层次模型 层次模型的特点是记录之间的联系通过指针实现 比较简单 查询效率高 缺点是只能表示1 n的联系 尽管有许多辅助手段实现m n的联系 但较复杂不易掌握 由于层次顺序严格和复杂 插入删除操作的限制比较多 导致应用程序编制比较复杂 2 网状模型 DBTG模型 采用网络结构表示数据与数据间的联系的数据模型称为网状模型 网状模型中的每个结点表示一个记录类型 实体 每个记录类型可以包含若干个字段 实体的属性 结点间的连线表示记录类型之间一对多的联系 在数据库中定义满足以下两个条件的基本层次联系的集合为网状模型 1 允许一个以上的结点没有双亲 2 一个结点可以有多于一个的双亲结点 网状模型的特点 网状模型的主要优点是 能更为直接地描述现实世界 具有良好的性能 存取效率高 网状模型的主要缺点是 结构复杂 例如 当应用环境不断扩大时 数据库结构就变得很复杂 不利于最终用户掌握 编制应用程序难度比较大 DBTG模型的DDL DML语言复杂 记录之间的联系是通过存取路径来实现的 因此程序员必须了解系统结构的细节 增加了编写应用程序的负担 3 关系模型 目前最常用的数据模型之一 关系数据库系统采用关系模型作为数据的组织方式 在关系模型中用表格结构表达实体集 以及实体集之间的联系 其最大特色是描述的一致性 在用户观点下 关系模型中数据的逻辑结构是一张二维表 现以学生登记表为例 介绍关系模型中的一些术语 图1 19关系模型的数据结构 关系数据模型1970年由科德 E F Codd 提出 是目前DBMS应用的最多的模型 其主要原因 1 对数据及其联系的表示非常简单 用一张二维表 2 支持用高度非过程化的说明语言表示数据的操作 如SQL语言 3 具有严格的理论基础 关系模型中常用的术语有 关系 一个关系R对应一张二维表 如图1 18中的这张表 属性 表中的一列即为一个属性 给每个属性所起的名称即为属性名 如上表有五列 对应五个属性 分别为 Sno Sname SD Age和Sex 关系模式 对关系的描述 一般表示为关系名 属性1 属性2 属性n 如上表的关系可描述为S Sno Sname SD Age Sex 关系模型中常用的术语有 元组 二维表中一行称为元组 主码 表中的某个属性组 其值能唯一确定一个元组 称为主码或关键字 如上表中的Sno 可以唯一确定一个学生 也就成为本关系的主码 域 属性的取值范围 分量 元组中的一个属性值 几个概念 关系 表 名 供应商表供应商编号供应商姓名供应商地址邮编1125光明公司人民路44号1160442038先飞公司五四路32号114321 元组 纪录 属性 字段 主码 关键字 分量 值 关系数据模型的一般表示 关系名 属性名1类型 宽度 属性名2类型 宽度 属性n类型 宽度 如 供应商表 供应商编号c 4 邮编n 6 关系数据库的基本操作 选择 对表的记录 投影 对表的字段 和连接 两表的操作 与其他模型的区别 关系模型与网状模型 层次模型最大的差别是用主码而不是用指针导航数据 表格简单 直观易懂 用户只需要简单的查询语句就可以对数据库进行操作 即用户只须指出 干什么 或 找什么 而不必详细说明 怎么干 或 怎么找 无需涉及存储结构和访问技术等细节 4 面向对象数据模型 OO模型 由于关系模型比网状 层次模型更为简单灵活 因此 数据处理领域中 关系数据库的使用已相当普遍 但是 现实世界存在着许多含有更复杂数据结构的实际应用领域 例如CAD数据 图形数据等 需要有 种数据模型来表达这类信息 在人工智能研究中也出现了类似的需要 这种数据模型就是面向对象的数据模型 一个OO模型是用面向对象观点来描述现实世界实体 对象 的逻辑组织 对象间限制 联系等的模型 一系列面向对象核心概念构成了OO模型的基础 举例 例1 5 对于学生 教师和课程的E R图如图1 19所示 可以涉及成如图1 21所示的面向对象模型 图1 19学生 教师和课程的E R图 图1 20学生 教师和课程的对象模型 1 5数据库管理系统 1 5 1DBMS的主要功能DBMS是位于用户与操作系统之间的一层数据管理软件 是数据库系统的一个重要组成部分 主要实现对共享数据有效的组织 管理和存取 因此DBMS的功能 1 数据定义DBMS提供数据定义语言 DataDefinitionLanguage DDL 用户通过它可以方便地对数据库中的数据对象进行定义 包括外模式 模式和内模式的定义 数据库的完整性定义 安全保密定义 如口令 级别 存取权限等 这些定义存储在数据字典中 是DBMS运行的基本依据 1 5 1DBMS的主要功能 2 数据库操作DBMS向用户提供数据操纵语言 DataManipulationLanguage DML 实现对数据库中数据的基本操作 如检索 插入 修改和删除 DML分为两类 宿主型和自含型 所谓宿主型是指将DML语句嵌入某种主语言 如C COBOL等 中使用 自含型是指可以单独使用DML语句 供用户交互使用 3 数据库运行管理数据库在建立 运行和维护时由数据库管理系统统一管理 同一控制 以保证数据的安全性检查 完整性检查
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理学课件学习笔记技巧
- 护理安全用药的用药评估
- 护理安全患者过敏反应预防
- 护理精神:为患者带来康复的曙光
- 【高考真题】2025年高考 新课标综合卷(含答案)
- 护理基础手法学习分享
- 腾越建筑施工企业重点工序质量管理标准化图册
- 2026软件面试题目及答案
- 全国名校2019年高三11月大联考-理科数学(考试版)
- 2026寺庙旅行面试题及答案
- 建筑施工培训课件-木工安全教育
- 汽车整车装配与调试课件:车门总成的装配
- 党建引领 五育并举 推动学校内涵式发展
- 《行政组织学》题集
- 2023-2024学年人教版七年级数学下册 相交线与平行线 期末检测卷
- DL∕T 5342-2018 110kV~750kV架空输电线路铁塔组立施工工艺导则
- 遗传学教案设计
- 养老院建筑设计说明书
- 《失眠的药物治疗》课件
- 肌少症-教学讲解课件
- 六年级数学上册奥数题-分数乘法(附答案)
评论
0/150
提交评论