




已阅读5页,还剩73页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理 主讲教师 陈骏 西南科技大学计算机学院信息教研室 联系电话EMAIL chenjh169 课程目标 结合关系型数据库系统深入理解数据库系统的基本概念 原理及方法 掌握关系数据模型和关系数据语言 能熟练地应用SQL语言表达各种数据操作 掌握E R模型的概念和方法 关系数据库规范化理论和数据库设计方法 通过上机实习 初步具备进行数据库应用系统开发的能力 对数据库领域研究的深入课题有大致了解 激发在此领域中继续学习和研究的愿望 为学习数据库系统高级课程做准备 课程内容 数据库系统基本概念 包括数据库系统特点及结构 数据模型等 关系数据模型 关系运算 SQL 关系数据库理论 数据库中数据管理的基本概念和方法 包括安全性 完整性 查询处理 事务管理等 数据库设计 主要参考书目 教材 数据库系统概论 第四版 萨师煊王珊数据库系统原理与应用教材闪四清参考书 数据库系统原理李建中王珊数据库系统概念杨冬青等译上机实习环境 PowerBuilder8 0SQLSERVER2000 一个数据库实例 车辆保险管理系统 第一篇基础篇 第一章绪论1 1数据库系统概述1 2数据库系统的组成1 3数据库系统结构1 4数据模型1 5数据库技术的研究领域 信息的定义哲学上 人们所认知与感知对象的抽象 是现实世界中各种事物的特征及事物间的联系 数学上 是确定性的度量 两次不定性之差 与随机对立 物理上 是一种能量 与熵对立 信息的特性无限性 共享性 创造性 1 1数据库系统概述一 基本概念 1 信息与数据 1 信息与数据 数据的定义对现实世界中客观事物的符号表示 可以是数值数据 也可以是非数值数据 如声音 图象等 计算机中的数据 能输入计算机 并能为其处理的符号序列 1 信息与数据 信息与数据的联系数据是信息的符号表示 或称载体 信息是数据的内涵 是数据的语义解释 数据是符号化的信息 信息是语义化的数据 EG 一幅黑白图像数据 黑白点阵信息 脸谱 2 数据库 数据库管理系统和数据库系统的区别 数据库是相互关联的数据集合 在该集合中完全或部分地消除了数据的冗余 数据库管理系统 DBMS 一种负责数据库的建立 操作 管理和维护的软件系统 DBMS能对数据库进行有效的管理 包括存储管理 安全性管理 完整性管理和数据恢复等 DBMS提供了一个软件环境 使用户能方便快速地建立 维护 检索 存取和处理数据库中的信息 数据库系统数据库 数据库管理系统 DBA 应用程序 用户 2 数据库 数据库管理系统和数据库系统的区别 2 数据库 数据库管理系统和数据库系统的区别 数据库系统的构成 应用程序员 C S PB VB VCB S ASP JSP Oracle Db2 Sybase SQLServer Informix 1 1数据库系统概述二 数据管理的发展阶段 考察要点 各阶段的技术及应用背景 计算机的应用范围 外存储设备 数据管理软件各阶段的差别体现 谁管理数据 数据面向谁 数据与应用的独立性 人工管理阶段 50年代中期以前 文件系统阶段 50年代后期 60年代中期 数据库系统阶段 60年代后期开始 二 数据管理的发展阶段 背景 计算机主要用于科学计算 数据量小 结构简单 如高阶方程 曲线拟和等 外存只有磁带 卡片 纸带等 没有磁盘等直接存储设备 没有操作系统 没有数据管理软件 用户用机器指令编码 1 人工管理阶段 1 人工管理阶段 特点 用户负责数据的组织 存储结构 存取方法 输入输出等细节 数据完全面向特定的应用程序 每个用户使用自己的数据 数据不保存 用完就撤走 数据与程序没有独立性 程序中存取数据的子程序随着存储结构的改变而改变 1 人工管理阶段 程序与数据的关系如图所示 2 文件系统阶段 背景 计算机不仅用于科学计算 还用于管理 外存有了磁盘 磁鼓等直接存储设备 有了专门管理数据的软件 一般称为文件系统 包括在操作系统中 2 文件系统阶段 特点 系统提供文件结构和存取方法 如索引文件 链接文件 HASH文件 倒排文件等 支持对文件的基本操作 增 删 改 查等 用户程序不必考虑物理细节 数据的存取基本上以记录为单位 一个数据文件对应一个或几个用户程序 还是面向应用的 数据与程序有一定的独立性 因为文件的逻辑结构与存储结构由系统进行转换 数据在存储上的改变不一定反映在程序上 2 文件系统阶段 程序与数据的关系如图所示 3 数据库系统阶段 背景 计算机管理的数据量大 关系复杂 共享性要求高 多种应用 不同语言共享数据 外存有了大容量磁盘 光盘 软件价格上升 硬件价格下降 为编制和维护系统软件及应用程序所需的成本相对增加 其中维护的成本更高 力求降低 3 数据库系统阶段 特点 有了数据库管理系统 面向全组织 面向现实世界的数据结构 独立性较强 由DBMS统一存取 维护数据语义及结构 3 数据库系统阶段 统一存取 3 数据库系统阶段 数据库观点 数据不是依赖于处理过程的附属品 而是现实世界中独立存在的对象 4 数据库系统VS文件系统 EG Supplier sname sno city Project jname jno city Part pname pno color 查询 绵阳的所有工程 供应红色零件给绵阳的工程供应商 维护 不允许供应不存在的零件 4 数据库系统VS文件系统 文件系统 分别组织三个文件 存储各类对象的记录 系统不支持文件间的联系 由应用程序负责查询表达式及数据的维护 数据库系统 关系 数据统一按表结构存放 联系也表为表形式 设为S P J SPJ 查询 只需提出查询要求 由系统完成查询过程 维护 应用提出完整性约束 系统自动检查 4 数据库系统VS文件系统 文件系统的弱点 数据共享性差 冗余度大 数据仍然是面向应用的 当不同应用程序所需要的数据有部分相同时 也必须建立各自的文件 而不能共享相同的数据 数据分散管理 数据不一致性 由于数据存在很多副本 给数据的修改与维护带来了困难 容易造成数据的不一致性 4 数据库系统VS文件系统 数据独立性差 数据结构化程度低 文件之间无联系 难于维护数据的完整性数据库系统的用武之地 有查询 数据复杂 5 数据库系统的特点 信息完整 功能通用程序与数据独立 程序与数据相对独立 把数据库的定义和描述从应用程序中分离出去 描述又是分级的 全局逻辑 局部逻辑 存储 数据的存取由系统管理 用户不必考虑存取路径等细节 从而简化了应用程序 数据独立性 当数据的结构发生变化时 通过系统提供的映象 转换 的功能 使应用程序不必改变 5 数据库系统的特点 数据的物理独立性 当数据的存储结构改变时 通过数据的存储结构与逻辑结构之间的映象 数据的逻辑结构可以保持不变 从而应用程序也不必改变 数据的逻辑独立性 当数据的总体逻辑结构改变时 通过数据的总体逻辑结构与局部逻辑结构之间的映象 数据的局部逻辑结构可以保持不变 从而应用程序也不必改变 5 数据库系统的特点 数据冗余度小 易扩充 数据面向整个系统 而不是面向某一应用 数据集中管理 数据共享 因此冗余度小 节省存储空间 减少存取时间 且可避免数据之间的不相容性和不一致性 每个应用选用数据库的一个子集 只要重新选取不同子集或者加上一小部分数据 就可以满足新的应用要求 这就是易扩充性 5 数据库系统的特点 支持数据共享 DBMS具有并发控制功能 使数据的共享程度高 数据的并发控制 Concurrency 对多用户的并发操作加以控制 协调 防止其互相干扰而得到错误的结果或使数据库完整性遭到破坏 限制非授权的存取 数据的安全性控制 Security 保护数据以防止不合法的使用所造成的数据泄密和破坏 措施 用户标识与鉴定 存取控制 5 数据库系统的特点 提供多用户界面面向全组织的复杂的数据结构 表示数据之间的复杂联系 支持全企业的应用而不是某一个应用 数据反映了客观事物间的本质联系 而不是着眼于面向某个应用 是有结构的数据 这是数据库系统的主要特征之一 与文件系统的根本差别 文件系统只是记录的内部有结构 一个文件的记录之间是个线性序列 记录之间无联系 5 数据库系统的特点 完整性约束 数据的完整性控制 Integrity 数据的正确性 有效性 相容性 措施 完整性约束条件定义和检查 数据恢复 把数据库从错误状态恢复到某一已知的正确状态的功能 1 2数据库系统的组成 1 数据库系统的软硬件层次 2 数据库系统的主要成分 硬件 内存大 放得下OS DBMS核心 系统缓冲区 用户工作区等 大容量 直接存取的外存设备 作数据备份的磁带 软件 OS DBMS 高级语言编译系统及其与数据库的接口 应用开发工具 应用系统 数据 包括目标数据 数据本身 及描述数据 对数据的说明信息 2 数据库系统的主要成分 人员 最终用户 通过应用系统的用户接口 菜单等 使用数据库 应用程序员 基于外模式来编写应用程序 系统分析员 负责应用系统的需求分析和规范定义 确定系统的软硬件配置 参与数据库模式设计 数据库管理员DBA 负责数据库的全面管理和控制 2 数据库系统的主要成分 DBA的重要性 重要资源 维护整个组织的信息资源 共享资源 多用户共享 需要统一管理 协调 监控 DBA职责 建库方面 确定模式 外模式 存储结构 存取策略 负责数据的整理和装入 用库方面 定义完整性约束条件 规定数据的保密级别 用户权限 监督和控制数据库的运行情况 制定后援和恢复策略 负责故障恢复 2 数据库系统的主要成分 改进方面 监督分析系统的性能 空间利用率 处理效率 数据库重组织 物理上重组织 以提高性能 数据库重构造 设计上较大改动 模式和内模式修改 1 3数据库系统结构 信息世界 数据库系统是面向计算机世界的 而应用是面向现实世界的 两个世界存在着很大差异 要直接将现实世界中的语义映射到计算机世界是十分困难的 因此引入一个信息世界作为现实世界通向计算机世界的桥梁 一方面 信息世界是对现实世界的抽象 从纷繁的现实世界中抽取出能反映现实本质的概念和基本关系 另一方面 信息世界中的概念和关系 要以一定的方式映射到计算机世界中去 在计算机系统上最终实现 信息世界起到了承上启下的作用 1 数据抽象 1 数据抽象 2 数据抽象与数据库的三种模式 数据库系统一般提供了三种级别的抽象视图级抽象 概念级抽象和物理级抽象 三种数据抽象和三种数据库模式的关系 现实世界 视图1 视图2 视图n 外模式 概念模式 内模式 视图抽象 概念抽象 物理抽象 3 数据库模式 3 数据库模式 外模式 Sub Schema 用户的数据视图 是数据的局部逻辑结构 模式的子集 模式 Schema 所有用户的公共数据视图 是数据库中全体数据的全局逻辑结构和特性的描述 内模式 StorageSchema 又称存储模式 数据的物理结构及存储方式 3 数据库模式 外模式 模式映象定义某一个外模式和模式之间的对应关系 映象定义通常包含在各外模式中 当模式改变时 修改此映象 使外模式保持不变 从而应用程序可以保持不变 称为逻辑独立性 模式 内模式映象定义数据逻辑结构与存储结构之间的对应关系 存储结构改变时 修改此映象 使模式保持不变 从而应用程序可以保持不变 称为物理独立性 1 4数据模型 数据模型是数据库系统中用于提供信息表示和操作手段的形式构架 一 数据模型的定义 二 数据模型的分类 根据数据模型应用的不同可分为两类 1 概念模型按用户的观点来对数据和信息建模 如 E R模型2 逻辑模型和物理模型逻辑模型 按计算机系统的观点对数据建模 如 层次模型 网状模型 关系模型 面向对象模型 物理模型 对数据最低层的抽象 描述数据在系统内部的表示方式和存取方法 二 数据模型的种类 概念数据模型1 1976年 P P S Chen提出 模型 Entity RelationshipModel 用 图来描述 模型 2 观点 世界是由一组称作实体的基本对象和这些对象之间的联系构成 概念数据模型的基本概念 实体 Entity 客观存在并可相互区分的事物叫实体 EG 学生张三 工人李四 计算机系 数据库原理 属性 Attribute 实体所具有的某一特性 一个实体可以由若干属性来刻画 EG 学生可由学号 姓名 年龄 系 班级等组成 域 Domain 属性的取值范围 EG 性别的域为 男 女 月份的域为1到12的整数 概念数据模型的基本概念 实体型 Entitytype 实体名与其属性名集合共同构成实体型 EG 学生 学号 姓名 年龄 性别 系 班级 是一个实体型 注意 实体型与实体 值 之间的区别 后者是前者的一个特例 EG 9808100 王平 21 男 计算机系 2 是一个实体 实体集 Entityset 同型实体的集合称为实体集 EG 全体学生 概念数据模型的基本概念 码 Key 能唯一标识实体的属性或属性组称为超码 超码的任意超集也是超码 其任意真子集都不能成为超码的最小超码称为候选码 从所有候选码中选定一个用来区别同一实体集中的不同实体 称作主码 一个实体集中任意两个实体在主码上的取值不能相同 EG 学号是学生实体的码通讯录 姓名 邮编 地址 电话 Email BP 概念数据模型的基本概念 联系 Relationship 实体之间相互关联 EG 老师学生间的授课关系联系也可以有属性 如学生与课程之间有选课联系 每个选课联系都有一个成绩作为其属性 同类联系的集合称为联系集 联系的种类实体之间联系的数量 即一个实体集通过一个联系集能与另一个实体集相关联的实体的数目 可以有一对一的 1 1 一对多的 1 n 多对多的 m n 几种情况 概念数据模型的基本概念 设有两个实体集E1 E21 一对一 E1中的一个实体与E2中至多一个实体相联系 反之亦然 EG 经理与部门之间的管理联系 假定每个部门只有一个经理 一个经理只在一个部门工作 2 一对多 E1中的一个实体与E2中的n n 0 个实体相联系 且E2中的一个实体与E1中至多一个实体相联系 EG 教师和学生之间的 辅导员 联系 3 多对多 E1中的一个实体与E2中的n n 0 个实体相联系 且E2中的一个实体与E1中的m m 0 个实体相联系 EG 学生和课程之间的选修联系 概念数据模型 E R图要点 EG 学生选修课程 用椭圆表示实体的属性 用无向边把实体与其属性连接起来 联系的数量 用矩形表示实体集 在框内写上实体名 用菱形表示实体间的联系 将参与联系的实体用线段连接 现欲建立一个物资管理数据库 假设一个仓库由多个职工管理 一个职工只管理一个仓库 一个仓库只存放一种产品 请作出E R图 至少包括以下信息 职工 仓库 产品 请大家解决这个问题 E R模型向关系模式的转换 实体 关系属性 关系的属性 S SNO SNAME DEPT 学生 学号 姓名 系别 E R模型向关系模式的转换 一对一联系 若联系双方均部分参与 则将联系定义为一个新的关系 属性为参与双方的码 职工 1 1 SPOUSE HUSBAND WIFE 配偶 若联系一方全部参与 则将联系另一方的码作为全部参与一方的属性 经理 部门 管理 DEPT DNO MGR 1 1 E R模型向关系模式的转换 一对多联系 将单方参与一方实体的码作为多方参与实体的属性 教师 学生 班主任 S SNO SNAME DEPT DIRECTOR 职工 领导 n 1 EMP ENO ENAME DEPT MANAGER 1 n E R模型向关系模式的转换 多对多联系 将联系定义为新的关系 属性为参与双方的码 学生 课程 选修 SC SNO CNO 零件 构成 m n COMPONENT SUB SUPER m n 数据模型的三要素 数据结构描述系统的静态特性 即组成数据库的对象类型 包括数据本身以及数据之间的联系 数据操作描述系统的动态特征 即对数据库中对象的实例允许执行的操作的集合 包括操作及操作规则 一般有检索 更新 插入 删除 修改 操作 数据的约束条件是完整性规则的集合 规定数据库状态及状态变化所应满足的条件 逻辑模型示例 层次模型用树结构表示实体之间联系的模型叫层次模型 树由节点和连线组成 节点代表实体型 连线表示两实体型间的一对多联系 代表产品 IBM的IMS数据库 逻辑模型示例 网状模型是一个满足下列条件的有向图 1 可以有一个以上的节点无父节点 2 至少有一个节点有多于一个的父节点 排除树结构 3 节点代表实体型 有向边 从箭尾到箭头 表示两实体型间的一对多联系 病房 科室 医生 病人 实体型 1 N联系 逻辑模型示例 关系模型用二维表来表示实体及其联系 特点1 简单 表的概念直观 用户易理解 2 非过程化的数据请求 数据请求可以不指明路径 3 数据独立性 用户只需提出 做什么 无须说明 怎么做 属性 元组 1970年美国IBM公司的研究员E F Codd首次提出了数据库系统的关系模型 他发表了题为 大型共享数据银行数据的关系模型 ARelationModelofDataforLargeSharedDataBanks 在文中解释了关系模型 定义了某些关系代数运算 研究了数据的函数相关性 定义了关系的第三范式 从而开创了数据库的关系方法和数据规范化理论的研究 关系模型 20世纪80年代以来 计算机厂商新推出的数据库管理系统几乎都支持关系模型 非关系系统的产品也都加上了关系接口 数据库领域当前的研究工作也都是以关系方法为基础 关系数据库已成为目前应用最广泛的数据库系统 如现在广泛使用的小型数据库系统Foxpro Acess 大型数据库系统Oracle Informix Sybase SQLServer等都是关系数据库系统 关系模型 关系模型的数据结构是一个 二维表框架 组成的集合 每个二维表又可称为关系 所以关系模型是 关系框架 的集合 关系模型与层次模型 网状模型不同 它是建立在严格的数学概念之上的 教学数据库的关系模型及其实例 包含五个关系 教师关系T 学生关系S 课程关系C 选课关系SC和授课关系TC 分别对应五张表 下面以其为例 介绍关系模型中所涉及的一些基概念 关系模型的基本概念 T 教师表 S 学生表 C 课程表 SC 选课表 TC 授课表 1 关系 Relation 一个关系对应一张二维表 如图的五张表对应五个关系 2 元组 Tuple 表格中的一行 如S表中的一个学生记录即为一个元组 3 属性 A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025浙江省公考试题及答案
- 2025云南省乐理考试题及答案
- 2025选修课调酒的考试题及答案
- 2025年事业单位工勤技能-青海-青海计算机文字录入处理员一级(高级技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-青海-青海舞台技术工三级(高级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-青海-青海无损探伤工一级(高级技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-青海-青海工程测量工三级(高级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-青海-青海农机驾驶维修工五级(初级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-青海-青海不动产测绘员四级(中级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-陕西-陕西行政岗位工一级(高级技师)历年参考题库含答案解析(5套)
- 2025年甘肃省公职招录考试(省情时政)历年参考题库含答案详解(5套)
- 期末必考题检测卷(三)(含答案)高一数学下学期人教A版必修第二册
- 企业注销考试题库及答案
- 2025北京北投集团“毕业季”校园招聘17人笔试参考题库附带答案详解
- 工艺执行管理办法
- 高中特难英语题目及答案
- 体育机构推广方案模板(3篇)
- 园区改造运营方案(3篇)
- 2025年大学辅导员考试题库真题及答案
- 腮红画法教学课件
- 二零二五版便利店员工劳动合同模板
评论
0/150
提交评论