数据库原理与应用 计算机与信息工程学院 1/
内容回顾 数据、信息、数据库、数据库管理系统 数据管理技术发展阶段 2/
第2讲 数据库系统概论(二) 3/
本讲知识点介绍 常用的数据模型 数据抽象与数据库三级模式 数据库系统的组成 4/
教学目标 掌握常用的数据模型 掌握数据库体系的三级模式结构、两级映像 了解数据库系统的发展特点 了解主流数据库技术的发展趋势 5/
数据模型的分类 模型??? 模型是现实世界特征的模拟和抽象 现实世界又如何作为数据在计算机中处理? 一张地图 一组建筑设计沙盘 一架航模飞机 6/
数据模型的分类 数据模型是数据特征的抽象。 数据模型是一个描述数据语义、数据与数据之间联系(数据结构),数据操作,以及数据约束的概念工具的集合 数据模型应满足三方面要求: 能比较真实地模拟现实世界 容易为人所理解 便于在计算机上实现 7/
数据模型的分类 根据数据抽象的不同级别,将数据模型划分为3类: 概念模型:概念层次的数据模型,也称为信息模型 逻辑模型:用于描述数据库数据的整体逻辑结构 物理模型:用来描述数据的物理存储结构和存取方法 8/
数据模型的分类 概念模型 按用户的观点或认识对现实世界的数据和信息进行建模 主要用于数据库设计 常用的概念模型有: 实体-联系模型(E-R模型) 基于对现实世界的如下认识:现实世界是由一组称作实体的基本对象以及这些对象间的联系构成 实体是现实世界中可区别于其他对象的一件“事情”或一个“物体” 例如,选课系统中的一门课程、一条选课记录、一个教室等 面向对象模型(OO模型) 是用面向对象观点来描述现实世界实体(对象)的逻辑组织、对象间限制、联系等的模型 9/
10/
数据模型的分类 逻辑模型 主要用于DBMS的实现。它既要考虑用户容易理解,又要考虑便于DBMS实现 不同的DBMS提供不同的逻辑数据模型 层次模型(hierarchical model) 网状模型(network model) 关系模型(relational model) 面向对象模型(即OO模型) XML模型 对象关系模型(object relational model) 11/
数据模型的分类 物理模型 物理层是数据抽象的最低层 例如,一个数据库中的数据和索引是存放在不同的数据段上还是相同的数据段上;数据的物理记录格式是变长的还是定长的;数据是否压缩存储等 物理模型的具体实现是DBMS的任务,数据库设计人员要了解和选择物理模型,一般用户则不必考虑物理层细节 12/
数据模型的分类 适用对象 从现实世界到概念模型的转换是由数据库设计人员完成 信息世界 图1-6 现实世界中客观对象的抽象过程 现实世界 认识 抽象 DBMS支持的逻辑模型 DBMS支持的物理模型 逻辑机器世界 物理机器世界 适用对象 从现实世界到概念模型的转换是由数据库设计人员完成 从概念模型到逻辑模型的转换可以由数据库设计人员完成,也可以用数据库设计工具协助设计人员完成 从逻辑模型到物理模型的转换一般由DBMS来完成 13/
数据模型的组成要素 数据模型精确地描述了系统的静态特性、动态特性和完整性约束条件 数据模型的组成要素有: 数据结构:描述数据库的组成对象(数据)以及对象之间的联系 数据操作:指对数据库中各种对象(型)的实例(值)允许执行的操作集合,包括操作及有关的操作规则 完整性约束:一组完整性规则,它给定数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据库中数据的正确、有效和相容 14/
图1-7 一个简单的教学管理系统的层次数据模型 层次模型 图1-7 一个简单的教学管理系统的层次数据模型 职工号 姓名 研究方向 Employee 班级号 年级 专业 Class 系编号 系名 办公地点 Department 学号 性别 Student 出生日期 典型代表是1968年IBM公司推出的第一个大型商用数据库管理系统——IMS(information management system) 层次模型用树形结构来表示各类实体以及实体间的联系。实体用记录来表示,实体间的联系用链接(可看作指针)来表示 满足如下两个条件的基本层次联系的集合为层次模型: 有且只有一个结点没有双亲结点,这个结点称为根结点 根以外的其他结点有且只有一个双亲结点 在层次模型中,每个结点表示一个记录型,记录(型)之间的联系用结点之间的连线(有向边)表示,这种联系是一对多的联系 每个记录型由若干个字段组成,记录型描述的是实体,字段描述的是实体的属性。 15/
层次模型 Employee Class Student 图1-8 一个简单的教学管理系统的实例值 E0501 万家乐 数据库 C01 图1-8 一个简单的教学管理系统的实例值 E0501 万家乐 数据库 Employee C01 2008 计算机 Class D05 计算机系 信息大楼 Department E0502 吴文君 信息检索 E0503 廖兴旺 操作系统 C02 2009 信息系统 Student S090204 王红敏 女 06/12/92 S090212 刘宏昊 男 09/25/91 S090228 李 立 02/18/92 S080125 李小勇 11/26/90 S080148 黄小红 05/21/91 E0803 王国方 数据结构 C03 2008 电子商务 D08 信息系 信息大楼 E0805 张长工 编译原理 E0809 李小红 运筹学 C04 2009 信息系统 S090404 刘月高 女 06/12/92 S090412 王永民 男 09/25/91 S090428 英达成 02/18/92 S080325 万元户 11/26/90 S080348 李 兴 05/21/91 16/
层次模型 层次模型的主要优点: 层次模型的主要缺点: 数据结构比较简单清晰 查询效率高 提供了良好的完整性支持 现实世界中很多联系是非层次的(如多对多联系)。对插入和删除操作的限制比较多,因此应用程序的编写较复杂 查询孩子结点必须通过双亲结点 17/
网状模型 典型代表是DBTG系统 满足如下两个条件的基本层次联系的集合称为网状模型 允许一个以上的结点无双亲 一个结点可以有多个双亲 网状模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,还允许两个结点之间有多种联系(称为复合联系)。因此,网状模型可以更直接地去描述现实世界 18/
网状模型 19/
网状模型 网状模型的主要优点: 网状模型的主要缺点: 能够更为直接地描述现实世界 具有良好的性能,存取效率较高 结构比较复杂,而且随着应用规模的扩大,数据库的结构会变得越来越复杂,不利于最终用户掌握 操作语言比较复杂 20/
关系模型 1970年美国IBM公司San Jose研究室的研究员E. F. Codd首次提出了数据库管理系统的关系模型。 20世纪80年代以来,计算机厂商新推出的数据库管理系统几乎都支持关系模型,数据库领域当前的研究工作也都是以关系方法为基础 21/
关系模型 关系数据模型的数据结构 关系模型中的常用术语: 关系(relation):一个关系对应一张二维表,每一个关系有一个名称即关系名; 元组(tuple):表中的一行称为一个元组; 属性(attribute):表中的一列称为一个属性,每一个属性有一个名称即属性名; 码(key):也称为码键。表中的某个属性或属性组,它可以唯一地确定关系中的一个元组; 域(domain):属性的取值范围; 分量(component):元组中的一个属性值; 关系模式(relational schema):通过关系名和属性名列表对关系进行描述,相当于二维表的表头部分(即表格的描述部分) 22/
关系模型 关系模式的一般形式: 关系Student、Course和Score可分别描述为: 图1-9 关系模型的数据结构 Student关系 学号 姓名 性别 出生日期 所学专业 0701001 李小勇 男 1990-12-21 计算机 0701008 王 红 男 1992-04-26 计算机 0802002 刘方晨 女 1990-11-11 信息系统 0802005 王红敏 女 1990-10-01 信息系统 0703045 王 红 男 1992-04-26 会计学 0703010 李宏冰 女 1992-03-09 会计学 … … … … … Course关系 课程号 课程名称 学时 学分 CS005 数据库系统概论 64 4 CS012 操作系统 80 5 CP001 基础会计 48 3 … … … … Score关系 学号 课程号 学期 成绩 0701001 CS005 072 92 0701001 CS012 081 88 0701008 CS005 072 86 0701008 CS012 081 93 0701008 CP001 081 78 0802002 CS005 082 85 0802002 CP001 091 95 0802005 CS005 082 72 0802005 CP001 091 88 0703045 CP001 072 84 0703010 CP001 072 92 … … … … 关系模式的一般形式: 关系名(属性名1,属性名2,…,属性名n) 关系Student、Course和Score可分别描述为: Student(学号,姓名,性别,出生日期,所学专业) Course(课程号,课程名称,学时,学分) Score(学号,课程号,学期,成绩) 关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件。 最基本的规范条件是: 关系的每一个分量必须是一个不可分的数据项,即不允许表中有表 23/
关系模型 关系数据模型的操作 关系数据模型的操作主要包括查询、插入、删除和修改(更新数据) 关系:元组的集合,关系模型的数据操作是集合操作,操作对象和操作结果都是关系(元组的集合)——不同于传统的非关系模型的数据操作:单记录操作 关系模型:存取路径是透明的,用户只要指出“干什么”或“找什么”,不必说明“怎么干”或“怎么找”,从而大大地提高了数据的独立性,提高了软件的开发和维护效率 24/
层次模型:查询信息系C04班的女同学 Employee Class Student 图1-8 一个简单的教学管理系统的实例值 E0501 图1-8 一个简单的教学管理系统的实例值 E0501 万家乐 数据库 Employee C01 2008 计算机 Class D05 计算机系 信息大楼 Department E0502 吴文君 信息检索 E0503 廖兴旺 操作系统 C02 2009 信息系统 Student S090204 王红敏 女 06/12/92 S090212 刘宏昊 男 09/25/91 S090228 李 立 02/18/92 S080125 李小勇 11/26/90 S080148 黄小红 05/21/91 C03 2008 电子商务 D08 信息系 信息大楼 C04 2009 信息系统 S080325 万元户 男 11/26/90 S080348 李 兴 女 05/21/91 S090404 刘月高 女 06/12/92 S090412 王永民 男 09/25/91 S090428 英达成 02/18/92 25/
关系模型:查询信息系C04班的女同学 ☺ ☺ Student S080125 李小勇 男 11/26/90 S080148 黄小红 女 05/21/91 计算机系 C01 S090204 王红敏 女 06/12/92 S090212 刘宏昊 男 09/25/91 S090228 李 立 02/18/92 计算机系 C02 S080325 万元户 男 11/26/90 S080348 李 兴 女 05/21/91 信息系 C03 ☺ S090404 刘月高 女 06/12/92 S090412 王永民 男 09/25/91 S090428 英达成 02/18/92 信息系 C04 ☺ 26/
数据库三级模式 数据库管理系统(DBMS)是一组软件,负责数据库的存取、维护和管理 27/
图1-13 数据库的三级模式结构 应用A 应用B 应用C 应用E 应用F 外模式1 外模式2 外模式3 应用D 应用G 模式 内模式 数据库 图1-13 数据库的三级模式结构 应用A 外模式/模式映像 应用B 应用C 应用E 应用F 外模式1 外模式2 外模式3 应用D 应用G 模式 内模式 数据库 模式/内模式映像 28/
数据库的三级模式 模式 也称为逻辑模式,是数据库的整体框架,是全体数据的逻辑结构和特征的描述,是所有用户公共数据视图。 如:数据项的名称、类型,数据之间的联系等。 逻辑模式用相对简单的结构来描述整个数据库,用户使用逻辑模式可以不关心隐藏在逻辑模式下的复杂的物理模式。 29/
数据库的三级模式 外模式 是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一具体应用有关的数据的逻辑表示 内模式 也称存储模式,对应于物理层数据抽象,它是数据的物理结构和存储方式的描述,是数据在数据库内部的表示方式 30/
举例:选课信息数据库 模式: 内模式 外模式 学生(学号,姓名,年龄,性别) 课程(课程号,课程名,学分) 选课(学号,课程号,成绩) 如:以堆文件存储,学生表中以学号建立索引 外模式 课程信息(课程号,选课人数) 31/
数据库的三级模式 数据库的两层映像功能与数据独立性 外模式/模式映像 模式/内模式映像 图1-13 数据库的三级模式结构 应用A 外模式/模式映像 应用B 应用C 应用E 应用F 外模式1 外模式2 外模式3 应用D 应用G 模式 内模式 数据库 模式/内模式映像 数据库的两层映像功能与数据独立性 外模式/模式映像 对应于一个模式可以有多个外模式。对于每一个外模式,数据库管理系统都有一个模式/外模式映像,它定义了该外模式与模式之间的对应关系 在各自的外模式描述中定义外模式/模式映像 保证了数据与程序的逻辑独立性,简称为数据的逻辑独立性 模式/内模式映像 数据库中只有一个模式,也只有一个内模式,模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系 在模式描述中定义模式/内模式映像 保证了数据与程序的物理独立性,简称为数据的物理独立性 32/
数据库系统组成 数据库系统(database system, DBS),是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其应用开发工具)、应用系统、数据库管理员和最终用户构成 数据库管理员(database administrator, DBA),是指数据库的建立、使用和维护等的工作人员 DBA职责: 逻辑模式定义 物理模式定义 存取权限授权 日常维护 33/
作业 名词解释:信息;数据;数据库;数据库管理系统;数据库系统。 习题一 :3、4 、9、11 34/