1、 2011 by1An Introduction to Database System 数据库系统概论主讲 杨茂林华中科技大学计算机学院 2011年秋 2011 by2An Introduction to Database System Name: 杨茂林杨茂林 Email: Tel: 87556601(O) 18971600316(M) QQ: 8575543 Who am I? 2011 by3An Introduction to Database System教材及参考书教材及参考书 教材教材 萨师煊,王珊著萨师煊,王珊著. . 数据库系统概论数据库系统概论( (第四版第四版). ).
2、北京:高等教育出版社,北京:高等教育出版社,20062006 Jeffrey.D.Ullman, Jennifer Widom . A First Course in Database Systems. Prentice Hall,1997 2011 by4An Introduction to Database System教材及参考书教材及参考书(续续) 参考书参考书 Date C J, An Introduction to Database System (Ed.7), Addison-Wesley,2000 Hector Garcia-Molina, Jeffery D. Ullman,
3、 Jennifer Widom. DataBase Systems: The Complete Book. Prentice-Hall, 2002 http:/www-db.stanford.edu/ullman/dscb.html 2011 by5An Introduction to Database System教材及参考书教材及参考书(续续) 参考书参考书(续续) Abraham Silberschatz, Heny F.Korth, S.Sudarshan. Database System Concepts. McGraw-Hill Companies,1986 Patrick ONe
4、il, Elizabeth ONeil. Database:Principles,Programming,and Performance. Academic Press, 2000 http:/ 2011 by6An Introduction to Database System教材及参考书教材及参考书(续续) 参考书参考书(续续) 王珊,朱青王珊,朱青. 数据库系统概论学习指导与习数据库系统概论学习指导与习题解答题解答. 北京北京:高等教育出版社高等教育出版社,2003.(带光盘带光盘) 2011 by7An Introduction to Database System教材及参考书教材及参
5、考书(续续) 上机软件上机软件 Microsoft SQL Server 2005 一种数据库设计工具一种数据库设计工具(Visio,PD,Rose,etc.) 一种开发工具一种开发工具(PB,Delphi,VB,VC,BC,etc.) 2011 by8An Introduction to Database SystemTime Schedule考试 2011 by9An Introduction to Database SystemGrading Classroom Assignments: 10 2% each = 20% of grade. Assignment: 1 20% each
6、= 20% of grade. Final : 60%Final Test: :第17周 星期六 12月31日 2011 by10An Introduction to Database SystemAssignment You will build an application using a relational database system (Microsoft SQL Server 2005) Starting with design and ending up with a complete application. Program can be written in Java, C
7、+, C# Delphi/PowerBuilder/Visual Studio etc. 2011 by11An Introduction to Database SystemWarningThis class is a lot of work.But it is worth it.Of all courses you take at HUST, this may be the one that gets you a job. 2011 by12An Introduction to Database SystemSyllabusn 了解,并结合关系型数据库系统深入理解数据库系统的基本概念,原理
8、和方法。n 掌握关系数据模型及关系数据语言,能熟练应用SQL语言表达各种数据操作。n 掌握E-R模型的概念和方法,关系数据库规范化理论和数据库设计方法,通过上机实习的训练,初步具备进行数据库应用系统开发的能力。n 掌握数据库的恢复技术、并发控制技术以及数据库的安全性、完整性控制技术。 2011 by13An Introduction to Database System内容安排内容安排 基础篇基础篇 第一章第一章 绪论绪论 第二章第二章 关系数据库关系数据库 第三章第三章 关系数据库标准语言关系数据库标准语言SQL 第四章第四章 数据库安全性数据库安全性 第五章第五章 数据库完整性数据库完整性
9、 设计与应用开发篇设计与应用开发篇 第六章第六章 关系数据理论数据库设计关系数据理论数据库设计 第七章第七章 数据库设计数据库设计 第八章第八章 数据库编程数据库编程 2011 by14An Introduction to Database System内容安排内容安排(cont) 系统篇系统篇 第九章第九章 关系查询处理和查询优化关系查询处理和查询优化 第十章第十章 数据库恢复技术数据库恢复技术 第十一章第十一章 并发控制并发控制 * 第十二章第十二章 数据库管理系统数据库管理系统第一至第十一章是本科专业的基本教程(书中有第一至第十一章是本科专业的基本教程(书中有*号号的部分除外)的部分除外
10、)第十二至第十七章是高级教程第十二至第十七章是高级教程 2011 by15An Introduction to Database System第第1章章 绪论绪论1.1 数据库系统概述数据库系统概述1.2 数据模型数据模型1.3 数据库系统结构数据库系统结构1.4 数据库系统的组成数据库系统的组成1.5 小结小结 2011 by16An Introduction to Database System1.1 数据库系统概述数据库系统概述1.1.1 四个基本概念四个基本概念1.1.2 数据管理技术的产生与发展数据管理技术的产生与发展1.1.3 数据库系统的特点数据库系统的特点 2011 by17A
11、n Introduction to Database System1.1.1 四个基本概念四个基本概念 数据数据(Data)(Data) 数据库数据库(Database)(Database) 数据库管理系统数据库管理系统(DBMS)(DBMS) 数据库系统数据库系统(DBS)(DBS) 2011 by18An Introduction to Database System1.1.1 四个基本概念四个基本概念(cont)一、数据一、数据 数据数据(Data)是数据库中存储的基本对象是数据库中存储的基本对象 定义:对现实世界中客观事物的符号表示定义:对现实世界中客观事物的符号表示 计算机中数据:能
12、输入计算机,并能为其处计算机中数据:能输入计算机,并能为其处理的符号序列理的符号序列 种类:数值、非数值种类:数值、非数值(文字、图形、声音、文字、图形、声音、图像、结构化的记录等)图像、结构化的记录等) 特点:数据与其语义不可分特点:数据与其语义不可分(0005794, 601, 周 济, 1, 1946.08.26, 01)(工号, 部门编号,姓名,性别,出生日期,民族)校办公室汉族男(111 100 111 001 111)2= (31183)10 = (74717)8 2011 by19An Introduction to Database System1.1.1 四个基本概念四个基本
13、概念(cont)二、数据库二、数据库 数据库的定义数据库的定义 数据库数据库(Database,(Database,简称简称DB)DB)是是长期长期储存在计算机储存在计算机内、有内、有组织组织的、可的、可共享共享的的大量大量数据集合数据集合 数据库的特征数据库的特征 数据按一定的数据模型组织、描述和储存数据按一定的数据模型组织、描述和储存 可为各种用户共享可为各种用户共享 冗余度较小冗余度较小 数据独立性较高数据独立性较高 易扩展易扩展 2011 by20An Introduction to Database System1.1.1 四个基本概念四个基本概念(cont)三、数据库管理系统三、数
14、据库管理系统 什么是什么是DBMS 数据库管理系统(数据库管理系统(Database Management System,简称,简称DBMS)是位于用户与操作系统之)是位于用户与操作系统之间的一层数据管理软件。间的一层数据管理软件。 DBMS的用途的用途 科学地组织和存储数据、高效地获取和维护数据科学地组织和存储数据、高效地获取和维护数据 2011 by21An Introduction to Database System1.1.1 四个基本概念四个基本概念(cont)DBMS的功能 数据定义功能 提供数据定义语言提供数据定义语言(DDL) 定义数据库中的数据对象定义数据库中的数据对象 数据
15、组织、存储和管理 分类组织、存储和管理各种数据分类组织、存储和管理各种数据 确定组织数据的文件结构和存取方式确定组织数据的文件结构和存取方式 实现数据之间的联系实现数据之间的联系 提供多种存取方法提高存取效率提供多种存取方法提高存取效率 2011 by22An Introduction to Database System1.1.1 四个基本概念四个基本概念(cont)DBMS的功能(续) 数据操纵功能 提供数据操纵语言提供数据操纵语言(DML) 实现对数据库的基本操作实现对数据库的基本操作 (查询、插入、删除和修改查询、插入、删除和修改) 数据库的事务管理和运行管理 数据库在建立、运行和维护
16、时由数据库在建立、运行和维护时由DBMS统一管理和控统一管理和控制制保证数据的安全性、完整性、多用户对数据的并发使用保证数据的安全性、完整性、多用户对数据的并发使用发生故障后的系统恢复发生故障后的系统恢复 2011 by23An Introduction to Database System1.1.1 四个基本概念四个基本概念(cont)DBMS的功能(续) 数据库的建立和维护功能(实用程序) 数据库初始数据装载转换数据库初始数据装载转换 数据库转储数据库转储 介质故障恢复介质故障恢复 数据库的重组织数据库的重组织 性能监视分析等性能监视分析等 其它功能 DBMS与网络中其它软件系统的通信与网
17、络中其它软件系统的通信 两个两个DBMS系统的数据转换系统的数据转换 异构数据库之间的互访和互操作异构数据库之间的互访和互操作 2011 by24An Introduction to Database System1.1.1 四个基本概念四个基本概念(cont)四、数据库系统四、数据库系统 什么是数据库系统什么是数据库系统 数据库系统(数据库系统(Database SystemDatabase System,简称,简称DBSDBS)是指)是指在计算机系统中引入数据库后的系统构成。在计算机系统中引入数据库后的系统构成。 在不引起混淆的情况下常常把数据库系统简称为在不引起混淆的情况下常常把数据库系
18、统简称为数据库。数据库。 数据库系统的构成数据库系统的构成 数据库数据库 数据库管理系统数据库管理系统DBMS(及开发工具及开发工具) 应用系统应用系统 数据库管理员数据库管理员(DBA) 用户用户 2011 by25An Introduction to Database System 数据库数据库 应用系统应用系统应用开发工具 操作系统 数据库管理系数据库管理系统统 数据库管理员数据库管理员用户用户用户 数据库系统数据库系统 2011 by26An Introduction to Database System硬件平台硬件平台基础软件平台基础软件平台软件基础构架平台软件基础构架平台应用软件平
19、台应用软件平台软件产品软件产品协同软件协同软件办公软件办公软件 中间件中间件 应用服务器应用服务器数据库在计算机系统中的位置数据库在计算机系统中的位置 2011 by27An Introduction to Database System1.1 数据库系统概述数据库系统概述1.1.1 四个基本概念四个基本概念1.1.2 数据管理技术的产生与发展数据管理技术的产生与发展1.1.3 数据库系统的特点数据库系统的特点 2011 by28An Introduction to Database System1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 数据库技术是应数据处理和数据管理任数
20、据库技术是应数据处理和数据管理任务的需要而产生的务的需要而产生的 数据处理:数据收集、存储、加工和传播数据处理:数据收集、存储、加工和传播 数据管理:数据分类、组织、编码、存储、数据管理:数据分类、组织、编码、存储、检索和维护检索和维护 数据管理技术经历了三个阶段数据管理技术经历了三个阶段 人工管理阶段人工管理阶段(50年代中期以前年代中期以前) 文件系统阶段文件系统阶段(50年代后期年代后期-60年代中期年代中期) 数据库系统阶段数据库系统阶段(60年代后期开始年代后期开始) 2011 by29An Introduction to Database System1.1.2 数据管理技术的产生
21、和发展数据管理技术的产生和发展 数据管理技术的发展动力数据管理技术的发展动力 应用需求的推动 计算机硬件的发展 计算机软件的发展 2011 by30An Introduction to Database System手工管理 ( 直接书写机器语言)00101011 11100101 1100100110101100 11010100 1111000001010010 10010000 10000000文件管理 (程序管理数据)main()int a,b,c;fopen( );数据库管理(自主管理信息)select * from SinsertdeleteOSDBMS手工管理文件系统数据库管理1
22、.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 2011 by31An Introduction to Database System 时期时期20世纪世纪40年代中年代中-50年代中年代中 背景背景 应用需求应用需求:科学计算科学计算 数据量小、结构简单,如高阶方程、曲线拟和等数据量小、结构简单,如高阶方程、曲线拟和等 硬件水平硬件水平: 外存为顺序存取设备外存为顺序存取设备 磁带、卡片、纸带,没有磁盘等直接存取设备磁带、卡片、纸带,没有磁盘等直接存取设备 软件水平软件水平:没有操作系统,无数据管理软件没有操作系统,无数据管理软件 用户用机器指令编码,通过纸带机输入程序和数用户用
23、机器指令编码,通过纸带机输入程序和数据,程序运行完毕后,由用户取走纸带和运算结据,程序运行完毕后,由用户取走纸带和运算结果,再让下一用户上机操作果,再让下一用户上机操作一 人工管理阶段1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 2011 by32An Introduction to Database System 特征特征 数据的管理者:用户(程序员),数据不保存数据的管理者:用户(程序员),数据不保存 数据面向的对象:某一应用程序数据面向的对象:某一应用程序 数据的共享程度:无共享、冗余度极大数据的共享程度:无共享、冗余度极大 数据的独立性:不独立,完全依赖于程序数据的独立
24、性:不独立,完全依赖于程序 数据的结构化:无结构数据的结构化:无结构 数据控制能力:应用程序自己控制数据控制能力:应用程序自己控制1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 2011 by33An Introduction to Database System 存在的问题存在的问题 程序编制困难、易出错程序编制困难、易出错 说明数据的逻辑结构;说明数据的逻辑结构; 设计数据的存储结构;设计数据的存储结构; 设计数据的存取方法;设计数据的存取方法; 设计数据的设计数据的I/OI/O方式方式。 数据不共享数据不共享 数据与应用程序一一对应;数据与应用程序一一对应; 多个程序涉及某
25、些相同的数据时,必须重复定义。多个程序涉及某些相同的数据时,必须重复定义。 数据冗余大数据冗余大 应用程序高度依赖于数据的逻辑结构与物理结构应用程序高度依赖于数据的逻辑结构与物理结构 不能表示数据间联系不能表示数据间联系1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 2011 by34An Introduction to Database System访问数据2访问数据1程序1程序2程序n访问数据n人工管理阶段1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 2011 by35An Introduction to Database System 背景背景 应用需求应用
26、需求: :科学计算科学计算 + + 管理管理 硬件硬件: :外存有了磁盘、磁鼓等直接存取设备外存有了磁盘、磁鼓等直接存取设备 直接存取设备(直接存取设备(DASDDASD)无须顺序存取无须顺序存取由地址直接访问所需记录由地址直接访问所需记录 软件:文件系统软件:文件系统 文件存储空间的管理文件存储空间的管理 目录管理目录管理 文件读写管理文件读写管理 文件保护文件保护 向用户提供操作接口向用户提供操作接口二 文件系统阶段1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 2011 by36An Introduction to Database System 特征特征 数据的管理者:文
27、件系统,数据可长期保存 数据面向的对象:某一应用程序 数据的共享程度:共享性差、冗余度大 数据的结构化:记录内有结构,整体无结构 数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序 数据控制能力:应用程序自己控制1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 2011 by37An Introduction to Database System 存在的问题存在的问题 数据共享性差数据共享性差 数据面向应用,即使不同应用程序所需要的数据有部分相同时,数据面向应用,即使不同应用程序所需要的数据有部分相同时,也必须建立各自的文件,而不能共享相同的数据也必须建立各自的文件,而不能
28、共享相同的数据 数据分散管理,许多文件,许多数据格式数据分散管理,许多文件,许多数据格式 数据冗余大,且存在数据不一致性数据冗余大,且存在数据不一致性 由于数据存在很多副本,给数据的修改与维护带来了困难,容由于数据存在很多副本,给数据的修改与维护带来了困难,容易造成数据的不一致性易造成数据的不一致性 数据查询困难数据查询困难 记录之间无联系记录之间无联系 应用自己编程实现应用自己编程实现 对每个查询都重新编码对每个查询都重新编码 数据完整性难于保证数据完整性难于保证1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 2011 by38An Introduction to Databa
29、se System 存在的问题存在的问题(续续) 数据与程序的独立性差数据与程序的独立性差 文件系统的出现并没有从根本上改变数据与程序文件系统的出现并没有从根本上改变数据与程序紧密结合的状况,数据的逻辑结构改变则必须修紧密结合的状况,数据的逻辑结构改变则必须修改应用程序改应用程序 文件系统只是解脱了程序员对物理设备存取的负文件系统只是解脱了程序员对物理设备存取的负担,它并不理解数据的语义,只负责存储担,它并不理解数据的语义,只负责存储 数据的语义信息只能由程序来解释,也就是说,数据收集以数据的语义信息只能由程序来解释,也就是说,数据收集以后怎么组织,以及数据取出来之后按什么含义应用,只有全后怎
30、么组织,以及数据取出来之后按什么含义应用,只有全权管理它的程序知道。权管理它的程序知道。 一个应用若想共享另一个应用生成的数据,必须同另一个应一个应用若想共享另一个应用生成的数据,必须同另一个应用沟通,了解数据的语义与组织方式用沟通,了解数据的语义与组织方式 不能表示数据间联系不能表示数据间联系1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 2011 by39An Introduction to Database System存取方式程序1程序2程序n数据2数据1数据n文件系统阶段1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 2011 by40An Introdu
31、ction to Database System 背景背景 计算机管理的数据量大,关系复杂,共享性计算机管理的数据量大,关系复杂,共享性要求强(多种应用、不同语言共享数据)要求强(多种应用、不同语言共享数据) 外存有了大容量磁盘,光盘外存有了大容量磁盘,光盘 软件价格上升,硬件价格下降,编制和维护软件价格上升,硬件价格下降,编制和维护软件及应用程序成本相对增加,其中维护的软件及应用程序成本相对增加,其中维护的成本更高,力求降低成本更高,力求降低三 数据库系统阶段1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 2011 by41An Introduction to Database
32、 System 特征特征 应用更广应用更广( (联机,分布,共享联机,分布,共享) ) 大容量磁盘大容量磁盘 数据长期保存数据长期保存 集中数据管理软件集中数据管理软件(DBMS)(DBMS) 数据的冗余度小,易扩充数据的冗余度小,易扩充 数据面向整个系统,而不是面向某一应用,数据数据面向整个系统,而不是面向某一应用,数据集中管理,数据共享,因此冗余度小集中管理,数据共享,因此冗余度小 节省存储空间,减少存取时间,且可避免数据之节省存储空间,减少存取时间,且可避免数据之间的不相容性和不一致性间的不相容性和不一致性 每个应用选用数据库的一个子集,只要重新选取每个应用选用数据库的一个子集,只要重新
33、选取不同子集或者加上一小部分数据,就可以满足新不同子集或者加上一小部分数据,就可以满足新的应用要求,这就是易扩充性的应用要求,这就是易扩充性1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 2011 by42An Introduction to Database System 特征特征(续续) 具有较高的数据和程序的独立性具有较高的数据和程序的独立性 把数据库的定义和描述从应用程序中分离出去把数据库的定义和描述从应用程序中分离出去 数据描述是分级的(全局逻辑、局部逻辑、存数据描述是分级的(全局逻辑、局部逻辑、存储)储) 数据的存取由系统管理,用户不必考虑存取路数据的存取由系统管理,
34、用户不必考虑存取路径等细节,从而简化了应用程序径等细节,从而简化了应用程序1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 2011 by43An Introduction to Database System 特征特征(续续) 统一的数据控制功能,数据共享程度高统一的数据控制功能,数据共享程度高 数据的安全性控制(数据的安全性控制(SecuritySecurity)保护数据以防止不合法的使用所造成的数据泄露和破坏保护数据以防止不合法的使用所造成的数据泄露和破坏措施:用户标识与鉴定,存取控制等措施:用户标识与鉴定,存取控制等 数据的完整性控制(数据的完整性控制(IntegrityI
35、ntegrity)数据的正确性、有效性、相容性数据的正确性、有效性、相容性措施:完整性约束条件定义和检查等措施:完整性约束条件定义和检查等 并发控制(并发控制(ConcurrencyConcurrency)对多用户的并发操作加以控制、协调,防止其互相干扰而得到错误对多用户的并发操作加以控制、协调,防止其互相干扰而得到错误的结果并使数据库完整性遭到破坏的结果并使数据库完整性遭到破坏措施:封锁措施:封锁 数据库恢复(数据库恢复(RecoveryRecovery)把数据库从错误状态恢复到某一已知的正确状态把数据库从错误状态恢复到某一已知的正确状态( (亦称一致性状态或亦称一致性状态或完整性状态完整性
36、状态) ) 措施:转储,镜像,日志等措施:转储,镜像,日志等1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 2011 by44An Introduction to Database System数据1统一存取数据2数据n程序2程序1程序n数据库系统阶段1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 2011 by45An Introduction to Database System1.1 数据库系统概述数据库系统概述1.1.1 四个基本概念四个基本概念1.1.2 数据管理技术的产生与发展数据管理技术的产生与发展1.1.3 数据库系统的特点数据库系统的特点 2011
37、 by46An Introduction to Database System1.1.3 数据库系统的特点数据库系统的特点 数据结构化数据结构化 数据的共享性高,冗余度低,易扩充数据的共享性高,冗余度低,易扩充 数据独立性高数据独立性高 数据由数据由DBMS统一管理和控制统一管理和控制 2011 by47An Introduction to Database System数据结构化数据结构化 整体数据的结构化是数据库的主要特征之一是数据库的主要特征之一 整体结构化整体结构化 不再仅仅针对某一个应用,而是面向全组织 不仅数据内部结构化,整体是结构化的,数据之间具有联系 数据库中实现的是数据的真正
38、结构化数据库中实现的是数据的真正结构化 数据的结构用数据模型描述,无需程序定义和解释 数据可以变长 数据的最小存取单位是数据项 2011 by48An Introduction to Database System数据的共享性高,数据的共享性高,冗余度低,易扩充冗余度低,易扩充 数据库系统从整体角度看待和描述数据,数数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应据面向整个系统,可以被多个用户、多个应用共享使用。用共享使用。 数据共享的好处数据共享的好处 减少数据冗余,节约存储空间减少数据冗余,节约存储空间 避免数据之间的不相容性与不一致性避免数据之间的不相容性与不
39、一致性 使系统易于扩充使系统易于扩充 2011 by49An Introduction to Database System数据独立性高数据独立性高 物理独立性物理独立性 指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。 逻辑独立性逻辑独立性 指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。 数据独立性是由数据独立性是由DBMS的二级映像功能来保证的的二级映像功能来保证的 2011 by50An Introduction to Database System数据由数据由DBMS统一管理和控制统一管理和
40、控制 DBMS提供的数据控制功能提供的数据控制功能(1)数据的安全性(数据的安全性(Security)保护)保护保护数据,以防止不合法的使用造成的数据的泄密和破坏。保护数据,以防止不合法的使用造成的数据的泄密和破坏。(2)数据的完整性(数据的完整性(Integrity)检查)检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。将数据控制在有效的范围内,或保证数据之间满足一定的关系。(3)并发(并发(Concurrency)控制)控制对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。果。(4)数据库恢复(数据库恢复
41、(Recovery)将数据库从错误状态恢复到某一已知的正确状态。将数据库从错误状态恢复到某一已知的正确状态。 2011 by51An Introduction to Database System应用程序与数据的对应关系应用程序与数据的对应关系(数据库系统数据库系统)DBMS应用程序应用程序1应用程序应用程序2数据库数据库数据库系统阶段应用程序与数据之间的对应关系 2011 by52An Introduction to Database System第第1章章 绪论绪论1.1 数据库系统概述数据库系统概述1.2 数据模型数据模型1.3 数据库系统结构数据库系统结构1.4 数据库系统的组成数据库
42、系统的组成1.5 小结小结 2011 by53An Introduction to Database System1.2 数据模型数据模型1.2.1 两大类数据模型两大类数据模型1.2.2 数据模型的组成要素数据模型的组成要素1.2.3 概念模型概念模型1.2.4 最常用的数据模型最常用的数据模型1.2.5 层次模型层次模型1.2.6 网状模型网状模型1.2.7 关系模型关系模型 2011 by54An Introduction to Database System1.2.1 两大类数据模型两大类数据模型 数据模型的概念数据模型的概念 数据及数据间联系的表示形式数据及数据间联系的表示形式(对现
43、实世界对现实世界特征的模拟、抽象和表示特征的模拟、抽象和表示) 数据模型应满足三方面要求数据模型应满足三方面要求 较真实地表示现实世界较真实地表示现实世界 易为人所理解易为人所理解 便于计算机实现便于计算机实现 分两个不同的层次分两个不同的层次 概念模型概念模型(按用户的观点按用户的观点) 逻辑模型和物理模型逻辑模型和物理模型现实世界信息世界计算机世界 2011 by55An Introduction to Database System1.2.1 两大类数据模型两大类数据模型(cont) 概念数据模型概念数据模型 按用户的观点来对数据和信息建模按用户的观点来对数据和信息建模 用于组织信息世界
44、的概念,表现从现实世界用于组织信息世界的概念,表现从现实世界中抽象出来的事物以及它们之间的联系中抽象出来的事物以及它们之间的联系 这类模型强调其语义表达能力,概念简单、这类模型强调其语义表达能力,概念简单、清晰,易于用户理解清晰,易于用户理解 它是现实世界到信息世界的抽象,是用户与它是现实世界到信息世界的抽象,是用户与数据库设计人员之间进行交流的语言数据库设计人员之间进行交流的语言 如如E-R(E-R(实体实体- -联系模型联系模型) )模型模型 2011 by56An Introduction to Database System1.2.1 两大类数据模型两大类数据模型(cont) 逻辑模型
45、逻辑模型 从计算机实现的观点来对数据建模从计算机实现的观点来对数据建模 是信息世界中的概念和联系在计算机是信息世界中的概念和联系在计算机世界中的表示方法世界中的表示方法 一般有严格的形式化定义,以便于在一般有严格的形式化定义,以便于在计算机上实现计算机上实现 如层次模型、网状模型、如层次模型、网状模型、关系模型关系模型、面向对象模型面向对象模型 2011 by57An Introduction to Database System 客观对象的抽象过程客观对象的抽象过程-两步抽象两步抽象 现实世界中的客观对象抽象为概念模型; 把概念模型转换为某一DBMS支持的数据模型。1.2.1 两大类数据模型
46、两大类数据模型(cont) 2011 by58An Introduction to Database System1.2.1 两大类数据模型两大类数据模型(cont)DBMS支持的数据模型支持的数据模型概念模型概念模型认识认识抽象抽象信息世界信息世界机器世界机器世界现实世界中客观对象的抽象过程现实世界中客观对象的抽象过程现实世现实世界界现实世界现实世界 概念模型概念模型数据库设计人员完成数据库设计人员完成逻辑模型逻辑模型 物理模型物理模型由由DBMS完成完成概念模型概念模型 逻辑模型逻辑模型数据库设计人员完成数据库设计人员完成 2011 by59An Introduction to Datab
47、ase System1.2 数据模型数据模型1.2.1 两大类数据模型两大类数据模型1.2.2 数据模型的组成要素数据模型的组成要素1.2.3 概念模型概念模型1.2.3 最常用的数据模型最常用的数据模型1.2.4 层次模型层次模型1.2.5 网状模型网状模型1.2.6 关系模型关系模型 2011 by60An Introduction to Database System1.2.2 数据模型的组成要素数据模型的组成要素 数据模型的组成要素数据模型的组成要素 数据结构数据结构 数据操作数据操作 完整性约束条件完整性约束条件 2011 by61An Introduction to Databas
48、e System1.2.2 数据模型的组成要素数据模型的组成要素(cont) 数据结构数据结构 描述系统的静态特性,即组成数据库的数据对象及其联系描述系统的静态特性,即组成数据库的数据对象及其联系 数据对象本身数据对象本身 (类型、内容、性质。如网状模型中的(类型、内容、性质。如网状模型中的数据项、记录,关系模型中的域、属性,关系等)数据项、记录,关系模型中的域、属性,关系等) 数据之间的联系(例如网状模型中的系型,关系模型中数据之间的联系(例如网状模型中的系型,关系模型中的外码的外码) 例1:Student (XH,XM,NL,XB) 例2: 数据结构刻画了数据模型性质最重要的方面,因此,在
49、数数据结构刻画了数据模型性质最重要的方面,因此,在数据库系统中一般按数据结构的类型来命名数据模型据库系统中一般按数据结构的类型来命名数据模型 E# D# XM YL XB DM DD EMPL DEPT 2011 by62An Introduction to Database System1.2.2 数据模型的组成要素数据模型的组成要素(cont) 数据操作数据操作 描述系统的动态特性,即对数据库中对象的实例描述系统的动态特性,即对数据库中对象的实例允许执行的操作的集合,包括允许执行的操作的集合,包括操作操作及操作及操作规则规则 一般有检索、更新(插入、删除、修改)操作一般有检索、更新(插入、
50、删除、修改)操作 数据模型要定义操作含义、操作符号、操作规则,数据模型要定义操作含义、操作符号、操作规则,以及实现操作的语言以及实现操作的语言 数据的约束条件数据的约束条件 数据的约束条件是完整性规则的集合,规定数据数据的约束条件是完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据库状态及状态变化所应满足的条件,以保证数据的正确、有效、相容的正确、有效、相容 2011 by63An Introduction to Database System1.2 数据模型数据模型1.2.1 两大类数据模型两大类数据模型1.2.2 数据模型的组成要素数据模型的组成要素1.2.3 概念模型概