《数据库系统结构》PPT课件.ppt

上传人:sh****n 文档编号:8658955 上传时间:2020-03-30 格式:PPT 页数:90 大小:2.24MB
返回 下载 相关 举报
《数据库系统结构》PPT课件.ppt_第1页
第1页 / 共90页
《数据库系统结构》PPT课件.ppt_第2页
第2页 / 共90页
《数据库系统结构》PPT课件.ppt_第3页
第3页 / 共90页
点击查看更多>>
资源描述
数据库原理与应用教程 国家 十一五 规划教材 本章重点 掌握数据库系统的核心和基础 数据模型 包括数据模型的三要素 概念模型 第2章数据库系统结构 2 1数据和数据模型2 2概念层数据模型2 3组织层数据模型2 4数据库系统的结构 2 1数据和数据模型 1 数据数据是人们从实际当中抽取感兴趣的事物特征或属性 数据有一定的格式 例如 性别是一个汉字的字符 格式的规定是数据的语法 而数据的含义是数据的语义数据是信息存在的一种形式 只有通过解释或处理才能成为有用的信息 通过解释 推论 归纳 分析和综合等方法 从数据所获得的有意义的内容称为信息 数据的三种范畴 现实 信息 电脑 2 数据模型 模型是现实世界感兴趣的内容的抽象特征的模拟和抽象 是理解系统的思维工具 数据模型是用来抽象 表示和处理现实世界中的数据和信息的 如 数据库 文件 数据模型应满足三个条件 能比较真实地模拟现实世界 容易被人们理解 便于在计算机上实现 数据模型分类 不同的数据模型实际上是提供给我们模型化数据和信息的不同工具 第一类是概念层模型 从数据的语义视角来抽取模型 此模型是按用户的观点来对数据和信息进行建模 第二类是组织层模型 从数据的组织层次来描述数据 主要包括层次模型 网状模型 关系模型以及对象 关系模型 此模型是从计算机系统的观点对数据进行建模 主要用于DBMS的实现 数据模型是数据库系统的核心和基础 DBMS都基于某种数据模型 为了把现实世界中的具体事物抽象 组织为某一具体DBMS支持的数据模型 通常首先将现实世界抽象为信息世界 概念层模型 然后再将信息世界转换为机器世界 组织层模型 概念层模型与DBMS无关 组织层模型与DBMS有关 现实世界客观事物的抽象过程 数据模型的组成要素 一般地讲 数据模型是严格定义的一组概念的集合 这些概念精确地描述了系统的静态特性 动态特性和完整性约束条件 因此数据模型通常由数据结构 数据操作和完整性约束三部分组成 数据模型三要素 1 数据结构 描述数据的静态特征 包括对数据结构和数据间联系的描述 通常按照数据结构的类型来命名数据模型 层次结构 层次模型网状结构 网状模型关系结构 关系模型 2 数据操作 描述数据的动态特征 一组定义在数据上的操作 包括操作的含义 操作符 运算规则及其语言等 主要操作 检索与更新 插入 删除 修改 3 数据的约束条件 完整性规则的集合 数据库中的数据必须满足这组规则 约束条件的主要目的是使数据库与它所描述的现实系统相符合 设计时 数据模型正确 真实 有效地反映现实运行时 保证数据库中的数据值真实地体现现实世界的状态 2 2概念层数据模型 概念层次模型实际上是现实世界到机器世界的一个中间层次 概念层次模型 抽象现实系统中有应用价值的元素及其关联 反映现实系统中有应用价值的信息结构 不依赖于数据的组织结构 概念模型用于信息世界的建模 是现实世界到信息世界的第一层抽象 是数据库设计人员和用户之间进行交流的工具 是面向用户 面向现实世界的数据模型 是与DBMS无关 常用的概念模型 实体 联系模型 E R模型 实体 联系模型 实体属性联系 实体 实体型 实体集 实体 Entity 具有公共性质的可相互区分的现实世界对象的集合 可以是具体的事物 也可以是抽象的概念或联系具体的事物 学生 课程 职工 正使用的计算机 一场足球赛抽象的联系 学生选课 一次订货 老师与系的工作关系 即某位老师在某系工作 等都是实体 关键之处 一个实体能和别的实体区分开 实体型 EntityType 用实体名及属性名集合来抽象刻画同类实体例如 学生 学号 姓名 性别 出生年份 系 入学时间 就是一个实体型 实体集 EntitySet 同型的实体组成的集合 例 全体学生就是一个实体集 实体的表示方式 在E R图中用矩形框表示实体 把实体名写在框内 比如学生实体可以表示为 学生 属性 实体所具有的特征或性质 身高年龄性别体重 联系 联系是数据之间的关联集合 是客观存在的应用语义链 实体内部的联系 一个实体内属性之间的联系 职工实体内部的职工号和此职工的部门经理号实体之间的联系 不同实体之间的联系 课程实体和学生实体之间存在选课联系 联系的表示方式 实体之间的联系用菱形框表示 框内写上联系名 并用连线与有关的实体相连 联系名 实体1 实体2 联系的种类 一对一联系 1 1 系 系主任一对多联系 1 n 班级 学生多对多联系 m n 课程 学生 一对一联系 实体内部的联系 如果实体A中的每个实例在实体B中至多有一个 也可以没有 实例与之关联 反之亦然 则称实体A与实体B具有一对一联系 记作 1 1 一对一联系 1 1 一对一联系的例子 部门和正经理 假设一个部门只有一个正经理 一个人只当一个部门的经理 系和正系主任 假设一个系只有一个正主任 一个人只当一个系的主任 都是一对一联系 管理 经理 部门 1 1 一对多的联系 如果实体A与实体B之间存在联系 并且对于实体A中的一个实例 实体B中有多个实例与之对应 而对实体B中的任意一个实例 在实体A中都只有一个实例与之对应 则称实体A到实体B的联系是一对多的 记为1 n 有部门和职工两个实体 并且有语义 一个部门可以有多名职工 但是一个职工只在一个部门工作 则部门和职工之间的联系是一对多的 我们把这种联系命名为工作 一对多联系的例子 工作 部门 职工 1 n 多对多的联系 如果实体A与实体B之间存在联系 并且对于实体A中的一个实例 实体B中有多个实例与之对应 而对实体B中的一个实例 在实体A中也有多个实例与之对应 则称实体A到实体B的联系是多对多的 记为m n 多对多联系的例子 有学生和课程两个实体 并且有语义 一个学生可以修多门课程 一门课程可以被多个学生修 那么学生和课程之间的联系就是多对多的 我们把这种联系命名为选课 学生 课程 选课 m n 关联多个实体的联系 顾客购买商品 每个顾客可以从多个售货员那里购买商品 并且可以购买多种商品 每个售货员可以向多名顾客销售商品 并且可以销售多种商品 每种商品可由多个售货员销售 并且可以销售给多名顾客 一个完整实体联系图 2 3组织层数据模型 2 3 1关系数据模型的数据结构2 3 2关系数据模型的数据操作2 3 3关系数据模型的数据完整性约束2 3 4关系代数 补充 上节讨论的概念数据模型是 概念上 的 是抽象的 它与具体的数据库管理系统无关 这节要讨论的数据模型将与具体的DBMS有关 与DBMS支持的数据和联系的表示或存储有关 前面提到过 数据库中不仅要存放数据本身 还要存放数据间的联系 可用不同的方法表示数据与数据之间的联系 把表示数据与数据之间联系的方法称为逻辑 数据 模型 补充 层次数据模型的数据结构 层次模型满足下面两个条件的基本层次联系的集合为层次模型1 有且只有一个结点没有双亲结点 这个结点称为根结点2 根以外的其它结点有且只有一个双亲结点层次模型中的几个术语根结点 双亲结点 兄弟结点 叶结点 补充 网状数据模型的数据结构 网状模型满足下面两个条件的基本层次联系的集合为网状模型 1 允许一个以上的结点无双亲 2 一个结点可以有多于一个的双亲 关系数据模型的数据结构 把数据看成是二维表中的元素 而这个二维表就是关系用关系 表格数据 表示实体和实体之间联系的模型称为关系数据模型示例 学生基本信息表 一些基本术语 关系 关系就是二维表 并满足如下性质 关系表中的每一列都是不可再分的基本属性 表中的行 列次序并不重要 元组 表中的每一行称作是一个元组 它相当于一个记录值 属性 表中的每一列是一个属性值的集合 列可以命名 称为属性名 一些基本术语 续 主码 表中用于唯一地确定一个元组的一个属性或最小的属性组 复合主码 候选码 域 属性的取值范围 如性别的域为 男 女 主码示例 学生基本信息表 学号 姓名 年龄 性别 所在系 学生修课信息表 学号 课程号 成绩 关系模型的数据操作 关系模型的操作对象是集合 也就是关系 非关系型数据库系统中典型的操作是一次一行或一次一个记录 因此 集合处理能力是关系系统区别于其他系统的一个重要特征 关系数据模型的数据操作主要包括四种 查询 插入 删除和修改数据 关系模型的数据完整性约束 实体完整性参照完整性用户定义的完整性 实体完整性 实体完整性是保证关系中的每个元组都是可识别的和惟一的 而且表中不允许存在如下的记录 无主码值的记录主码值相同的记录 参照完整性 用于描述实体之间的联系 参照完整性一般是指多个实体 表 之间的关联关系 一般用外码实现 外码 取作本表 子表 属性之一的外表 父表 主表 主码 主码值先在主表中生成 后在子表中引用 外码引用例1 学生 专业 属于 学号 姓名 专业号 专业号 专业名 外码引用例2 学生 课程 修课 学号 姓名 课程号 课程名 学号 课程号 成绩 参照完整性规则 参照完整性规则就是定义外码与主码之间的引用规则 对于外码 一般应符合如下要求 或者值为空 或者等于其所应用的关系中的某个元组的主码值 外码可以重复 用户定义的完整性 用户定义完整性也称为域完整性或语义完整性 实际上就是指名关系中域的取值范围 按应用语义 属性数据有 类型与长度限制 方便计算机操作取值范围限制 防止属性值与应用语义矛盾 语义许可取值范围约束例 成绩取 0 100 优 良 中 及格 不及格 一 关系代数的运算的分类1 传统的集合运算2 专门的关系运算 关系代数的运算对象是关系 运算结果亦为关系 二 关系代数用到的运算符 1 集合运算符 并 差 交 2 算术比较符 关系代数 补充 3 专门的关系运算符 选择 投影 连接 除 广义笛卡尔积 4 逻辑运算符 设关系R和关系S具有相同的目n 且相应的属性取自同一个域 则可以定义四种运算如下 1 并 Union 关系R和关系S的并记为 R S t t R t S 结果仍为n目关系 由属于R或属于S的元组组成 传统的集合运算 2 差 Difference 关系R和关系S的差记为 R S t t R t S 结果仍为n目关系 由属于R而不属于S的元组组成 4 广义笛卡尔积 Extendedcartesianproduct 两个分别为n m目阿关系R和S的广义笛卡尔积R S是一个 n m 元组的集合 元组的前n个分量是R的一个元组 后m个分量是S的一个元组 若R有k1个元组 S有k2个元组 则R S有k1 k2个元组 3 交 Intersection 关系R和关系S的交记为 R S t t R t S 结果仍为n目关系 由既属于R有属于S的元组组成 关系的交可由关系的差表示 即R S R R S 例2 1 有在职职工和离退修职工两个表 若需要所有职工的表 可以利用并运算实现 表2 3在职职工表 表2 4离退修职工表S R S 表2 4新关系 S R S 例2 2 某商店有本店商品表 接到不合格商品表后 需要将本店中的不合格商品去掉 可以利用差运算实现 商品表 不合格商品表 新关系 新关系 例2 3 在 例2 2 中 找出本店内不合格的商品 可以用交运算实现 例2 4 现有学生表 必修课程表 每个学生必须学习所有必修课程 要求形成选课表 可以利用关系乘运算实现 学生表 必修课程表 新关系 1 选择 Selection 关系R的选择运算是从关系R中选择满足指定条件 用F表示 的元组构成的新关系 换言之 选择运算的结果是一个表的水平方向的子集 关系R的选择运算记为 F R 其中 F是包括属性名的逻辑表达式 运算符有算术比较运算符 和逻辑运算符 非 或 与 专门的关系运算 设有学生 课程关系数据库 学生关系Student 课程关系Course和学生选课关系SC 分别如下图 a b c 所示 Student Course SC a b c 学生 课程数据库 例2 4 查询信息系 IS系 的全体学生 解 在学生关系中找出Sdept为 IS 的学生 Sdept IS Student 或 5 IS Student 例2 5查询年龄小于20岁的学生 解 在学生关系中找出Sage小于20的学生 即 Sage 20 Student 或 4 20 Student 2 投影 Projection 关系R上的投影是从R中选择若干属性列组成新的关系 记作 A R t A t R A为R中的属性列 例2 6 求学生 Student 关系在学生姓名和所在系这两个属性上的投影 解 Sname Sdept Student 或 2 5 Student 结果如 3 连接 join 关系R与关系S的连接运算是从两个关系的广义笛卡尔积中选取属性间满足一定条件的元组形成一个新关系 记作 其中 A为包含R中的属性的表达式B为包含S中属性的表达式 通常为关系比较符 等值连接 equaljoin 为 的连接运算称为等值连接 关系R和S的等值连接是从R和S的广义笛卡尔积R S中选取A与B等值的那些元组 形成的关系 自然连接 naturaljoin 关系R和S的自然连接是一种特殊的等值连接 它要求关系R和S中进行比较的分量必须是相同的属性组的一种连接 并且在结果中把重复的属性列去掉 只保留一个 自然连接记为 一般的连接运算是从行的角度进行的 但自然连接还需要取消重复列 所以自然连接是同时从行和列的角度进行运算 自然连接是构造新关系的有效方法 是关系代数中常用的一种运算 在关系数据库理论中起着重要作用 利用投影 选择和自然连接运算可以任意地分解和构造关系 一般地 自然连接使用在R和S有公共属性的情况中 如果两个关系没有公共属性 那么它们的自然连接就转化为广义笛卡尔积 例2 7 设图 a 和 b 分别为关系R和关系S 图2 6 c 为的结果 图 d 为等值连接的结果 图 e 为自然连接的结果 4 除 Division 略 给定关系R X Y 与S Y Z 其中X Y Z为属性列 R中的Y与S中的Y可以有不同的属性名 但必须出自相同的域集 定义除法 R S tr X tr R r S Yx Yx为x在R中象集 x tr X 除法结果是R中满足下列条件的元组在X属性列上的投影 元组在X上分量值x的象集Yx包含S在Y上投影的集合 例2 8设关系R S分别为下图中 a 和 b R S的结果如图 c 关于 象集 象集的定义给定一个关系R X Z X和Z为属性组 定义 当t X x时 x在R中的象集为 Zx t Z t R t X x 表示R中的属性组X上值为x的诸元组在Z分量上的集合 举例 设有关系R如下 设X A1 A2 Z A3 A4 当X的值x a 3 时 a 3 在R中的象集Zx为 Zx b 4 b 5 即 当X的值x b 2 时 b 2 在R中的象集Zx为 Zx a 1 c 2 即 在关系R中 A可以取四个值 a1 a2 a3 a4 a1的象集为 b1 c2 b2 c3 b2 c1 a2的象集为 b3 c7 b2 c3 a3的象集为 b4 c6 a4的象集为 b6 c6 S在 B C 上的投影为 b1 c2 b2 c1 b2 c3 例7 求至少选修1号课程和3号课程的学生的学号 解 设一个临时关系K Sno Cno SC K 95001 例8 查询选修了2号课程的学生的学号 Sno Cno 2 SC 95001 95002 例9 查询至少选修了一门其先行课为5号课程的学生姓名 Sname Cpno 5 Course SC Sno Sname Student 例10 查询选修了全部课程的学生的学号和姓名 Sno Cno SC Cno Course Sno Sname Student 2 4数据库系统的结构 2 4 1数据库模式概念2 4 三级模式结构2 4 二级映象功能2 4 数据库管理系统 数据库系统模式的概念 从数据库管理系统角度看 数据库系统通常采用三级模式结构 这是数据库管理系统内部的系统结构 在数据模型中有 型 Type 和 值 Value 的概念 型是指对某一类数据的结构和属性的说明 值是型的一个具体赋值 例如 学生记录定义为 学号 姓名 性别 系别 年龄 籍贯 这样的记录型 而 900201 李明 男 计算机 22 江苏 则是该记录型的一个记录值 模式 Schema 是数据库中全体数据的逻辑结构和特征的描述 它仅仅涉及到型的描述 不涉及到具体的值 型 是指对某一类数据的结构和属性的说明 值 是型的一个具体赋值 关系模式一般表示为 关系名 属性1 属性2 属性3 属性n 模式的一个具体值称为模式的一个实例 Instance 同一个模式可以有很多实例 模式是相对稳定的 而实例是相对变动的 因为数据库中的数据是在不断更新的 模式反映的是数据的结构及其联系 而实例反映的是数据库某一时刻的状态 注 不能将模式与模型混为一谈 这两者的定义不同 请注意它们的差别 三级模式结构 数据库系统的三级模式结构是指数据库系统是由外模式 模式和内模式三级构成 模式 Schema 模式也称为概念模式 是数据库中全体数据的逻辑结构和特征的描述 是所有用户的公共数据视图 是数据库系统结构的中间层 既不涉及数据的物理存储细节和硬件环境 也与具体的应用程序 与所使用的应用开发工具及高级程序设计语言 如C COBOL FORTRAN 无关 DBMS提供模式描述语言 模式DDL 来严格地定义模式 例 对关系数据库 定义 表头结构 属性取值范围 外模式 ExtemalSchema 也称为用户模式 子模式 用户对现实系统中感兴趣整体的局部数据结构的描述 是数据库用户的数据视图外模式通常是模式的子集 一个数据库可以有多个外模式 DBMS提供子模式描述语言 子模式DDL 来严格地定义子模式 是保证数据库安全的一个措施 举例 民航售票系统包括处理航班程序和处理旅客程序 程序的使用人员不必知道关于人事档案 丢失的行李 飞行员的航行分配等信息 调度员可能需要知道关于航班 飞机和人事档案等信息 如那些飞行员有资格驾驶747 但不必知道雇员的工资 旅客等信息 所以可以为订票部门建立一个数据库视图 为调度部门建立另一个完全不同的视图 内模式 StorageSchema 内模式也称存储模式 StorageSchema 一个数据库只有一个内模式 它是数据物理结构和存储方式的描述 是数据在数据库内部的表示方式 例如 记录的存储方式是顺序存储 按照B树结构存储还是按haSh方法存储 索引按照什么方式组织 数据是否压缩存储 是否加密 数据的存储记录结构有何规定等 DBMS提供内模式描述语言 内模式DDL 或者存储模式DDL 来严格地定义内模式 2 4 2二级映象功能 数据库系统的三级模式是对数据的三个抽象级别 它把数据的具体组织留给DBMS管理 使用户能逻辑地 抽象地处理数据 而不必关心数据在计算机中的具体表示方式与存储方式 为了能够在内部实现这三个抽象层次的联系和转换 数据库管理系统在三级模式之间提供了两层映象 外模式 模式映象模式 内模式映象 模式间的映象 DBMS基本功能之一 维持DB数据与DB应用程序相互独立 从而使DB应用程序不随DB数据的逻辑或存储结构的变动而变动 模式 内模式映象 当存储结构改变时 可 由DBA 用内模式定义语句 调整内模式定义 从而保持模式不变 数据和程序物理独立 存储独立 当内模式发生变化时 重新定义模式 内模式映象 模式保持不变 外模式保持不变 建立在外模式上的应用程序保持不变 外模式 模式映象 当模式改变时 可用外模式 模式定义语句 调整外模式 模式映象定义 从而保持外模式不变 数据和程序逻辑独立 概念独立 数据库系统投入使用后 可能有必要修改模式 如增加新关系 属性 改变类型 这时 重新定义外模式 模式映象 现存外模式不变 应用程序不变 2 4 3数据库管理系统 DBMS是处理数据库访问的系统软件 处理过程 用户使用数据库语言发出一个访问请求 DBMS接受请求并分析 DBMS检查用户外模式 相应的外模式 概念模式间的映象 概念模式 概念模式 内模式间的映象和存储结构定义 DBMS的功能和组成 数据库管理系统的功能 数据定义数据操作优化和执行数据安全和完整性数据恢复和并发数据字典性能
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!