资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,蔡林峰,电话:13959812114e-mail:,数据库系统原理教程,Principles of Database System,思考,信息与数据有何区别?,什么是信息系统?,如何开发管理信息系统?,思考,应设计几个表来存储以下数据:,姓名,性别,年龄,班级,系别,班主任,课程,教材,教师,教室,上课时间,成绩,教师职称,设计一个“学生成绩管理系统”,需要考虑哪些问题?,VC与Vfp系统有何区别?,Vfp系统提供了哪些功能?,教材及参考书(1),教材,王珊 陈红:,数据库系统原理教程,罗晓沛,:数据库技术(中级),刘惟一、田雯,:数据模型,(美) 杨超植著; 刘动天译,:关系数据库,教材及参考书(2),教材,A First Course in Database Systems,Jeffrey.D.Ullman, Jennifer Widom,Dept. Of Computer Science Stanford University,Date C J, An Introduction to Database,System (Ed.7), Addison-Wesley,2000,上机软件,上机软件,SQL SERVER 2005、MySQL 、Access、 Oracle,开发工具: ASP、JAVA 、.net、 Delphi,内容安排(1),,共54课时,实验课时10课时,基础篇,第一章:绪论,第二章:关系数据库,第三章:关系数据库标准语言SQL,第四章:关系系统及其查询优化,第五章:关系数据理论 (范式理论),设计篇,第六章:数据库设计,设计方法,企业数据模型,内容安排(2),系统篇,第七章:数据库恢复技术,第八章:并发控制,第九章:数据库安全性,第十章:数据库完整性,进阶篇,数据库应用系统开发,数据库系统产品及研究动态,数据仓库与数据挖掘原理,分布式数据库,面向对象及多媒体数据库,考试成绩,平时成绩,(课堂表现、书面作业、上机练习、综合练习),期末考试,数据库系统原理教程,第一章 绪论,第一章 绪论,1.1 数据库系统概述,1.2 数据模型,1.3 数据库系统结构,1.4 数据库系统的组成,1.5 数据库技术的研究领域,1.6 小结,1.1,数据库系统概述,1.1.1 四个基本概念,1.1.2 数据管理技术的产生与发展,1.1 数据库系统概述,1.1.1 四个基本概念,1.1.2 数据管理技术的产生与发展,1.1.1 四个基本概念,数据(Data),数据库(Database),数据库管理系统(DBMS),数据库系统(DBS),一、数据,数据(Data)是数据库中存储的基本对象,数据的定义,描述事物的符号记录,数据的种类,文字、图形、图象、声音,数据的特点,数据与其语义是不可分的,数据举例,学生档案中的学生记录,(李明,男,1991,江苏,计算机系,2007),数据的形式不能完全表达其内容,数据的解释,语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间,解释:李明是个大学生,1991年出生,江苏人,2007年考入计算机系,请给出另一个解释和语义,数据与信息,数据:是描述客观事物的一组文字、数字和符号,它是客观事物的反映和记录。,信息:是潜在于数据中的意义,它反映了客观世界中各种事物的状态与特征,它能增长人的知识,影响接受者的行为。,信息成为社会发展的基础和主导力量,这是社会信息化的必然结果,是人类社会进步的标志。,信息与数据,信息与数据的联系,数据是信息的符号表示,或称载体,信息是数据的内涵,是数据的语义解释,数据是符号化的信息,信息是语义化的数据,例,一幅黑白图象,数据黑白点阵,信息脸谱,二、数据库(举例),二、数据库(续),人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息,数据库的定义,数据库(Database,简称DB)是,长期,储存在计算机内、有,组织,的、可,共享,的,大量,数据集合,二、数据库(续),数据库的特征,数据按一定的数据模型组织、描述和储存,可为各种用户共享,冗余度较小,数据独立性较高,易扩展,三、数据库管理系统,什么是DBMS,数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。,DBMS的用途,科学地组织和存储数据、高效地获取和维护数据,DBMS的主要功能,数据定义功能,提供数据定义语言(DDL),定义数据库中的数据对象,数据操纵功能,:提供数据操纵语言(DML),操纵数据实现对数据库的基本操作,(查询、插入、删除和修改),DBMS的主要功能,数据库的运行管理,保证数据的安全性、完整性,多用户对数据的并发使用,发生故障后的系统恢复,数据库的建立和维护功能(,实用程序),数据库数据批量装载,数据库转储,介质故障恢复,数据库的重组织,性能监视等,四、数据库系统,什么是数据库系统,数据库系统(Database System,简称DBS)是指在计算机系统中引入数据库后的系统构成。,在不引起混淆的情况下常常把数据库系统简称为数据库。,数据库系统的构成,由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(和用户)构成。,数据库系统的定义,用户,用户,用户,应用系统,应用开发工具,数据库管理系统,数据库管理人员,操作系统,数据库,。,应,用,系,统,应,用,开,发,软,工,具,件,D,B,M,S,译,编,系,统,操,作,系,统,硬件,数据库在计算机系统中的地位,数据库系统的软硬件层次,硬件,操作系统,DBMS,编译系统,应用开发工具软件,应用系统,PB,VB,VC,Delphi,ASP,Oracle,Db2,Sybase,SQL Server,Informix,Msdos,Unix,windows,Sap_R3,ufsoftU8.0,1.1 数据库系统概述,1.1.1 四个基本概念,1.1.2 数据管理技术的产生与发展,数据处理是对各种形式的数据进行收集、存储、加工和传播的一系列活动的总和。其目的是从大量的原始数据中抽取对人类有价值的信息,以作为行动和决策的依据。,数 据 处 理,1.1.2 数据管理技术的产生和发展,什么是数据管理,对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题,数据管理技术的发展过程,人工管理阶段(40年代中-50年代中),文件系统阶段(50年代末-60年代中),数据库系统阶段(60年代末-现在),一、人工管理,时期,40年代中-50年代中,产生的背景,应用需求科学计算,硬件水平无直接存取存储设备,软件水平没有操作系统,处理方式批处理,人工管理(续),特点,数据的管理者:应用程序,数据不保存。,数据面向的对象:某一应用程序,数据的共享程度:无共享、冗余度极大,数据的独立性:不独立,完全依赖于程序,数据的结构化:无结构,数据控制能力:应用程序自己控制,应用程序与数据的对应关系(人工管理),应用程序,数据集,应用程序,数据集,应用程序,数据集n,.,.,二、文件系统,时期,50年代末-60年代中,产生的背景,应用需求科学计算、管理,硬件水平磁盘、磁鼓,软件水平有文件系统,处理方式联机实时处理、批处理,文件系统(续),特点,数据的管理者:文件系统,数据可长期保存,数据面向的对象:某一应用程序,数据的共享程度:共享性差、冗余度大,数据的结构化:记录内有结构,整体无结构,数据的独立性:独立性差,数据的逻辑结构改变必须 修改应用程序,数据控制能力:应用程序自己控制,应用程序与数据的对应关系(文件系统),应用程序,文件,应用程序,文件2,应用程序,文件n,存取方法,.,.,文件系统中数据的结构,记录内有结构。,数据的结构是靠程序定义和解释的。,数据只能是定长的。,可以间接实现数据变长要求,但访问相应数据的应用程序复杂了。,文件间是独立的,因此数据整体无结构。,可以间接实现数据整体的有结构,但必须在应用程序中对描述数据间的联系,。,数据的最小存取单位是记录。,三、数据库系统,时期,60年代末以来,产生的背景,应用背景大规模管理,硬件背景大容量磁盘,软件背景有数据库管理系统,处理方式联机实时处理,分布处理,批处理,数据库系统(续),特点,数据的管理者:DBMS,数据面向的对象:现实世界,数据的共享程度:共享性高,数据的独立性:高度的物理独立性和一定的,逻辑独立性,数据的结构化:整体结构化,数据控制能力:由DBMS统一管理和控制,应用程序与数据的对应关系(数据库系统),DBMS,应用程序1,应用程序2,数据库,数据的高共享性的好处,降低数据的冗余度,节省存储空间,避免数据间的不一致性,使系统易于扩充,数据独立性,物理独立性,指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变,。,逻辑独立性,指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变,。,数据结构化,整体,数据的结构化是数据库的主要特征之一。,数据库中实现的是数据的真正结构化,数据的结构用,数据模型,描述,无需程序定义和解释。,数据可以,变长,。,数据的最小存取单位是,数据项,。,第一章 绪论,1.1 数据库系统概述,1.2 数据模型,1.3 数据库系统结构,1.4 数据库系统的组成,1.5 数据库技术的研究领域,1.6 小结,数据模型,在数据库中用数据模型这个工具来,抽象、表示和处理,现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟,数据模型应满足三方面要求,能比较,真实,地模拟现实世界,容,易,为人所,理解,便于在计算机上,实现,数据模型(续),数据模型分成两个不同的层次,(1),概念模型,也称信息模型,它是按用户的观点来对数据和信息建模。,(2),数据模型,主要包括网状模型、层次模型、关系模型、面向对象模型等,它是按计算机系统的观点对数据建模,。,数据模型(续),客观对象的抽象过程-,两步抽象,现实世界中的客观对象抽象为概念模型;,把概念模型转换为某一DBMS支持的数据模型。,概念模型是现实世界到机器世界的一个中间层次。,1.2 数据模型,1.2.1 数据模型的组成要素,1.2.2 概念模型,1.2.3 常用数据模型,1.2.4 层次模型,1.2.5 网状模型,1.2.6 关系模型,1.2.1 数据模型的组成要素,数据结构,数据操作,数据的约束条件,1. 数据结构,什么是数据结构,对象类型的集合,两类对象,与数据类型、内容、性质有关的对象,与数据之间联系有关的对象,数据结构是对系统静态特性的描述,2.数据操作,数据操作,对数据库中各种对象(型)的实例(值)允许执行的,操作,及有关的,操作规则,数据操作的类型,检索,更新(包括插入、删除、修改),数据操作(续),数据模型对操作的定义,操作的确切含义,操作符号,操作规则(如优先级),实现操作的语言,数据操作是对系统动态特性的描述。,3.数据的约束条件,数据的约束条件,一组完整性规则的集合。,完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。,数据的约束条件(续),数据模型对约束条件的定义,反映和规定本,数据模型,必须遵守的基本的通用的完整性约束条件。例如在关系模型中,任何关系必须满足,实体完整性,和,参照完整性,两个条件。,提供定义完整性约束条件的机制,以反映,具体应用,所涉及的数据必须遵守的特定的语义约束条件,。,1.2.2 概念模型,1. 概念模型,2. 信息世界中的基本概念,3. 概念模型的表示方法,1. 概念模型,概念模型的用途,概念模型用于信息世界的建模,是现实世界到机器世界的一个中间层次,是数据库设计的有力工具,数据库设计人员和用户之间进行交流的语言,对概念模型的基本要求,较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,简单、清晰、易于用户理解,。,2. 信息世界中的基本概念,(1) 实体(Entity),客观存在并可相互区别的事物称为实体。,可以是具体的人、事、物或抽象的概念,。,(2) 属性(Attribute),实体所具有的某一特性称为属性。,一个实体可以由若干个属性来刻画。,(3) 码(Key),唯一标识实体的属性集称为码。,信息世界中的基本概念(续),(4) 域(Domain),属性的取值范围称为该属性的域,。,(5) 实体型(Entity Type),用实体名及其属性名集合来抽象和刻画,同类实体称为实体型,(6) 实体集(Entity Set),同型实体的集合称为实体集,信息世界中的基本概念(续),(7) 联系(Relationship),现实世界中事物内部以及事物之间的联系在信息世界,中反映为实体内部的联系和实体之间的联系,实体型间联系,两个实体型 一对一联系(1:1),三个实体型 一对多联系(1:n),一个实体型 多对多联系(m:n),两个实体型间的联系,实体型1,联系名,实体型2,1,1,1:1联系,实体型1,联系名,实体型2,m,n,m:n联系,实体型1,联系名,实体型2,1,n,1:n联系,两个实体型间的联系,一对一联系,如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,,则称实体集A与实体集B具有一对一联系,。记为1:1。,实例,班级与班长之间的联系:,一个班级只有一个正班长,一个班长只在一个班中任职,两个实体型间的联系 (续),一对多联系,如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称,实体集A与实体集B,有一对多联系,记为1:n,实例,班级与学生之间的联系:,一个班级中有若干名学生,,每个学生只在一个班级中学习,两个实体型间的联系 (续),多对多联系(m:n),如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体B具有多对多联系。记为m:n,实例,课程与学生之间的联系:,一门课程同时有若干个学生选修,一个学生可以同时选修多门课程,多个实体型间的联系(续),多个实体型间的一对多联系,若实体集E,1,,E,2,,.,E,n,存在联系,对于实体集E,j,(j=1,2,.,i-1,i+1,.,n)中的给定实体,最多只和E,i,中的一个实体相联系,则我们说E,i,与E,1,,E,2,,.,E,i-1,,E,i+1,,.,E,n,之间的联系是一对多的。,多个实体型间的联系(续),实例,课程、教师与参考书三个实体型,如果一门课程可以有若干个教师讲授,使用若干,本参考书,每一个教师只讲授一门课程,每一本,参考书只供一门课程使用,课程与教师、参考书之间的联系是一对多的,多个实体型间的一对一联系,多个实体型间的多对多联系,同一实体集内各实体间的联系,一对多联系,实例,职工实体集内部具有领导与被领导的联系,某一职工(干部)“领导”若干名职工,一个职工仅被另外一个职工直接领导,这是一对多的联系,一对一联系,多对多联系,3. 概念模型的表示方法,概念模型的表示方法很多,实体联系方法(E-R方法),用E-R图来描述现实世界的概念模型,E-R方法也称为E-R模型,E-R图,实体型,用矩形表示,矩形框内写明实体名。,学生,教师,E-R图(续),属性,用椭圆形表示,并用无向边将其与相应的实体连接起来,学生,学号,年龄,性别,姓名,E-R图(续),联系,联系本身,:,用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n),联系的属性,:,联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来,联系的表示方法,实体型1,联系名,实体型2,1,1,1:1联系,实体型1,联系名,实体型2,m,n,m:n联系,实体型1,联系名,实体型2,1,n,1:n联系,联系的表示方法(续),实体型1,联系名,m,n,同一实体型内部的m:n联系,实体型1,联系名,实体型2,1,m,多个实体型间的1:n联系,实体型3,n,联系的表示方法示例,班级,班级-班长,班长,1,1,1:1联系,学生,选修,课程,m,n,m:n联系,班级,组成,学生,1,n,1:n联系,联系的表示方法示例(续),职工,领导,1,n,同一实体型内部的1:n联系,课程,讲授,教师,1,m,多个实体型间的1:n联系,参考书,n,讨论:,商品,供应,商店,p,m,供应商,n,商品,供应,商店,p,m,供应商,n,供应,供应,m,m,n,相同?不同?,联系属性的表示方法,学生,选修,课程,m,n,成绩,E-R图(续),E-R图实例:,某工厂物资管理E-R图,实例 物资入库管理子系统,物资,库存,合同,供应单位,结算,入库,验收,付款,购进,订货,1,N,N,M,L,1,M,N,N,M,N,实例 物资入库管理子系统E,R图,物资,库存,合同,供应单位,结算,入库,验收,付款,购进,订货,1,N,N,M,L,1,M,N,N,M,N,1.2.3 常用数据模型,非关系模型,层次模型(Hierarchical Model),网状模型(Network Model ),数据结构:以基本层次联系为基本单位,基本层次联系:两个记录以及它们之间的一对多(包括一对一)的联系,常用数据模型(续),关系模型(Relational Model),数据结构:表,面向对象模型(Object Oriented Model),数据结构:对象,1.2 数据模型,1.2.1 数据模型的组成要素,1.2.2 概念模型,1.2.3 常用数据模型,1.2.4 层次模型,1.2.5 网状模型,1.2.6 关系模型,1.2.4 层次模型,1. 层次数据模型的数据结构,2. 层次数据模型的数据操纵,3. 层次数据模型的完整性约束,4. 层次数据模型的存储结构,5. 层次数据模型的优缺点,6. 典型的层次数据库系统,1. 层次数据模型的数据结构,层次模型,满足下面两个条件的基本层次联系的集合为层次模型。,1. 有且只有一个结点没有双亲结点,这个结点称为根,结点,2. 根以外的其它结点有且只有一个双亲结点,层次模型中的几个术语,根结点,双亲结点,兄弟结点,叶结点,层次数据模型的数据结构(续),1,根结点,2,兄弟结点,3,叶结点,4,兄弟结点,5,叶结点,叶结点,结构数据模型,层次模型(续),地址,系名,系号,教研室名,教研室号,年级,姓名,学号,职称,姓名,职工号,系,教研室,学生,教员,1 : N联系,实体型,结构数据模型,层次模型(续),R1101,计算机,D02,数据库,R01,G1,王明,S0012,教授,何璧,E1101,G2,郑直,S0020,G3,周密,S0199,网络,R02,人工智能,R03,讲师,刘新,E3721,教授,王恩,E1234,助教,付弈,E3721,层次数据模型的数据结构(续),表示方法,实体型,:用记录类型描述。,每个结点表示一个记录类型。,属性,:用字段描述。每个记录类型可包含若干个字段。,联系,:,用结点之间的连线表示记录(类)型之间的,一对多的联系,实例:,教员-学生数据模型,层次数据模型的数据结构(续),特点,结点的双亲是唯一的,只能直接处理一对多的实体联系,每个记录类型定义一个排序字段,也称为码字段,任何记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在,层次数据模型的数据结构(续),多对多联系在层次模型中的表示,用层次模型,间接,表示多对多联系,方法,将多对多联系,分解,成一对多联系,分解方法,冗余结点法,虚拟结点法,层次模型,多对多联系的表示,例如:一个学生可以选修多门课程,一门课程可由多个学生选修。,S#,SN,SS,学生S,S-C,C#,CN,S#,SN,SS,C#,CN,C#,CN,S#,SN,SS,S,C,S#,SN,SS,C#,CN,S,C,V.C,C,S.C,S,返回,2. 层次模型的数据操纵,查询,插入,删除,更新,3. 层次模型的完整性约束,无相应的双亲结点值就不能插入子女结点值,如果删除双亲结点值,则相应的子女结点值也被同时删除,更新操作时,,应更新所有相应记录,,以保证数据的一致性,4.层次数据模型的存储结构,邻接法,按照层次树前序遍历的顺序把所有记录值依次邻接存,放,即通过物理空间的位置相邻来实现层次顺序,链接法,用指引元来反映数据之间的层次联系,子女兄弟链接法,层次序列链接法,D02,R01,E2101,E1709,E3501,R02,R03,E1101,E3102,S63871,S63874,S63876,子女兄弟链接法,D02,CS,OB,R01,DB,R03,AI,*,R02,MIS,*,E2101,WS,DBT,*,E3501,LT,DBS,*,E1709,LB,DBS,*,E1101,CP,HR,*,E3101,ZP,ES,*,S63871,LT,A,*,S63876,WB,A,*,S63874,CY,C,*,层次序列链接,D02,CS,OB,R01,DB,R03,AI,R02,MIS,E2101,WS,DBT,E3501,LT,DBS,E1709,LB,DBS,*,E1101,CP,HR,E3101,ZP,ES,S63871,LT,A,S63876,WB,A,S63874,CY,C,5. 层次模型的优缺点,优点,层次数据模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解,性能优于关系模型,不低于网状模型,层次数据模型提供了良好的完整性支持,缺点,多对多联系表示不自然,对插入和删除操作的限制多,查询子女结点必须通过双亲结点,层次命令趋于程序化,6. 典型的层次数据库系统,IMS数据库管理系统,第一个大型商用DBMS,1968年推出,IBM公司研制,
展开阅读全文