资源描述
数据库系统概论,An Introduction to Database System,2020/7/8,杨 悦 ,课程性质:专业主干课 考核方式:考试,2020/7/8,1,杨 悦 ,课程简介,讲述数据库系统的基本概念和基本理论的内容 理解数据库系统的内部结构,建立较扎实的数据库语言基础,如数据库语言的查询处理、数据库的优化设计、事务中锁控制等知识 掌握数据库管理系统的使用方法,具有进行数据库设计和开发数据库应用系统的能力,2020/7/8,2,杨 悦 ,教材及参考书(1),教材 萨师煊,王珊:数据库系统概论(第4版) , 高等教育出版社,2006 A First Course in Database Systems Jeffrey.D.Ullman, Jennifer Widom Dept. Of Computer Science Stanford University,2020/7/8,3,杨 悦 ,教材及参考书(2),参考书 Date C J, An Introduction to Database System (Ed.7), Addison-Wesley,2000 王珊,陈红:数据库系统原理教程, 清华大学出版社,2000 上机软件 IBM DB2,2020/7/8,4,杨 悦 ,2020/7/8,5,数据库系统概论 An Introduction to Database System 第一章 绪论,第一章 绪论,1.1 数据库系统概述 1.2 数据模型 1.3 数据库系统结构 1.4 数据库系统的组成 1.5 数据库技术的研究领域 1.6 小结,2020/7/8,6,第一章 绪论,重点: 实体间联系(1:1,1:N,M:N) 数据模型(数据结构的描述) DB的体系结构(三层结构,两级映像,数据独立性) DBMS的功能 难点: 数据库系统管理数据的特点 数据库体系结构与数据独立性的关系,2020/7/8,7,1.1 数据库系统概述,1.1.1 数据库的地位 1.1.2 四个基本概念 1.1.3 数据管理技术的产生与发展,2020/7/8,8,数据库 是什么?,7/8/2020,徐悦竹 ,9,协同软件 办公软件,中间件 应用基础服务器,数据库系统 操作系统,数据库的地位,数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支 数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透 数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志,2020/7/8,10,1.1 数据库系统概述,1.1.1 数据库的地位 1.1.2 四个基本概念 1.1.3 数据管理技术的产生与发展,2020/7/8,11,1.1.2 四个基本概念,数据(Data) 数据库(Database) 数据库管理系统(DBMS) 数据库系统(DBS),2020/7/8,12,一、数据,数据(Data)是数据库中存储的基本对象 数据的定义 描述事物的符号记录 数据的种类 数字、文字、图形、图象、声音 数据的特点 数据与其语义是不可分的,2020/7/8,13,数据举例,学生档案中的学生记录 (李明,男,1972,江苏,计算机系,1990) 数据的形式不能完全表达其内容 数据的解释 语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间 解释:李明是个大学生,1972年出生,江苏人,1990年考入计算机系,2020/7/8,14,二、数据库(举例),2020/7/8,15,二、数据库(续),人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息 数据库的定义 数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合,2020/7/8,16,二、数据库(续),数据库的特征 数据按一定的数据模型组织、描述和储存 可为各种用户共享 冗余度较小 数据独立性较高 易扩展,2020/7/8,17,三、数据库管理系统,什么是DBMS 数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。 DBMS的用途 科学地组织和存储数据、高效地获取和维护数据,2020/7/8,18,DBMS的主要功能,数据定义功能 提供数据定义语言(DDL) 定义数据库中的数据对象 数据操纵功能 提供数据操纵语言(DML) 操纵数据实现对数据库的基本操作 (查询、插入、删除和修改),2020/7/8,19,DBMS的主要功能,数据库的运行管理 保证数据的安全性、完整性、 多用户对数据的并发使用 发生故障后的系统恢复 数据库的建立和维护功能(实用程序) 数据库数据批量装载 数据库转储 介质故障恢复 数据库的重组织 性能监视等,2020/7/8,20,举例说明,仓库(DB)中存放商品(Data),保管员(DBMS)负责商品(Data)的搬进、整理和搬出。 1.检查商品(Data)是否合法(定义问题) 2.检查商品是否完好(完整性问题) 3.如何摆放(组织问题) 4.如何将商品提取出来(存取路径和操作问题) 5.防止被坏人取走(安全性问题) 6.为多用户服务(并发问题),2020/7/8,21,四、数据库系统,什么是数据库系统 数据库系统(Database System,简称DBS)是指在计算机系统中引入数据库后的系统构成。 在不引起混淆的情况下常常把数据库系统简称为数据库。 数据库系统的构成 由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(和用户)构成。,2020/7/8,22,四个基本概念,数据(Data) 数据库(Database,DB) 数据库管理系统(DBMS) 数据库系统(DBS),2020/7/8,23,1.1 数据库系统概述,1.1.1 数据库的地位 1.1.2 四个基本概念 1.1.3 数据管理技术的产生与发展,2020/7/8,24,1.1.3 数据管理技术的产生和发展,什么是数据管理 对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题 数据管理技术的发展过程 人工管理阶段(40年代中-50年代中) 文件系统阶段(50年代末-60年代中) 数据库系统阶段(60年代末-现在),2020/7/8,25,20世纪50年代以前为人工管理阶段,当时计算机主要是用于科学计算。当时从硬件看, 外存只有磁带、卡片、纸带 ,还没有磁盘等这些可直接存取的存储设备; 从软件上看,还没有出现操作系统和管理数据的软件。所以数据由用户直接管理,因此数据依赖于特定的应用程序,缺乏独立性,且数据间也缺乏逻辑组织。,文件系统阶段的主要特点是: (1)数据被组织成相对独立的数据文件,数据和程序相互独立,数据共享成为了可能;数据的物理结构和逻辑结构之间有了简单的变换。 (2)文件管理系统提供了,对数据文件按文件名称进行数据的存取、修改等的编辑操作方法。 (3)数据虽可以共享,但因数据还是面向某些特定的应用程序,所以数据仍存在相当程度的冗余。,这一阶段的特点是数据不再针对某一特定应用,而是面向全组织的,数据共享度高、冗余度小,具有整体的结构性,并且实现了对数据进行统一的控制。,2020/7/8,26,数据库系统的特点,数据结构化 数据独立性 数据共享性 数据的统一管理和控制,7/8/2020,徐悦竹 ,27,数据结构化,整体数据的结构化是数据库的主要特征之一。 用数据模型描述数据的结构、操作及数据之间的联系。 数据库中实现的是数据的真正结构化 数据的结构用数据模型描述,无需程序定义和解释。 数据可以变长。 数据的最小存取单位是数据项。,2020/7/8,28,数据库系统的特点,数据结构化 数据模型 数据独立性 数据共享性 数据的统一管理和控制,7/8/2020,徐悦竹 ,29,数据独立性,物理独立性 指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。 逻辑独立性 指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。,2020/7/8,30,数据库系统的特点,数据结构化 数据模型 数据独立性 高度的物理独立性,一定的逻辑独立性 数据共享性 数据的统一管理和控制,7/8/2020,徐悦竹 ,31,数据库系统的特点,数据结构化 数据模型 数据独立性 高度的物理独立性,一定的逻辑独立性 数据共享性 共享性高,冗余度低,易扩充 数据的统一管理和控制,7/8/2020,徐悦竹 ,32,DBMS对数据的控制功能,数据的安全性(Security)保护 使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。 数据的完整性(Integrity)检查 将数据控制在有效的范围内,或保证数据之间满足一定的关系。,2020/7/8,33,DBMS对数据的控制功能,并发(Concurrency)控制 对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。 数据库恢复(Recovery) 将数据库从错误状态恢复到某一已知的正确状态。,2020/7/8,34,数据库系统的特点,数据独立性 高度的物理独立性,一定的逻辑独立性 数据结构化 数据模型 数据共享性 共享性高,冗余度低,易扩充 数据的统一管理和控制 通过DBMS,7/8/2020,徐悦竹 ,35,第一章 绪论,1.1 数据库系统概述 1.2 数据模型 1.3 数据库系统结构 1.4 数据库系统的组成 1.5 数据库技术的研究领域 1.6 小结,2020/7/8,36,数据模型,信息循环经历了三个领域: 现实世界 信息世界 (概念模型) 计算机世界 (逻辑模型和物理模型) 在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。,2020/7/8,37,实体 属性 实体集 实体模型,数据模型(续),数据模型分成两个不同的层次 (1) 概念模型 也称信息模型,它是按用户的观点来对数据和信息建模。 (2) 数据模型 主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。,2020/7/8,38,数据模型(续),客观对象的抽象过程-两步抽象 现实世界中的客观对象抽象为概念模型; 把概念模型转换为某一DBMS支持的数据模型。 概念模型是现实世界到机器世界的一个中间层次。,2020/7/8,39,1.2 数据模型,1.2.1 数据模型的组成要素 1.2.2 概念模型 1.2.3 常用数据模型 1.2.4 层次模型 1.2.5 网状模型 1.2.6 关系模型,2020/7/8,40,1.2.1 数据模型的组成要素,数据结构 数据操作 数据的约束条件,2020/7/8,41,1.2.2 概念模型,1. 概念模型 2. 信息世界中的基本概念 3. 概念模型的表示方法,2020/7/8,42,较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识。 简单、清晰、易于用户理解。,信息世界中的基本概念,(1) 实体(Entity) 客观存在并可相互区别的事物称为实体。 可以是具体的人、事、物或抽象的概念。 (2) 属性(Attribute) 实体所具有的某一特性称为属性。 一个实体可以由若干个属性来刻画。 (3) 码(Key) 唯一标识实体的属性集称为码。,2020/7/8,43,信息世界中的基本概念(续),(4) 域(Domain) 属性的取值范围称为该属性的域。 (5) 实体型(Entity Type) 用实体名及其属性名集合来抽象和刻画 同类实体称为实体型 (6) 实体集(Entity Set) 同型实体的集合称为实体集,2020/7/8,44,3. 概念模型的表示方法,概念模型的表示方法很多 实体联系方法(E-R方法) 用E-R图来描述现实世界的概念模型 E-R方法也称为E-R模型,2020/7/8,45,E-R图,实体型 用矩形表示,矩形框内写明实体名。,2020/7/8,46,学生,教师,E-R图(续),属性 用椭圆形表示,并用无向边将其与相应的实体连接起来,2020/7/8,47,两个实体型间的联系,48,2020/7/8,1.2.3 常用数据模型,非关系模型 层次模型(Hierarchical Model) 网状模型(Network Model ) 数据结构:以基本层次联系为基本单位 基本层次联系:两个记录以及它们之间的一对多(包括一对一)的联系,2020/7/8,49,常用数据模型(续),关系模型(Relational Model) 数据结构:表 面向对象模型(Object Oriented Model) 数据结构:对象,2020/7/8,徐悦竹 ,50,关系模型的基本概念,关系(Relation) 一个关系对应通常说的一张表。 元组(Tuple) 表中的一行即为一个元组。 属性(Attribute) 表中的一列即为一个属性,给每一个属性起一个名称即属性名。,2020/7/8,51,关系模型的基本概念,码(Key)(等同于候选码) 表中的某个属性组,它可以唯一确定一个元组。 域(Domain) 属性的取值范围。 分量 元组中的一个属性值。 关系模式 对关系的描述 关系名(属性1,属性2,属性n) 学生(学号,姓名,年龄,性别,系,年级),2020/7/8,52,2.关系模型的数据操纵,查询、插入、删除、更新 数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合 存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”,2020/7/8,53,3.关系模型的完整性约束,实体完整性 参照完整性 用户定义的完整性,2020/7/8,54,4.关系数据模型的存储结构,表以文件形式存储 有的DBMS一个表对应一个操作系统文件 有的DBMS自己设计文件结构,2020/7/8,55,5.关系模型的优缺点,优点 建立在严格的数学概念的基础上 概念单一。数据结构简单、清晰,用户易懂易用 实体和各类联系都用关系来表示。 对数据的检索结果也是关系。 关系模型的存取路径对用户透明 具有更高的数据独立性,更好的安全保密性 简化了程序员的工作和数据库开发建立的工作,2020/7/8,56,关系模型的优缺点(续),缺点 存取路径对用户透明导致查询效率往往不如非关系数据模型 为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度,2020/7/8,57,6. 典型的关系数据库系统,ORACLE SYBASE DB2 EasyBase SQL Server,2020/7/8,58,第一章 绪论,1.1 数据库系统概述 1.2 数据模型 1.3 数据库系统结构 1.4 数据库系统的组成 1.5 数据库技术的研究领域 1.6 小结,2020/7/8,59,1.3 数据库系统结构,1.3.1数据库系统内部的模式结构 从数据库管理系统角度看 外模式、模式、内模式 1.3.2数据库系统外部的体系结构 从数据库最终用户角度看 单用户、主从式、分布式、客户/服务器、浏览器/应用服务器/数据库服务器 ,2020/7/8,60,1.3.1 数据库系统的模式结构,数据库系统模式的概念 数据库系统的三级模式结构 数据库的二级映象功能与数据独立性 小结,2020/7/8,61,数据库系统模式的概念,“型” 和“值” 的概念 型(Type) 对某一类数据的结构和属性的说明 值(Value) 是型的一个具体赋值 例如:学生记录 记录型: (学号,姓名,性别,系别,年龄,籍贯) 该记录型的一个记录值: (900201,李明,男,计算机,22,江苏),2020/7/8,62,数据库系统模式的概念(续),模式(Schema) 数据库逻辑结构和特征的描述 是型的描述 反映的是数据的结构及其联系 模式是相对稳定的 模式的一个实例(Instance) 模式的一个具体值 反映数据库某一时刻的状态 同一个模式可以有很多实例 实例随数据库中的数据的更新而变动,2020/7/8,63,1.3.1 数据库系统的模式结构,数据库系统模式的概念 数据库系统的三级模式结构 数据库的二级映象功能与数据独立性 小结,2020/7/8,64,数据库系统的三级模式结构,2020/7/8,65,1模式(Schema),模式(也称逻辑模式) 数据库中全体数据的逻辑结构和特征的描述 所有用户的公共数据视图,综合了所有用户的需求 一个数据库只有一个模式 模式的地位:是数据库系统模式结构的中间层 与数据的物理存储细节和硬件环境无关 与具体的应用程序、开发工具及高级程序设计语言无关,2020/7/8,66,2. 外模式(External Schema),外模式(也称子模式或用户模式) 数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示,2020/7/8,67,3内模式(Internal Schema),内模式(也称存储模式) 是数据物理结构和存储方式的描述 是数据在数据库内部的表示方式 记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储) 索引的组织方式 数据是否压缩存储 数据是否加密 数据存储记录结构的规定 一个数据库只有一个内模式,2020/7/8,68,数据库系统的三级模式结构,2020/7/8,69,1.3.1 数据库系统的模式结构,数据库系统模式的概念 数据库系统的三级模式结构 数据库的二级映象功能与数据独立性 小结,2020/7/8,70,三级模式与二级映象,三级模式是对数据的三个抽象级别 二级映象在DBMS内部实现这三个抽象层次的联系和转换,2020/7/8,71,数据库系统的三级模式结构,2020/7/8,72,1外模式模式映象,定义外模式与模式之间的对应关系 每一个外模式都对应一个外模式模式映象 映象定义通常包含在各自外模式的描述中,2020/7/8,73,外模式模式映象的用途,保证数据的逻辑独立性 当模式改变时,数据库管理员修改有关的外模式模式映象,使外模式保持不变 应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。,2020/7/8,74,2模式内模式映象,模式内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的 数据库中模式内模式映象是唯一的 该映象定义通常包含在模式描述中,2020/7/8,75,模式内模式映象的用途,保证数据的物理独立性 当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式内模式映象,使模式保持不变 应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。,2020/7/8,76,1.3.1 数据库系统的模式结构,数据库系统模式的概念 数据库系统的三级模式结构 数据库的二级映象功能与数据独立性 小结,2020/7/8,77,小结,模式 是数据库的中心与关键 独立于数据库的其它层次 设计数据库模式结构时应首先确定数据库的逻辑模式,2020/7/8,78,小结(续),内模式 依赖于全局逻辑结构,但独立于数据库的用户视图即外模式,也独立于具体的存储设备。 它将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率。,2020/7/8,79,小结(续),外模式 面向具体的应用程序,定义在逻辑模式之上,但独立于存储模式和存储设备 设计外模式时应充分考虑到应用的扩充性。当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动,2020/7/8,80,小结(续),应用程序 在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构独立。 不同的应用程序有时可以共用同一个外模式。,2020/7/8,81,小结(续),二级映象 保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。 数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。,2020/7/8,82,第一章 绪论,1.1 数据库系统概述 1.2 数据模型 1.3 数据库系统结构 1.4 数据库系统的组成 1.5 数据库技术的研究领域 1.6 小结,2020/7/8,83,1.4 数据库系统的组成,数据库 数据库管理系统(及其开发工具) 应用系统 数据库管理员 (用户),2020/7/8,84,1.1 数据库系统概述 1.2 数据模型 1.3 数据库系统结构 1.4 数据库系统的组成 1.5 数据库技术的研究领域 1.6 小结,85,第一章 绪论,2020/7/8,1.5 数据库技术的研究领域,数据库管理系统软件的研制 数据库设计 数据库理论,2020/7/8,86,第一章 绪论,1.1 数据库系统概述 1.2 数据模型 1.3 数据库系统结构 1.4 数据库系统的组成 1.5 数据库技术的研究领域 1.6 小结,2020/7/8,87,小结,数据库系统概述 数据库的基本概念 数据管理的发展过程 数据库系统的研究领域 数据模型 数据模型的三要素 概念模型, E-R 模型 三种主要数据模型,2020/7/8,88,小结(续),数据库系统的结构 数据库系统三级模式结构 数据库系统的体系结构 数据库系统的组成,2020/7/8,89,
展开阅读全文