计算机基础数据库基础PPT课件.ppt_第1页
计算机基础数据库基础PPT课件.ppt_第2页
计算机基础数据库基础PPT课件.ppt_第3页
计算机基础数据库基础PPT课件.ppt_第4页
计算机基础数据库基础PPT课件.ppt_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

可编辑 计算机应用基础 主讲教师 陈宇峰电子邮件 yfchen 计算机科学技术学院 1 第16周周7 2011 12 11 10 10 12 10 可编辑 2 数据库系统概述数据模型关系数据库ACCESS简介 3 3 数据库技术在社会各个领域中有着广泛的应用数据处理是指对信息进行收集 管理 加工 传播数据库技术研究的问题是 如何科学地组织和存储数据 如何高效地获取和处理数据 如何更广泛 更安全地共享数据 1数据库系统概述 4 4 随着计算机硬件和软件的发展 数据管理经历了三个阶段人工管理文件系统数据库系统 5 5 人工管理阶段的特点如下 1 数据不保存 2 系统没有专用的软件对数据进行管理 3 数据不共享 数据是面向程序的 一组数据只能对应一个程序 4 数据不具有独立性 程序依赖于数据 人工管理阶段 6 6 在人工管理阶段 程序与数据之间的关系可用图1 1表示 人工管理阶段 7 7 文件系统阶段 文件管理数据的特点如下 1 数据以文件形式可长期保存下来 2 文件系统可对数据的存取进行管理 3 程序与数据间有一定独立性 但是1 独立性差 2 共享性差 冗余度大 8 8 文件系统阶段 在文件系统阶段 程序与数据之间的关系可用图1 2表示 文件系统阶段 9 9 数据库系统阶段 数据库系统管理数据的特点如下 1 数据共享性高 冗余少2 数据结构化3 数据独立性高4 提供安全保障 10 10 数据库系统阶段 程序与数据之间的关系可用图1 3表示 数据库系统阶段 数据库系统阶段 11 11 数据库概念 数据库 长期存放在计算机内有组织可能共享的数据集合数据模型进行组织 描述和存储 层次 网状 关系 小冗余数据独立易扩展实现共享操作由数据库管理系统统一定义 12 12 数据库管理系统 管理数据的软件系统 以统一的方式定义 创建 维护 并提供有限制的访问数据定义 结构 数据完整性 约束数据操纵 数据库控制 并发 安全性 完整性 维护 索引 数据库建立和维护数据字典模式结构的描述 访问接口 13 13 数据库系统 带有数据库的计算机应用系统硬件软件人员 管理员 用户 14 14 数据库系统的体系结构 数据库系统的三级模式结构模式 Schema 是数据库中全体数据的逻辑结构和特征的描述 通常DBMS把数据库从逻辑上分为三级 即外模式 模式和内模式 它们分别反映了看待数据库的三个角度 15 15 数据库系统的三级模式结构 数据库系统的结构 16 16 1 模式模式 Schema 是数据库中全体数据的逻辑结构和特征的描述 又称概念模式或概念视图 视图可理解为一组记录的值 用户或程序员看到和使用的数据库的内容 2 外模式又称子模式或用户模式或外视图 是三级结构的最外层 个别用户只对整个数据库的一部分感兴趣 所以外视图是个别用户看到和使用的数据库内容 因此也常把外视图称为用户数据库 数据库系统的结构 17 17 3 内模式又称存储模式或内视图 是三级结构中的最内层 也是靠近物理存储的一层 即与实际存储数据方式有关的一层 由多个存储记录组成 但并非物理层 不必关心具体的存储位置 比较在数据库系统中 外模式可有多个 而概念模式 内模式只能各有一个 内模式是整个数据库实际存储的表示 而概念模式是整个数据库实际存储的抽象表示 外模式是概念模式的某一部分的抽象表示 18 18 4 三级结构的优点 1 保证数据的独立性 将模式和内模式分开 保证数据的物理独立性 将外模式和模式分开 保证数据的逻辑独立性 2 简化了用户接口 按照外模式编写应用程序或敲入命令 而不需了解数据库内部的存储结构 方便用户使用 3 有利于数据共享 在不同的外模式下可有多个用户共享系统中数据 减少了数据冗余 4 利于数据的安全保密 在外模式下根据要求进行操作 不能对限定的数据操作 保证了其他数据的安全 19 19 2数据库系统的二级映射数据库系统的三级模式是对数据的三个抽象级别 它使用户能逻辑地抽象地处理数据 而不必关心数据在计算机内部的存储方式 把数据的具体组织交给DBMS管理 为了能够在内部实现这三个抽象层次的联系和转换 DBMS在三级模式之间提供了二级映象功能 20 20 1 模式 内模式映象数据库中的模式和内模式都只有一个 所以模式 内模式映象是唯一的 它确定了数据的全局逻辑结构与存储结构之间的对应关系 例如 存储结构变化时 模式 内模式映象也应有相应的变化 使其概念模式仍保持不变 即把存储结构的变化的影响限制在概念模式之下 这使数据的存储结构和存储方法较高的独立于应用程序 通过映象功能保证数据存储结构的变化不影响数据的全局逻辑结构的改变 从而不必修改应用程序 即确保了数据的物理独立性 21 21 2 外模式 模式映象数据库中的同一模式可以有任意多个外模式 对于每一个外模式 都存在一个外模式 模式映象 它确定了数据的局部逻辑结构与全局逻辑结构之间的对应关系 这一映象功能保证了数据的局部逻辑结构不变 由于应用程序是依据数据的局部逻辑结构编写的 所以应用程序不必须修改 从而保证了数据与程序间的逻辑独立性 22 22 2数据模型 数据模型的分类一种类型是概念模型 也称为信息模型 它是按照用户的观点进行数据信息建模 主要用于数据库的设计 另一种模型是数据模型 这种模型是按计算机系统的观点对数据建模 主要用于DBMS的设计 23 23 24 概念模型概念模型也称为 信息模型 信息模型就是人们为正确直观地反映客观事物及其联系 对所研究的信息世界建立的一个抽象的模型 是现实世界到信息世界的第一层抽象 是数据库设计人员和用户之间进行交流的语言 25 25 1 概念模型的名词术语 1 实体 Entity 客观存在并可相互区别的事物称为实体 实体既可以是实际的事物 也可以是抽象的概念或联系 2 属性 Attribute 属性就是实体所具有的特性 一个实体可以由若干个属性描述 属性的取值范围称为该属性的域 3 关键字 Key 关键字是能够惟一地标识出一个实体集中每一个实体的属性或属性组合 4 联系 Relationship 联系分为两种 一种是实体内部各属性之间的联系 另一种是实体之间的联系 26 26 1 一对一联系 如果对于实体集A中的每个实体 实体集B中至多有一个 可以没有 与之相对应 反之亦然 则称实体集A与实体集B具有一对一联系 记作 1 1 2 一对多联系 如果对于实体集A中的每个实体 实体集B中有n个实体 n 0 与之相对应 反过来 实体集B中的每个实体 实体集A中至多只有一个实体与之联系 则称实体集A与实体集B具有一对多联系 记作 1 n 3 多对多联系 如果对于实体集A中的每个实体 实体集B中有n个实体 n 0 与之相对应 反过来 实体集B中的每个实体 实体集A中也有m个实体 m 0 与之联系 则称实体集A与实体集B具有多对多联系 记作 m n 27 27 5 E R模型信息模型有很多种 其中最为流行的一种是由美籍华人陈平山于1976年提出的实体联系模型 Entity RelationshipModel 简称E R模型 这种图称为实体 联系图 简称E R图 E R图有三个要素 实体 用矩形表示实体 矩形内标注实体名称 属性 用椭圆表示属性 椭圆内标注属性名称 并用连线与实体连接起来 实体之间的联系 用菱形表示 菱形内注明联系名称 并用连线将菱形框分别与相关实体相连 并在连线上注明联系类型 28 28 a 1 1联系 b 1 n联系 c m n联系 29 29 30 2 数据模型的组成 1 数据结构数据结构是所研究对象类型的集合 这些对象组成数据库 按照数据结构类型的不同 将数据模型划分为层次模型 网状模型和关系模型 2 数据操纵数据操纵是指对数据库中各种对象实例的操作 3 数据的完整性约束数据的完整性约束是指在给定的数据模型中 数据及其数据关联所遵守的一组规则 用以保证数据库中数据的正确性 一致性 31 31 层次模型层次模型按树型结构组织数据 它是以记录类型为结点 以结点间联系为边的有序树 数据结构为有序树或森林 学院 系 处 教研室 班级 32 32 层次模型有以下两个特点 有且仅有一个结点无父结点 该结点称为根 其它结点有且仅有一个父结点 上面特点就使得用层次模型表示1 n联系非常简便 但是它不能直接表示m n的联系 33 33 网状模型网状模型用网状结构表示实体及其之间的联系 网中结点之间的联系不受层次限制 可以任意发生联系 34 34 网状模型有如下几个特点 一个子结点可以有两个或多个父结点 在两个结点之间可以有两种或多种联系 可能有回路存在 网状模型的优点 能够更为直接地描述现实世界 具有良好的性能 存取效率高 主要缺点 结构复杂 不利于扩充 不容易实现 35 35 关系模型关系数据模型是由IBM公司的E F Codd于1970年首次提出 以关系数据模型为基础的数据库管理系统 称为关系数据库系统 RDBMS 目前广泛使用 1 关系数据模型的定义实体和联系均用二维表来表示的数据模型称之为关系数据模型 36 36 37 4 关系数据模型优缺点关系数据模型具有如下优点 由于实体和联系都用关系描述 结构简单直观 用户易理解有严格的设计理论能够表达三种联系 主要缺点是 由于存取路径对用户透明 造成查询速度慢 效率低于非关系型数据模型 38 38 Student dbf学生信息表 course dbf课程表 sc dbf成绩表 39 39 3关系数据库 一 关系模型的基本概念属性 关系中的每一列称为关系的一个属性 又称列 Column 元组 关系中的每一行称为关系的一个记录 又称元组 域 关系中的每一属性所对应的取值范围叫域 笛卡尔积 给定一组域D1 D2 Dn 这些域中可以有相同的 D1 D2 Dn的笛卡尔积为 D1 D2 Dn d1 d2 dn di Di i 1 n 关系 笛卡尔积的子集 称为域D1 D2 Dn 中的关系 40 40 例如给出三个域 D1 导师集合SUPERVISOR 张清玫 刘逸 D2 专业集合SPECIALITY 计算机专业 信息专业 D3 研究生集合POSTGRADUATE 李勇 刘晨 王名 这对应一张二维表 表的行数 41 42 42 3关系数据库 一 关系模型的基本概念 续 关键字和主关键字 是一个或一组属性 能唯一确定一个元组 若不止一个关键字可选择一个为主 关系模式 是对关系的描述关系的特点 每一列表示一个属性 不可再分的数据项同一关系中属性名不同 排序无关每一行表示元组 各元组不相同 排序无关 43 43 3 关系数据模型完整性约束 实体完整性实体完整性规则 若属性A是基本关系R的主属性 则属性A不能取空值 例如 选修 学号 课程号 成绩 中的学号 44 44 设F是基本关系R的属性 并与基本关系S的主关键字ks相对应 则称F是基本关系R的外关键字 称基本关系R为参照关系 基本关系S为被参照关系 参照完整性 参照关系中 外关键字值必须是被参照关系中主关键字的有效值 参照完整性 45 例 选修 学号 课程号 成绩 中的学号值应该 有效 即要是学生 学号 姓名 性别 专业号 年龄 中确实存在的一个学号值 对课程号也有同样的约束条件 参照完整性 46 用户定义的完整性 用户定义的完整性就是针对某一具体关系数据库的约束条件 它反映某一具体应用所涉及的数据必须满足的语义要求 例如性别取值范围 男 女年龄取值范围 0关系模型应提供定义和检验这类完整性的机制 以使用统一的系统的方法处理它们 而不要由应用程序承担这一功能 47 关系运算 关系代数用对关系的运算来表达查询 按运算符的不同 分为两类 1 传统的集合运算 交 并 差 2 专门的关系运算 选择 投影 连接 除 48 1 并 Union RUS t t RVt S 2 差 Difference R S t t R t S RUS R S 1集合运算 设关系R和关系S具都有n个属性 且相应的属性取自同一个域 则可以定义并 差 交运算如下 49 3 交 Intersection R S t t R t S 50 并操作示例 RelationsR S R S A B 121 A B 23 R S 51 51 差操作示例 RelationsR S R S A B 121 A B 23 R S 52 52 交操作示例 RelationsR S R S A B 121 A B 23 R S A B 2 53 53 2 投影 projection 从关系中指定若干属性组成新的关系 结果是包含K个列的关系 其它的列被删除了 由于关系是集合 故结果中消除了重复的行 从列的角度进行的运算 54 投影操作示例 RelationR A B C 10203040 1112 A C R 55 55 3 选择 selection 选择是从关系中指定若干元组组成新的关系的操作 从行的角度进行的运算 56 例1 查询信息系 IS系 全体学生 关系Student 例2 查询信息系的名叫王名的学生 57 4 连接 设B1 B2 B3 Bk是关系R S的公共属性 且R的元组r和S的元组s在这些公共属性上取值相等 则r s组合的元组进入连接 58 自然连接操作示例 RelationsR S A B 12412 C D aabab B 13123 D aaabb E R S 59 59 例题1 支持数据库各种操作的软件系统为A 数据库系统B 操作系统C 数据管理系统D 文件系统 60 60 例题2 常用的数据模型是关系模型 他用 形式表示实体与实体之间的关系A 网络B 图C 二维表D 树 61 61 例题3 关系运算中的选择运算是从关系中 A 抽出特定元组B 抽出特定属性列C 抽出特定元组和属性列D 建立相应的影像 62 62 例题4 E R图中实体联系的图形符号是 A 圆形B 椭圆形C 菱形D 矩形 63 63 例题5 一个关系对应一个二维表格 表中各列相当于关系的 A 数据项B 元组C 结构D 属性 64 64 思考 实体与实体间有几种对应关系 数量 举例说明数据库三级模式结构各是什么 两个表的联合查询是什么模式 数据库支持的三种数据模式各是什么 什么是关键字 65 65 关系数据库标准语言 SQL结构化查询语言1986年被批准为关系数据库语言的美国标准 87年国际标准化组织ISO也通过了这一标准 SQL作为标准的关系数据库语言 具有十分重大的意义 倍受用户及计算机工业界欢迎 被众多的计算机公司和软件公司所采用 对数据库以外的领域也产生了很大影响 SQL是一个综合的 通用的 功能极强而又简捷易学的语言 它集数据定义 数据操纵和数据控制功能于一体 充分体现了关系数据库语言的特点和优点 66 66 SQL语言的特点 1 综合统一SQL集DDL DML DCL的功能于一体 语言风格统一 可以独立完成数据库生命周期中的全部活动 2 高度非过程化只需指明 做什么 而不必指明 怎么做 无需了解存取路径及操作过程 3 面向集合的操作方式采用集合操作方式 不仅查找结果可以是元组的集合 而且一次插入 删除 更新操作的对象也可以是元组的集合 67 67 SQL语言功能和动词 数据查询 检索SELECT数据定义 创建CREATE 删除DROP 修改ALTER数据操纵 插入INSERT 删除DELETE 更改UPDATE数据控制 授权GRANT 回收REVOKE 68 68 SQL语言的基本概念 SQL语言支持关系数据库三级模式结构 SQL 视图1 视图2 基本表2 基本表1 存储文件1 存储文件2 基本表3 基本表4 外模式 模式 内模式 69 69 样本数据库表结构 学生表 Student Sno Sname Ssex Sage Sdept Sclass 其中Sno为主码 课程表 Course Cno Cname Cpno Ccredit 其中Cno为主码 选课表 SC Sno Cno Grade 其中 Sno Cno 为主码 70 70 SELECT 选择 选择查询SELECTFROM WHERE 1 输出学生选修课号为C601或C602的学生成绩 SELECTsno cno gradeFROMSCWHEREcnoin C601 C602 2 显示成绩表中成绩为80到90的记录 SELECT FROMSCWHEREgradeBETWEEN80AND90 2 显示姓 王 的学生名单 SELECT FROMstudentWHEREsnameLIKE 王 通配符 可以与0个或多个任意字符匹配 71 71 关系数据 规范化 理论 数据库设计的一个最基本的问题是如何建立一个好的数据库模式 使数据库系统无论是在数据存储方面 还是在数据操纵方面都有较好的性能 针对一个具体问题 应该如何构造一个适合于它的数据模式 即应该构造几个关系模式 每个关系是由哪些属性组成等 这是关系数据库逻辑设计所要解决的问题 72 72 数据依赖的概念 数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系 是现实世界属性间相互联系的抽象 是数据内在的性质 是语义的体现 函数依赖 描述一个学生的关系 可以有学号 姓名 所在系等几个属性 由于一个学号对应一个学生 一个学生只在一个系 因此当 学号 值确定后 姓名及其所在系的值也就唯一地确定了 因此说 学号 函数决定 姓名 和 所在系 或者说 姓名 和 所在系 函数依赖于 学号 记作sno sname sno sdept 73 73 函数依赖的例子 例如 现在建立一个学校的数据库 面临的对象包括学生 用学号sno描述 系 用系名sdept描述 系负责人 用其姓名mname描述 课程 用课程名cname描述 和成绩 grade 假设数据库模式由一个单一的关系模式组成 R U F 定义如下 U sno sdept mname cname grade 现实世界的语义为 一个系有若干学生 但一个学生只属于一个系 sno sdept是m 1 一个系只有一名 正职 负责人 sdept mname是1 1 一个学生可以选修多门课程 每门课程有若干学生选修 sno cname是m n 每个学生所学的每门课程都有一个成绩 sno cname grade是m 1 74 74 CNAME MNAME SNO SDEPT GRADE 图示函数依赖关系 只考虑函数依赖这一种数据依赖 从以上事实可以得到属性组U上的一组函数依赖 F sno sdept sdept mname sno cname grade 可以画图表示 75 75 不好的关系模式造成的问题 上述关系模式存在 个问题 插入异常 如果一个系刚刚成立 尚无学生 就无法将这个这个系及其系主任的信息存入数据库 删除异常 如果某个系的学生全部毕业了 在删除该系学生信息的同时 把这个系及其系主任的信息也丢掉了 76 76 不好的关系模式造成的问题 上述关系模式存在 个问题 冗余太大 如每个系主任的姓名重复出现 重复次数与该系每一个学生的每一门功课的成绩出现的次数一样多 一方面浪费了大量的存储空间 另一方面 由于数据冗余存储 系统要付出很大的代价来维护数据库的完整性 比如某系更换系主任后 就必须逐一修改有关的每一个元组 此成为更新异常 总之 上述问题是由于模式中的函数依赖存在某些不好的性质 关系数据库规范化理论正是用来改造 优化 关系模式 通过分解关系模式来消除其中不合适的数据依赖 以解决插入异常 删除异常 数据冗余等问题 77 77 解决该问题的办法 把该单一的关系模式改造一下 分成三个关系模式 用R U F 描述 S SNO SDETPT SNO SDEPT SG SNO CNAME GRADE SNO CNAME GRADE DEPT SDEPT MNAME SDEPT MNAME 这三个模式都不会发生插入异常 删除异常的毛病 而且数据的冗余也得到了控制 三个表之间的参照关系 S sdept DEPT sdept SG sno S sno 78 78 规范化理论 normalization 从1971起 E F Codd提出了规范化理论 使数据库设计的方法走向完备 规范化理论研究已经取得很多成果 数据库中的关系模式的每个分量必须是不可分的数据项 这是最基本的规范化 但是还需要做进一步的分析确定一个好的 没有上述异常的反映现实世界的模式 1 首先讨论一个关系的属性间可能存在的不同的依赖情况 2 然后讨论如何判定关系是否具有某些不合适的性质 3 直观地描述如何将具有不合适性质的关系转换为更合适的形式 4 最后按属性间的依赖情况来区分关系被规范化的程度 是1NF 2NF 3NF 4NF还是5NF 79 79 关系数据库ACCESS简介 Access是Microsoft公司Office办公软件的组件之一 是当前流行的小型关系数据库管理系统 界面简单 数据共享性强 提供功能强大的向导工具 集成了SQL功能 提供程序设计开发语言VBA VisualBasicApplication 提供Web功能 一 特点 80 80 在Access数据库中 包含如下对象 表 查询 窗体 报表 页 宏 模块它们的集合构成了数据库 这些对象都保持在同一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论