1、教材教材:王珊王珊萨师煊,煊,数据数据库系系统概概论(第五版)(第五版)高等教育出版社高等教育出版社参考参考书籍籍:王珊王珊数据数据库系系统简明教程明教程高等教育出版社高等教育出版社王王亚平平数据数据库系系统工程工程师教程教程清清华大学出版社大学出版社数据库原理与应用1课程程时间安排安排n理理论课:16周周,共,共32学学时n实验课:共八次,每次一个:共八次,每次一个题目,目,n考核考核办法法n闭卷笔卷笔试2教教学学内内容容基本理基本理论应用技用技术结构化构化查询语言言SQLSQL(第(第3 3章)章)安全性与完整性(第安全性与完整性(第4 4、5 5章)章)数据数据库设计(第(第7 7章)章
2、)数据数据库设计编程、事程、事务管理等管理等(第(第8 8、9 9、1010章)章)数据数据库系系统概概论(第(第1 1章)章)关系数据关系数据库(第(第2 2章)章)关系数据关系数据库理理论(第(第6 6章)章)3 1.1数据数据库系系统概述概述1.2数据模型数据模型1.3数据数据库系系统结构构1.4数据数据库系系统的的组成成第第 1章章 绪论4v数据数据库是数据管理的最新技是数据管理的最新技术,是,是计算算机科学的重要分支机科学的重要分支v数据数据库技技术在信息化社会中的重要作用在信息化社会中的重要作用 q信息系统的核心和基础技术q日益广泛的应用 例如:管理信息系统(MIS)、联机事务处理
3、(OLTP)、联机分析处理(OLAP)、计算机辅助设计与制造(CADCAM)、计算机集成制造系统(CIMS)、办公信息系统(OIS)、地理信息系统(GIS).and Internet!数据数据库技技术的重要地位的重要地位51.1数据数据库系系统概述概述1.1.1数据、数据数据、数据库、数据、数据库管理系管理系统、数据数据库系系统q 数据数据(Data):定定义描述事物的符号记录种种类文字、图形、图象、音频、视频特点特点数据的表现形式不能完全表达其内容,与其语义不可分61.1.1数据、数据数据、数据库、数据数据库管理系管理系统、数据、数据库系系统q 数据数据(Data):例:学生档案中的学生记录
4、(李明,(李明,1972年年5月,江月,江苏,计算机系,算机系,1990)如果对应语义:学生姓名、出生年月、籍贯、所在系别、入学时间 则解释为:学生李明,1972年5月出生,是江苏人,1990年考入计算机系 如果对应语义:学生姓名、毕业年月、工作地点、所在 系别、电子建档日期 则解释为:学生李明,1972年5月毕业于计算机系,现 在江苏工作,1990年建立电子学籍档案7q数据数据库(DataBase,DB)定义 长期储存在计算机内、有组织的、可共享的 大量数据集合特征数据按一定的数据模型组织、描述和储存可为各种用户共享 冗余度较小数据独立性较高 易扩展8q数据数据库管理系管理系统(DataBa
5、seManagementSystem,DBMS)位于用位于用户与操作系与操作系统之之间的一的一层数据管理数据管理软件,件,用于科学用于科学组织和存和存储数据,高效数据,高效获取和取和维护数据。数据。主要功能主要功能1.1.数据定数据定义功能功能 2.2.数据数据组织、存、存储和管理和管理3.3.数据操数据操纵功能功能 4.4.数据数据库的事物管理和运行管理的事物管理和运行管理5.5.数据数据库的建立和的建立和维护功能功能 6 6 其他功能其他功能9q数据数据库管理系管理系统(DBMS)1.1.数据定数据定义功能:功能:提供数据定义语言(Data Definition language)来定义数
6、据对象。2.2.数据数据组织、存、存储和管理:和管理:能分类组织、存储和管理这种数据。确定文件结构、存取方式、数据关系。3.3.数据操数据操纵功能:功能:提供数据操纵语言(Data Manipulation language)实现用户对数据操作,如对数据的增、删、改和查询。10q数据数据库管理系管理系统(DBMS)4.4.数据数据库的事的事务管理和运行管理:管理和运行管理:数据库在建立、运用和维护时统一由DBMS控制和管理。数据的安全性保护:保护数据,防止泄密和破坏;用户只能按照规定,对某些数据以某些方式进行使用和处理数据的完整性检查:检查数据的正确性、有效性和相容性。将数据控制在有效的范围内
7、,保证数据之间满足一定的关系。并发控制:对多用户的并发操作加以控制和协调数据库恢复:具有将数据库从错误状态恢复到某一已知正确状态的功能。11q数据数据库管理系管理系统(DBMS)5.5.数据数据库的建立和的建立和维护功能:功能:数据库原始数据的输入、转换功能数据库的转储、恢复功能数据库的重组织和性能监视、分析功能12q数据数据库管理系管理系统(DBMS)6.6.其他功能其他功能DBMS与网络中其他软件系统的通信功能一个DBMS与另一个DBMS或文件系统的数据转换功能异构数据库之间的互访和互操作功能13q数据数据库系系统(DataBase System,DBS)定定义:在:在计算机系算机系统中引
8、入数据中引入数据库后的系后的系统 组成:数据成:数据库 DBMS(DBMS(以及以及应用开用开发工具工具)应用系用系统 数据数据库管理管理员(DBADBA)14应用系用系统DB用用户应用开用开发工具工具DBMSOS用用户用用户DBA图1 1 数据数据库系系统(DBS)图2 数据数据库在在计算机系算机系统中的中的地位地位15v数据数据库技技术是是应数据管理任数据管理任务的需要而的需要而产生生的。的。数据数据处理理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。数据管理数据管理则是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。v数据管理技数据管理技术经历了了人
9、工管理人工管理、文件系文件系统、数据数据库系系统三个三个阶段。段。1.1.2数据管理技数据管理技术的的产生和生和发展展16q人工管理人工管理阶段段(20世纪50年代中期以前)背景:背景:应用需求:科学计算硬件水平:无直接存取存储设备软件水平:没有操作系统和管理数据的专门软件处理方式:批处理17q人工管理人工管理阶段段(20世纪50年代中期以前)特点:特点:1)数据不保存数据不保存2)应用程序管理数据用程序管理数据 数据需要由应用程序自己管理,没有相应的软件系统负责数据的管理工作。应用程序中不仅要规定数据的逻辑结构,而且要设计物理结构,包括存储结构、存取方法、输入方式等。因此程序员负担很重。3)
10、数据不共享数据不共享 数据是面向应用的,一组数据只能对应一个程序。4)数据不具有独立性数据不具有独立性 数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改。18应用程序1数据集1应用程序2数据集2应用程序n数据集n人工管理人工管理阶段段应用程序与数据之用程序与数据之间的的对应关系关系19q文件系文件系统阶段段(50年代后期年代后期60年代中期)年代中期)背景:背景:应用需求科学计算、管理硬件水平磁盘、磁鼓软件水平有文件系统处理方式联机实时处理、批处理20q文件系文件系统阶段段(50年代后期60年代中期)特点:特点:(1)数据可数据可长期保存期保存(2)由文件系由文件系统管理数据管理
11、数据 按文件名访问,按记录进行存取,实现记录内的结构性而整体无结构。(3)数据共享性差数据共享性差,冗余度大冗余度大 文件仍然是面向应用的。当不同的应用程序具有部分相同的数据时,也必须建立各自的文件,不能共享相同的数据。(4)数据独立性差数据独立性差 一旦数据的逻辑结构改变,必须修改应用程序,修改文件结构定义;应用程序的改变,也要引起文件数据结构的改变;文件之间互相独立,不能反映出现实世界的内在联系。21应用程序1文件1应用程序2文件2应用程序n文件n文件系统阶段应用程序与数据之间的对应关系存取方法22q数据数据库系系统阶段段(20世世纪60年代后期年代后期)背景:背景:应用背景 大规模管理硬
12、件背景 大容量磁盘软件背景 有数据库管理系统处理方式 联机实时处理、分布处理、批处理23q数据数据库系系统阶段段(20世纪60年代后期 )特点:特点:1)数据数据结构化构化数据结构化是数据库与文件系统的根本区别。n文件系统中,尽管其记录内部已有了某些结构,但记录之间没有联系。数据的最小存取单位是记录。n 数据库系统实现整体数据的结构化,描述数据时不仅要描述数据本身,还要描述数据之间的联系。数据不再针对其一应用,是面向全组织,具有整体的结构化。数据的最小存取单位是数据项。24学生、课程、学生选课文件结构(关系数据库中的参照完整性;文件系统只能编写应用程序代码实现)25q数据数据库系系统阶段段(2
13、0世纪60年代后期 )不仅考虑某个应用的数据结构,还要考虑整个组织的数据结构。因此描述数据时不仅仅描述数据本身,还要描述数据之间的联系。26(2)数据的共享性高,冗余度低,易数据的共享性高,冗余度低,易扩充充 数据可以被多个用户、多个应用共享使用。共享导致数据冗余度低,同时可避免数据之间的不相容性与不一致性。通过重新选择不同的操作子集,易于增加新的应用。(3)数据独立性高数据独立性高物理独立性物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。逻辑独立性独立性指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序
14、也可以不变。27应用程序1应用程序2数据数据库管理管理阶段程序与数据的段程序与数据的对应关系关系 DBMS 数据数据库(4)数据由数据由DBMS统一管理和控制一管理和控制数据的安全性保护/数据的完整性检查并发控制/数据库恢复 281.2数据模型数据模型在数据在数据库中如何抽象、中如何抽象、表示、表示、处理理现实世界中世界中的数据和信息呢?的数据和信息呢?数据模型(数据模型(DataModel)这个工具来个工具来对现实世界世界进行行抽象的。抽象的。291.2数据模型数据模型模型模型是现实世界特征的模拟和抽象。数据模型数据模型也是一种模型,是现实世界数据特征 的抽象,表示实体以及实体间的联系。一个
15、用于描述数据、数据间关系、数据 语义和数据约束的概念工具的集合。数据模型数据模型应满足三方面要求:足三方面要求:能比较真实地模拟现实世界;容易为人所理解;便于在计算机上实现。30根据根据应用的不同目的,数据模型划分用的不同目的,数据模型划分为两两类:v概念模型(信息模型)概念模型(信息模型)按用用户的的观点点来对数据和信息建模;主要用于数据库设计。v数据模型(数据模型(逻辑模型和物理模型)模型和物理模型)按计算机系算机系统的的观点点对数据建模;逻辑模型模型主要包括网状模型、层次模型、关系模型等,用于DBMS的实现。物理模型物理模型是描述数据在系统内部的表示方式和存取方法,由DBMS来具体实现。
16、1.2.1两两类数据模型数据模型31现实世界 信息世界信息世界概念模型概念模型机器世界机器世界DBMS支持的数据模型支持的数据模型转换认识 抽象抽象客客观对象的抽象象的抽象过程程现实世界世界概念模型:概念模型:数据库设计人员概念模型概念模型逻辑模型模型 数据库设计人员&数据库设计工具逻辑模型模型物理模型物理模型 DBMS32由数据由数据结构、数据操作和完整性构、数据操作和完整性约束三部分束三部分组成成q数据数据结构构是所研究的是所研究的对象象类型的集合。型的集合。与数据类型、内容、性质有关的对象(例如网状模型中的数据项、记录,关系模型中的域、属性、关系等)。与数据之间联系有关的对象(例如网状模
17、型中的系型)。数据数据结构是构是对系系统静静态特性的描述。特性的描述。1.2.2数据模型的数据模型的组成要素成要素33q数据操作数据操作 是指是指对数据数据库中各种中各种对象象(型型)的的实例例(值)允允许执行的操作的集合,包括操作及有关的操作行的操作的集合,包括操作及有关的操作规则。数据库主要有检索和更新(包括插入、删除、修改)两大类操作。数据模型必须定义这些操作的含义、符号、规则(如优先级)以及实现操作的语言。数据操作是数据操作是对系系统动态特性的描述特性的描述q数据的数据的约束条件束条件 是一是一组完整性完整性规则的集合。的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存
18、规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容(详见第五章)。34概念模型是概念模型是现实世界世界到到机器世界机器世界的一个中的一个中间层次次v概念模型用于信息世界的建模概念模型用于信息世界的建模q应该具有具有较强的的语义表达能力表达能力q应该简单、清晰、易于用、清晰、易于用户理解。理解。1.2.3概念模型概念模型1.2数据模型数据模型35q信息世界中的基本概念信息世界中的基本概念(1)实体体(Entity)客客观存在并可相互区存在并可相互区别的事物称的事物称为实体。体。(2)属性属性(Attribute)实体所具有的某一特性称体所具有的某一特性称为属性。一
19、个属性。一个实体可以由若体可以由若干个属性来刻画。例如:干个属性来刻画。例如:(94002268(94002268,张山,男,山,男,19761976,计算机系,算机系,1994)1994)(3)码(Key)唯一唯一标识实体的属性集称体的属性集称为码(学号、(学号、订单号等)。号等)。1.2.3概念模型概念模型36(4)域域(Domain)属性的取属性的取值范范围称称为该属性的域。属性的域。例如,学号的域例如,学号的域为8 8位整数,姓名的域位整数,姓名的域为字符串集合,性字符串集合,性别的域的域为(男,女男,女)。(5)实体型体型(EntityType)用用实体名及其属性集合来抽象和刻画同体
20、名及其属性集合来抽象和刻画同类实体,称体,称为实体型。体型。学生学生(学号,姓名,出生年份,系,入学学号,姓名,出生年份,系,入学时间)(6)实体集体集(EntitySet)同型同型实体的集合称体的集合称为实体集。体集。1.2.3概念模型概念模型37(7)联系系(Relationship)在在现实世界中,事物内部以及事物之世界中,事物内部以及事物之间是有是有联系的,系的,这些些联系在信息世界中反映系在信息世界中反映为实体体(型型)内部的内部的联系和系和实体体(型型)之之间的的联系。系。实体内部的体内部的联系通常是指系通常是指组成成实体的各属性之体的各属性之间的的联系。系。实体之体之间的的联系通
21、常是指不同系通常是指不同实体集之体集之间的的联系。系。1.2.3概念模型概念模型38q实体体联系模型(系模型(-模型)表示方法模型)表示方法-模型的三要素:实体、属性、实体间的联系1.2.3概念模型概念模型表示属性表示属性表示表示实体体间联系系表示表示实体体39q实体体联系模型(系模型(-模型)表示方法模型)表示方法实体型之体型之间的的联系系:一对一联系(:)、一对多联系(:N)、多对多联系(:)1.2.3概念模型概念模型班班长任任职班班级1140实体体联系模型(系模型(-模型)表示方法模型)表示方法1.2.3概念模型概念模型1:n班班级学学习学生学生1n学生学生选修修课程程nmn:m41 1
22、.2.3概念模型概念模型实体体联系模型(系模型(-模型)表示方法模型)表示方法职工领导1n课程程讲授授教教师1m多个多个实体型体型间的的1:n联系系参考参考书n单个个实体型体型间的的1:n联系系 例:假设一个学生可选多门课程,而一门课程又有多个学生选修,每个学生每选一门课只有一个成绩,一个教师只能讲一门课程,一门课程也可有多个教师讲授,一门课使用多本参考书。画出ER图。421.2.3概念模型概念模型实体体联系模型(系模型(-模型)表示方法模型)表示方法教师课程学生参考书讲授选修课程号学号姓名性别民族成绩课程名学分职工号姓名职称性别书号书名价格摘要1nmnm使用1教学教学E-R图 (另:(另:P
23、219工厂物工厂物资管理管理实例)例)43数据数据库领域中最常用的数据模型有四种域中最常用的数据模型有四种q层次模型次模型(HierarchicalModel),如如IBM的的IMS系系统q网状模型网状模型(NetworkModel),如如DBTG系系统q关系模型关系模型(RelationalModel),如,如Oracle,Sybaseq面向面向对象模型象模型(ObjectOrientedModel)1.2.4最常用的数据模型最常用的数据模型44q层次模型定次模型定义 满足下面两个条件的基本层次联系的集合为层次模型。1.有且只有一个结点没有双亲结点,该结点称为根结点2.根以外的其它结点有且只
24、有一个双亲结点。1.2.5层次模型(次模型(树型型结构)构)45q表示方法表示方法实体型:用记录类型描述。每个结点表示一个记录类型。属性:用字段描述。每个记录类型可包含若干个字段。联系:用结点之间的连线表示记录(类型)之间的一对 多的联系1.2.5层次模型次模型46q特点特点l结点的双亲是唯一的l只能直接处理一对多的实体联系l每个记录类型定义一个排序字段,也称为码字段l任何记录值只有按其路径查看时,才能显出它的全部意义l没有一个子女记录值能够脱离双亲记录值而独立存在1.2.5层次模型次模型47q多多对多多联系在系在层次模型中的表示次模型中的表示 用层次模型间接表示多对多联系,将多对多联系分解成
25、一对多联系。分解方法:分解方法:冗余结点法虚拟结点法1.2.5层次模型次模型48冗余冗余结点法:点法:增设冗余结点,将多对多联系转换为两个一对多联系优点:结构清晰,允许结点改变存储位置缺点:需要额外占用存储空间,有潜在的不一致性49虚虚拟结点法:点法:将冗余结点换成虚拟结点,虚拟结点为一个指针,指向替代的节点。优点:减少对存储空间的浪费,避免产生潜在的不一致性缺点:结点改变存储位置可能引起虚拟结点中指针的修改50q层次模型的数据操次模型的数据操纵与完整性与完整性约束束数据操数据操纵:查询、插入、删除、更新完整性完整性约束束:无相应的双亲结点值就不能插入子女结点值如果删除双亲结点值,则相应的子女
26、结点值也被同时删除1.2.5层次模型次模型51q层次数据模型的存次数据模型的存储结构(构(邻接法和接法和链接法)接法)邻接法:接法:按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序。1.2.5层次模型次模型52q层次数据模型的存次数据模型的存储结构(构(邻接法和接法和链接法)接法)链接法:用指接法:用指针反映数据之反映数据之间的的层次关系次关系。1.2.5层次模型次模型子女子女子女子女-兄弟兄弟兄弟兄弟链链接法:接法:接法:接法:每个每个记录设两个指两个指针,分分别指向最左指向最左边的子女的子女和最近的兄弟和最近的兄弟53q层次数据模型的存次数据模型的存
27、储结构(构(邻接法和接法和链接法)接法)链接法:用指接法:用指针反映数据之反映数据之间的的层次关系次关系。层层次序列次序列次序列次序列链链接法:接法:接法:接法:按按树的前序遍的前序遍历顺序序链接接各各记录值54q层次模型的次模型的优缺点缺点优点:点:l数据结构简单明晰l数据库查询效率高l良好的完整性支持缺点:l多对多联系表示不自然l对插入和删除操作的限制多l查询子女结点必须通过双亲结点l层次命令趋于程序化1.2.5层次模型次模型55q典型的典型的层次数据次数据库系系统IMS数据库管理系统l第一个大型商用DBMSl1968年推出lIBM公司研制1.2.5层次模型次模型56q定定义 满足下面两个
28、条件的基本层次联系的集合为网状模型。1.允许一个以上的结点无双亲;2.一个结点可以有多于一个的双亲。层次模型中子女结点和双亲结点的联系是唯一的,而网状模型中这种联系则不唯一。因此要为每个联系命名,指出与该联系有关的双亲记录和子女记录。1.2.6网状模型网状模型57q网状模型与网状模型与层次模型的区次模型的区别l网状模型允许多个结点没有双亲结点l网状模型允许结点有多个双亲结点l网状模型允许两个结点之间有多种联系(复合联系)l网状模型可以更直接地去描述现实世界l层次模型实际上是网状模型的一个特例58q多多对多多联系在网状模型中的表示系在网状模型中的表示 用网状模型间接表示多对多联系 方法方法:将多
29、对多联系直接分解成一对多联系q网状数据模型的操网状数据模型的操纵和完整性和完整性约束束 操操纵:查询、插入、删除、更新 完整性完整性约束束:l支持记录码的概念(唯一标识、不许重复)l保证一个记录中双亲记录与子女记录之间是一对多联系l支持双亲记录和子女记录之间某些约束条件,比如允许插入尚未确定双亲结点值的子女结点值;允许只删除双亲结点值等。1.2.6网状模型网状模型59q网状数据模型的存网状数据模型的存储结构构 关键:实现记录之间的联系 常用方法l单向链接l双向链接l环状链接l向首链接1.2.6网状模型网状模型60单向向链接法接法61q网状模型的网状模型的优缺点缺点优点:l能够更为直接地描述现实
30、世界,如一个结点可以有多个双亲。l具有良好的性能,存取效率较高。缺点l结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。l数据定义语言(DDL)、数据操作语言(DML)复杂,用户不容易使用。1.2.6网状模型网状模型62q典型的网状数据典型的网状数据库系系统 DBTG系统,亦称CODASYL系统。由DBTG提出的一个系统方案,奠定了数据库系统的基本概念、方法和技术。70年代推出。实际系统lCullinet Software Inc.公司的 IDMSlUnivac公司的 DMS1100lHoneywell公司的IDS/2lHP公司的IMAGE1.2.6网状模
31、型网状模型63l最重要的一种数据模型。也是目前主要采用的最重要的一种数据模型。也是目前主要采用的数据模型数据模型l1970年由美国年由美国IBM公司公司SanJose研究室的研研究室的研究究员E.F.Codd提出提出l本本课程的重点程的重点1.2.7关系模型关系模型64q关系关系数据模型的数据结构(I)在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。1.2.7关系模型关系模型65q关系数据模型的数据关系数据模型的数据结构(构(II)l关系(关系(Relation)一个关系对应通常说的一张表。l元元组(Tuple)表中的一行即为一个元组。l属性(属性(Attribute)表中
32、的一列即为一个属性,给每一个属性起一个名称即属性名。1.2.7关系模型关系模型66q关系数据模型的数据关系数据模型的数据结构(构(III)l主主码(Key)表中的某个属性组,它可以唯一确定一个元组。l域(域(Domain)属性的取属性的取值范范围。l分量分量元元组中的一个属性中的一个属性值。1.2.7关系模型关系模型67q关系数据模型的数据关系数据模型的数据结构(构(IV)l关系模式关系模式对关系的描述关系名(属性1,属性2,属性n)学生(学号,姓名,年龄,性别,系别,年级)68q实体及体及实体体间联系的表示方法系的表示方法l实体型:直接用关系(表)表示。l属性:用属性名表示。l一对一联系:隐
33、含在实体对应的关系中。l一对多联系:隐含在实体对应的关系中。l多对多联系:直接用关系表示。1.2.7关系模型关系模型69q实体及体及实体体间联系的表示方法(例)系的表示方法(例)例1:学生、系、系与学生之间的一对多联系:学生(学号,姓名,年学生(学号,姓名,年龄,性,性别,系号,年,系号,年级)系系(系号,系名,系号,系名,办公地点公地点)例2:系、系主任、系与系主任间的一对一联系:系系(系号,系名,系主任姓名系号,系名,系主任姓名)例3:学生、课程、学生与课程之间的多对多联系:学生(学号,姓名,年学生(学号,姓名,年龄,性,性别,系号,年,系号,年级)课程(程(课程号,程号,课程名,学分)程
34、名,学分)选修(学号,修(学号,课程号,成程号,成绩)1.2.7关系模型关系模型70q关系必关系必须是是规范化的,范化的,满足一定的足一定的规范条件范条件最基本的最基本的规范条件:关系的每一个分量必范条件:关系的每一个分量必须是一个不可分的数据是一个不可分的数据项。1.2.7关系模型关系模型71q关系模型的数据操纵查询、插入、删除、更新数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”q关系模型的完整性约束实体完整性/参照完整性/用户定义的完整性(第5章)1.2.7关系模型关系模型72q关系数据模型的存储结构 实体
35、及实体间的联系都用表来表示。在关系数据库的物理组织中,有的DBMS一个表对应一个操作系统文件,有的DBMS从操作系统获得若干大的文件,自己设计表、索引等存储结构。1.2.7关系模型关系模型73q关系数据模型的优缺点优点:l建立在严格的数学概念的基础上l概念单一,数据结构简单、清晰,用户易懂易用。实体和各体和各类联系都用关系来表示。系都用关系来表示。对数据的数据的检索索结果也是关系。果也是关系。l关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性具有更高的数据独立性,更好的安全保密性简化了程序化了程序员的工作和数据的工作和数据库开开发建立的工作建立的工作1.2.7关系模型关系模型
36、74q关系数据模型的优缺点缺点:l存取路径对用户透明导致查询效率往往不如非关系数据模型。为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度。(第9章)1.2.7关系模型关系模型75q典型的关系数据库系统lORACLElSYBASElINFORMIXlDB/2lCOBASElPBASElEasyBaselDM/2lOpenBase1.2.7关系模型关系模型76l数据库系统模式的概念l数据库系统的三级模式结构l数据库的二级映象功能与数据独立性 从数据数据库管理系管理系统角度看:数据库系统通常采用三级模式结构;从数据数据库最最终用用户角度看:数据库系统的结构分为单用户结构、主从
37、式结构、分布式结构、客户/服务器、浏览器/应用服务器/数据库服务器多层结构等。1.3数据数据库系系统结构构77q数据库系统“型”和“值”的概念型型(Type)对某一类数据的结构和属性的说明值(Value)是型的一个具体赋值例如:学生记录记录型:(学号,姓名,性别,系别,籍贯)记录值:(900201,李明,男,计算机,江苏)1.3.1 数据数据库系系统模式的概念模式的概念78 “型型”和和“值”的区的区别模式(模式(SchemaSchema)l数据库逻辑结构和特征的描述l是型的描述l反映的是数据的结构及其联系l模式是相对稳定的模式的一个模式的一个实例(例(InstanceInstance)l模式
38、的一个具体值l反映数据库某一时刻的状态l同一个模式可以有很多实例l实例随数据库中的数据的更新而变动1.3.1 数据数据库系系统模式的概念模式的概念79 数据库系统由外模式、模式和内模式三级构成1.3.2数据数据库系系统的三的三级模式模式结构构80q模式(模式(SchemaSchema)模式(也称模式(也称逻辑模式)模式)数据库中全体数据的逻辑结构和特征的描述所有用户的公共数据视图,综合了所有用户的需求一个数据一个数据库只有一个模式只有一个模式模式的地位:模式的地位:是数据库系统模式结构的中间层与数据的物理存储细节和硬件环境无关与具体的应用程序、开发工具及高级程序设计语言无关模式的定模式的定义:
39、数据的逻辑结构(数据项的名字、类型、取值范围等)数据之间的联系数据有关的安全性、完整性要求1.3.2数据数据库系系统的三的三级模式模式结构构81q外模式(外模式(External SchemaExternal Schema)外模式(也称子模式或用外模式(也称子模式或用户模式)模式)l数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述l数据库用户的数据视图,是与某一应用有关的数据的逻辑表示模式与外模式的关系:一模式与外模式的关系:一对多多通常是模式的子集;一个数据库可以有多个外模式外模式与外模式与应用的关系:一用的关系:一对多多同一外模式可以为某一用户的多个应用系统所使用
40、,但一个应用程序只能使用一个外模式1.3.2数据数据库系系统的三的三级模式模式结构构82q外模式(外模式(External SchemaExternal Schema)外模式是保外模式是保证数据数据库安全性的一个有力措施安全性的一个有力措施 每个用户只能看见和访问所对应的外模式中的数据q内模式(内模式(Internal SchemaInternal Schema)内模式(也称存内模式(也称存储模式)模式)l是数据物理是数据物理结构和存构和存储方式的描述方式的描述l是数据在数据是数据在数据库内部的表示方式内部的表示方式 记录的存的存储方式(方式(顺序存序存储,按照,按照B B树结构存构存储,按,
41、按hashhash方方法存法存储)/索引的索引的组织方式方式 /数据是否数据是否压缩存存储 /数据是否数据是否加密加密 /数据存数据存储记录结构的构的规定定一个数据一个数据库只有一个内模式只有一个内模式1.3.2数据数据库系系统的三的三级模式模式结构构83三三级模式是模式是对数据的三个抽象数据的三个抽象级别,二,二级映象在映象在DBMSDBMS内部内部实现这三个抽象三个抽象层次的次的联系和系和转换。1.3.3数据数据库的二的二级映像功能与数据独立性映像功能与数据独立性84q外模式外模式/模式映像模式映像一个模式可以定一个模式可以定义任意多个外模式任意多个外模式对每一个外模式,数据每一个外模式,
42、数据库系系统都有一个外模式都有一个外模式/模式映射,定模式映射,定义该外模式与模式之外模式与模式之间的的对应关系关系映象定映象定义通常包含在各自外模式的描述中通常包含在各自外模式的描述中保保证数据的数据的逻辑独立性独立性l当模式改变时,数据库管理员修改有关的外模式模式映象,使外模式保持不变l应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。1.3.3数据数据库的二的二级映像功能与数据独立性映像功能与数据独立性85q模式模式/内模式映像内模式映像定定义数据全局数据全局逻辑结构与存构与存储结构之构之间的的对应关系。例如,关系。例如,说明明逻
43、辑记录和字段在内部是如何表示的和字段在内部是如何表示的数据数据库中模式内模式映象是唯一的中模式内模式映象是唯一的该映象定映象定义通常包含在模式描述中通常包含在模式描述中保保证数据的物理独立性数据的物理独立性l当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式内模式映象,使模式保持不变l应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。1.3.3数据数据库的二的二级映像功能与数据独立性映像功能与数据独立性86应用A应用B应用C应用C外模式2外模式1外模式3模式内模式DB123外模式外模式/模式映象模式映象模式模式/内模式映象内模式映象图1-24数据数据
44、库系系统的模式的模式结构构87优点:点:v数据数据库的二的二级映象保映象保证了数据了数据库外模式的外模式的稳定性,定性,从而从底从而从底层保保证了了应用程序的用程序的稳定性。定性。v数据和程序之数据和程序之间的独立性使得数据的定的独立性使得数据的定义和描述和描述可以从可以从应用程序中分离出去。另外,由于数据的存用程序中分离出去。另外,由于数据的存取由取由DBMS管理,用管理,用户不必考不必考虑存取路径等存取路径等细节,从而从而简化了化了应用程序的用程序的编制,大大减少了制,大大减少了应用程序用程序的的维护和修改。和修改。1.3.3数据数据库的二的二级映像功能与数据独立性映像功能与数据独立性88
45、数据数据库系系统一般由数据一般由数据库、数据、数据库管理系管理系统(及(及其开其开发工具)、工具)、应用系用系统和数据和数据库管理管理员组成。成。数据数据库系系统对硬件硬件资源的要求源的要求1.足足够大的内存,存放操作系大的内存,存放操作系统、DBMS的核心模的核心模块、数据、数据缓冲区和冲区和应用程序。用程序。2.足足够大的外存,存放数据大的外存,存放数据库以及做数据以及做数据备份份3.较高的通道能力,提高数据高的通道能力,提高数据传送率送率1.4数据数据库系系统的的组成成89软件件主要包括:lDBMSl操作系统l与数据库接口的高级语言及其编译系统l以DBMS为核心的应用开发工具l为特定应用
46、环境开发的数据库应用系统1.4数据数据库系系统的的组成成90人人员q数据数据库管理管理员:决定数据库中的信息内容和结构决定数据库的存储结构和存取策略定义数据的安全性要求和完整性约束条件监控数据库的使用和运行周期性转储数据库:数据文件/日志文件系统故障恢复介质故障恢复监视审计文件数据库的改进和重组重构性能监控和调优数据重组1.4数据数据库系系统的的组成成91人人员q系系统分析分析员负责应用系统的需求分析和规范说明与用户及DBA协商,确定系统的硬软件配置参与数据库系统的概要设计q数据数据库设计人人员参加用户需求调查和系统分析确定数据库中的数据设计数据库各级模式1.4数据数据库系系统的的组成成92
47、人人员q应用程序用程序员设计和和编写写应用系用系统的程序模的程序模块进行行调试和安装和安装q用用户偶然用偶然用户:企:企业或或组织机构的高中机构的高中级管理人管理人员简单用用户:银行的行的职员、机票、机票预定人定人员、旅、旅馆总台服台服务员复复杂用用户:工程:工程师、科学家、科学家、经济学家、科技工作者等;直学家、科技工作者等;直接使用数据接使用数据库语言言访问数据数据库,甚至能,甚至能够基于数据基于数据库管理系管理系统的的APIAPI编制自己的制自己的应用程序用程序1.4数据数据库系系统的的组成成93小小结94小小结95学校中有若干系,每个系有若干学校中有若干系,每个系有若干班班级和教研室,
48、每个教研室有若和教研室,每个教研室有若干教干教师(不兼(不兼职其他部其他部门),每每个教个教师教若干教若干门课程程;每个班有;每个班有若干学生,每个学生若干学生,每个学生选修若干修若干课程。程。请根据根据逻辑分析,分析,用用 E-R E-R 图画出此学校的概念模型。画出此学校的概念模型。96DBMS层次结构和工作过程n应用层;n语言处理层;n数据存取层;n数据存储层;97应用程序 A用户工作区应用程序 B用户工作区应用程序 X用户工作区数据库管理系统DBMS系统缓冲区数据库用户 X用户B用户 A子模式 A子模式 B子模式 X模 式物理模式数数据据库管管理理系系统的的工工作作过程程981.应用程
49、序用程序A向向DBMS发出从数据出从数据库重重读数据数据记录的命令;的命令;2.DBMS对该命令命令进行行语法法检查、语义检查,并,并调用用应用程序用程序A对应的子模式,的子模式,检查A的存取的存取权限,决定是否限,决定是否执行改命令。如果拒行改命令。如果拒绝执行,行,则向用向用户返回返回错误信息;信息;3.在决定在决定执行行该命令后,命令后,DBMS调用模式,依据用模式,依据子模式子模式/模式映象的定模式映象的定义,确定,确定应读入模式中的入模式中的哪些哪些记录;4.DBMS调用物理模式,依据模式用物理模式,依据模式/物理模式映象物理模式映象的定的定义,决定,决定应从哪个文件、用什么存取方式
50、、从哪个文件、用什么存取方式、读入哪个或物理入哪个或物理记录;995.DBMS向操作系向操作系统发出出执行行读取所需物理取所需物理记录的命令;的命令;6.操作系操作系统执行行读数据的有关操作;数据的有关操作;7.操作系操作系统将数据从数据将数据从数据库的存的存储区送至系区送至系统缓冲区;冲区;8.DBMS依据子模式依据子模式/模式映象的定模式映象的定义,导出出应用用程序程序A所要所要读取得取得记录格式;格式;9.DBMS将数据将数据记录从系从系统缓冲区冲区传送到送到应用程用程序序A的用的用户工作区;工作区;10.DBMS向向应用程序用程序A返回命令返回命令执行情况的状行情况的状态信信息;息;1