资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,.,*,数据库原理,课 时:48(8)学时任课教师:马 力,(,mali,),计算机与通信工程学院计算机科学系,1,.,教材与参考书,选用教材,王珊,萨师煊 数据库系统概论(第四版),参考书,王珊,陈红 数据库系统原理教程 清华大学出版社,施伯乐等编著 数据库系统教程 高等教育出版社,杨冬青等译 数据库系统概念 机械工业出版社,Jeffrey.D.Ullman,Jennifer Widom,A First Course in Database Systems,Pretice Hall,Dept.of Computer Science Stanford University,C.J Date,An Introduction to Database System(Ed.8),Addison-Wesley,2003,2,.,考试成绩,平时成绩(书面作业+考勤)10%,上机实验(包括大作业)20%,期末考试 70%,3,.,内容安排 1,基础篇,绪论,关系数据库,关系数据库标准语言SQL,关系查询优化,关系数据库设计理论,4,.,内容安排 2,设计篇,数据库设计,系统篇,数据库保护(安全性、完整性、恢复、并发控制),数据库技术新进展,5,.,内容安排 3,上机(16学时),选用数据库:Oracle 11g,6,.,第一章 绪论,1.1 引言,1.2 数据模型,1.3 数据库系统结构,1.4 数据库系统的组成,1.5 小结,7,.,硬件平台,基础软件平台,软件基础构架平台,应用软件平台,软件产品,协同软件,办公软件,数据库系统,操作系统,中间件,应用服务器,数据库在计算机系统中的位置,8,.,数据库的地位,数据库技术产生于六十年代末,是,数据管理,的,最新,技术,是计算机科学的重要分支。,数据库技术是,信息系统的核心和基础,,它的出现极大地促进了计算机应用向各行各业的渗透。,数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家,信息化程度的重要标志,。,9,.,数据库技术发展回顾,经历了三代演变,层次/网状系统、关系系统、新一代数据库系统家族,造就了三位图灵奖得主,C.W.Bachman、E.F.Codd和James Gray,发展了一门计算机基础学科,以数据模型和DBMS核心技术为主,内容丰富、领域宽广,形成了一个巨大的软件产业,DBMS及相关工具产品、应用解决方案,10,.,三位图灵奖得主,E.F.Codd,Jim Gray,C.W.Bachman,11,.,Charles.W.Bachman网状数据库之父,1960,年为通用电气制造了世界上第一个网状数据库系统,IDS,积极推动与促成了数据库标准的制定:,DBTG,报告,在数据库技术的产生、发展与推广应用方面都发挥了巨大的作用,由于他在数据库方面的杰出成就,1973,获图灵奖,,获奖演说“作为导航员的程序员”。,1983,年成立自己的公司,Bachman Information System,12,.,Edgar F.Codd 博士关系数据库之父、美国工程院院士,原是英国人,,1923,生于英格兰中部波特兰,第二次世界大战时应征入伍,在皇家空军服役。,1942-1945,年间任机长,参与了许多惊心动魄的空战。,英国牛津大学数学专业理学士及硕士学位,,毕业后到,IBM,公司工作,从事操作系统和自动机理论研究,年近,40,重返,密歇根大学进修计算机与通信专业,,,1963,年获得硕士学位,,1965,年又获得博士学位。,60,年代后期开始数据库研究,1970,年,E.F.Codd,博士提出关系模型概念,(CACM,Vol.13,Vol.6,1970),1981,年获图灵奖,,,获奖演说“关系数据库:提高生产率的实际基础”,。,84,年从,IBM,公司退休,还创办了一个研究所:关系研究所(,The Relational Institute,),和一个公司:,Codd,&Associations,,,进行关系数据库产品的研发、销售、,咨询等业务,13,.,James Gray,数据库技术和事务处理专家,1944,年生,美国加州大学伯克利分校,计算机科学系博士。,先后在贝尔实验室、,IBM,、,Tandem,、,DEC,等公司工作,研究方向转向数据库领域。,由于他在数据库和事务处理研究方面的元创性贡献以及在将研究原型转化为商业产品的系统实现方面的技术领袖地位,,1998,年获奖,(,时任微软研究员,),,,获奖演说“信息技术今后的目标”。,14,.,数据库:一个巨大的软件产业,已形成一个巨大的软件产业,是理论成果转化为产品的成功范例,理论创立,原型研制,产品上市,经济效益,15,.,1.1,引言,1.1.1 数据、数据库、数据库系统、数据库管理系统,1.1.2 数据管理技术的产生与发展,1.1.3 数据库技术的研究领域(了解),16,.,四个基本概念,数据(Data),数据库(Database),数据库管理系统(DBMS),数据库系统(DBS),17,.,一、数据,数据(Data)是数据库中存储的基本对象,数据的定义,描述事物的符号记录,组成数据的符号种类,数字、字符串、日期、逻辑值、文本、图形、图象、声音,数据的特点,数据与其语义是不可分的,18,.,数据举例,学生档案中的学生记录,(李明,男,1972,江苏,计算机系,1990),数据的形式本身不能完全表达其内容,数据的解释,语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间,解释:李明是个大学生,1972年出生,男,江苏人,1990年考入计算机系,请给出另外一个语义和解释,19,.,二、数据库,人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息。,数据库的定义,数据库(Database,简称DB)是,长期储存,在计算机内、,有组织的,、,可共享的大量,数据集合。,数据库的特征,数据按一定的数据模型组织、描述和储存,可为各种用户共享,冗余度较小,数据独立性较高,易扩展,20,.,三、数据库管理系统,什么是DBMS,位于用户与操作系统之间的一层,数据管理软件,。,是基础软件,是一个大型复杂的软件系统。,DBMS的用途,科学地组织和存储数据,高效地获取和维护数据,21,.,DBMS的主要功能,数据定义功能,提供数据定义语言(DDL),定义数据库中的数据对象,数据操纵功能,提供数据操纵语言(DML),实现对数据库的基本操作 (查询、插入、删除和修改),22,.,DBMS的主要功能,数据库的事务管理和运行管理,保证数据的安全性、完整性,多用户对数据的并发使用,发生故障后的系统恢复,数据组织、存储和管理,分类组织、存储和管理各种数据,确定组织数据的文件结构和存取方式,实现数据之间的联系,提供多种存取方法提高存取效率,23,.,DBMS的主要功能,数据库的建立和维护功能(实用程序),数据库初始数据装载转换,数据库转储,介质故障恢复,数据库的重组织,性能监视分析等,其它功能,DBMS与网络中其它软件系统的通信,两个DBMS系统的数据转换,异构数据库之间的互访和互操作,24,.,四、数据库系统,什么是数据库系统,数据库系统(DataBase System,简称DBS)是指在计算机系统中引入数据库后的系统。,在不引起混淆的情况下常常把,数据库系统简称为数据库,。,数据库系统的构成,数据库,数据库管理系统(及其开发工具),应用系统,数据库管理员,25,.,数据库系统(续),数据库系统构成图示,用户,用户,用户,应用系统,应用,开发工具,DBMS,操作系统,DB,DBA,26,.,1.1,引言,1.1.1 数据、数据库、数据库系统、数据库管理系统,1.1.2 数据管理技术的产生与发展,1.1.3 数据库技术的研究领域,27,.,1.1.2 数据管理技术的产生和发展,什么是数据管理,对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。,数据管理技术的发展动力,应用需求的推动,计算机硬件的发展,计算机软件的发展,28,.,数据管理技术的产生和发展(续),数据管理技术的发展过程,人工管理阶段(40年代中-50年代中),文件系统阶段(50年代末-60年代中),数据库系统阶段(60年代末-现在),29,.,一、人工管理,时期,40年代中-50年代中,产生的背景,应用需求科学计算,硬件水平无直接存取存储设备,软件水平没有操作系统,处理方式批处理,30,.,人工管理(续),特点1,数据的管理者:应用程序,数据不保存。,特点2,数据面向的对象:某一应用程序,应用程序与数据的对应关系图,应用程序,数据集,应用程序,数据集,应用程序,数据集n,.,.,31,.,人工管理(续),特点3,数据的共享程度:无共享、冗余度极大,数据的独立性:不独立,完全依赖于程序,数据的结构化:无结构,数据控制能力:应用程序自己控制,32,.,二、文件系统,时期,50年代末-60年代中,产生的背景,应用需求科学计算、管理,硬件水平磁盘、磁鼓,软件水平有文件系统,处理方式联机实时处理、批处理,33,.,文件系统(续),特点1,数据的管理者:文件系统,数据可长期保存,特点2,数据面向的对象:某一应用程序,应用程序与数据的对应关系,应用程序,文件,应用程序,文件2,应用程序,文件n,存取方法,.,.,34,.,文件系统(续),特点,3,数据的共享程度:共享性差、冗余度大,特点,4,数据的结构化:记录内有结构,整体无结构,文件系统中数据的结构,记录内有结构。,数据的结构是靠程序定义和解释的。,数据只能是定长的。,可以间接实现数据变长要求,但访问相应数据的应用程序复杂了。,文件间是独立的,因此数据整体无结构。,可以间接实现数据整体的有结构,但必须在应用程序中对描述数据间的联系,。,数据的最小存取单位是记录。,35,.,文件系统(续),特点5,数据的独立性:独立性差,数据的逻辑结构,改变必须修改应用程序,数据控制能力:应用程序自己控制,36,.,三、数据库系统,时期,60年代末以来,产生的背景,应用背景大规模管理,硬件背景大容量磁盘,软件背景有数据库管理系统,处理方式联机实时处理,分布处理,批处理,37,.,数据库系统(续),特点1,数据的管理者:DBMS,特点2,数据面向的对象:现实世界,应用程序与数据的对应关系,DBMS,应用程序1,应用程序2,数据库,38,.,数据库系统(续),特点3,数据的共享程度:共享性高,数据的高共享性的好处,降低数据的冗余度,节省存储空间,避免数据间的不一致性,(,同一数据不同拷贝的值不一样,),使系统易于扩充,39,.,数据库系统(续),特点4,数据的独立性:高度的物理独立性和一定的逻辑独立性,物理独立性,指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。,逻辑独立性,指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。,40,.,数据库系统(续),特点5,数据的结构化:整体结构化,数据结构化,整体数据的结构化,是数据库的主要特征之一。,数据库中实现的是数据的真正结构化,数据的结构用,数据模型,描述,无需程序定义和解释。,数据可以,变长,。,数据的最小存取单位是,数据项,。,特点,6,数据控制能力:由,DBMS,统一管理和控制,41,.,DBMS对数据的控制功能,数据的安全性(Security)保护,使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。,数据的完整性(Integrity)检查,将数据控制在有效的范围内,或保证数据之间满足一定的关系。,并发(Concurrency)控制,对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。,数据库恢复(Recovery),将数据库从错误状态恢复到某一已知的正确状态。,42,.,1.1,引言,1.1.1 数据、数据库、数据库系统、数据库管理系统,1.1.2 数据管理技术的产生与发展,1.1.3 数据库技术的研究领域(了解),43,.,1.1.3 数据库技术的研究领域,数据库管理系统软件的研制,DBMS本身,以DBMS为核心的一组相互联系的软件系统,工具软件,中间件,数据库设计,数据库设计方法,设计工具,设计理论,数据模型和数据建模,数据库理论,关系的规范化理论,关系数据理论,44,.,第一章 绪论,1.1 引言,1.2 数据模型,1.3 数据库系统结构,1.4 数据库系统的组成,1.5 小结,45,.,数据模型,在数据库中用数据模型这个工具来,抽象、表示和处理,现实世界中的数据和信息。,通俗地讲数据模型就是,现实世界的模拟,。,数据模型应满足三方面要求,能比较,真实,地模拟现实世界,容易,为人所,理解,便于在计算机上,实现,46,.,数据模型(续),数据模型分成两个不同的层次,(1),概念模型,也称信息模型,它是按,用户,的观点来对数据和信息建模,主要用于数据库设计,(2),逻辑模型和物理模型,逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于,DBMS,实现。,物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。,客观对象的抽象过程,-,两步抽象,现实世界中的客观对象抽象为概念模型;,把概念模型转换为某一,DBMS,支持的数据模型。,概念模型是现实世界到机器世界的一个中间层次。,47,.,数据模型(续),DBMS支持的数据模型,概念模型,认识,抽象,信息世界,机器世界,现实世界中客观对象的抽象过程,现实世界,现实世界 概念模型,数据库设计人员完成,逻辑模型 物理模型,由DBMS完成,概念模型 逻辑模型,数据库设计人员完成,48,.,1.2 数据模型,1.2.1 数据模型的要素,1.2.2 概念模型,1.2.3 逻辑模型,49,.,1.2.1 数据模型的要素,数据结构,数据操作,完整性约束条件,50,.,1.数据结构,什么是数据结构,描述数据库的组成对象,以及对象之间的联系,描述的内容,与数据类型、内容、性质有关的对象,与数据之间联系有关的对象,数据结构是对系统静态特性的描述,51,.,2.数据操作,数据操作,对数据库中各种对象(型)的实例(值)允许执行的,操作,及有关的,操作规则,数据操作的类型,查询,更新(包括插入、删除、修改),52,.,数据操作(续),数据模型对操作的定义,操作的确切含义,操作符号,操作规则(如优先级),实现操作的语言,数据操作是对系统动态特性的描述。,53,.,3.数据的完整性约束条件,数据的完整性约束条件,一组完整性规则的集合。,完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。,54,.,数据的完整性约束条件(续),数据模型对完整性约束条件的定义,反映和规定本,数据模型,必须遵守的,基本的通用的,完整性约束条件。例如在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。,提供定义完整性约束条件的机制,以反映,具体应用,所涉及的数据必须遵守的特定的语义约束条件。,55,.,1.2 数据模型,1.2.1 数据模型的要素,1.2.2 概念模型,1.概念模型,2.信息世界中的基本概念,3.概念模型的表示方法,1.2.3 逻辑模型,56,.,1.概念模型,概念模型的用途,概念模型用于信息世界的建模,是现实世界到机器世界的一个中间层次,是数据库设计的有力工具,数据库设计人员和用户之间进行交流的语言,对概念模型的基本要求,较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,简单、清晰、易于用户理解,57,.,2.信息世界中的基本概念,(1)实体(Entity),客观,存在并可,相互区别,的事物称为实体。,可以是具体的人、事、物或抽象的概念。,(2)属性(Attribute),实体所具有的某一特性称为属性。,一个实体可以由若干个属性来刻画。,(3)码(Key),唯一标识实体的,属性集,称为码。,58,.,信息世界中的基本概念(续),(4)域(Domain),属性的取值范围称为该属性的域。,(5)实体型(Entity Type),用实体名及其属性名集合来抽象和刻画同类实体称为实体型。,(6)实体集(Entity Set),同型实体的集合称为实体集。,59,.,信息世界中的基本概念(续),(7)联系(Relationship),现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。,实体内部,的联系:组成实体的各属性之间的联系,实体之间,的联系:不同实体集之间的联系,三类实体型间联系,一对一联系(1:1),一对多联系(1:n),多对多联系(m:n),60,.,两个实体型间的联系,一对一联系,如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。,实例,班级与班长之间的联系:一个班级只有一个正班长,而一个班长只在一个班中任职,班级,班级-班长,班长,1,1,1:1联系,61,.,两个实体型间的联系(续),一对多联系,如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体B有一对多联系。记为1:n,实例,班级与学生之间的联系:一个班级中有若干名学生,而每个学生只在一个班级中学习,班级,组成,学生,1,n,1:n联系,62,.,两个实体型间的联系(续),多对多联系(m:n),如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体B具有多对多联系。记为m:n,实例,课程与学生之间的联系:一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,课程,选修,学生,m,n,m:n联系,63,.,联系的表示方法示例,班级,班级-班长,班长,1,1,1:1联系,课程,选修,学生,m,n,m:n联系,班级,组成,学生,1,n,1:n联系,64,.,实体型间联系(续),三类联系之间的关系,m:n联系,1:1联系,1:n联系,特,例,特,例,特,例,65,.,两个以上实体型之间的联系,两个以上实体型之间一对多联系,若实体型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,之间的联系是一对多的。,66,.,两个以上实体型之间的联系(续),实例,课程、教师与参考书三个实体型,一门课程可以有若干个教师讲授,,使用若干本参考书,,每一个教师只讲授一门课程,,每一本参考书只供一门课程使用,课程,讲授,教师,1,m,两个以上实体型间1:n联系,参考书,n,67,.,两个以上实体型之间的联系(续),多个实体型间的一对一联系,两个以上实体型间的多对多联系,实例,供应商、项目、零件三个实体型,一个供应商可以供给多个项目多种零件,每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给,供应商,供应,项目,m,p,两个以上实体型间m:n联系,零件,n,68,.,单个实体型内的联系,一对多联系,实例,职工实体型内部具有领导与被领导的联系,某一职工(干部)“领导”若干名职工,一个职工仅被另外一个职工直接领导,这是一对多的联系,职工,领导,1,n,单个实体型内部1:n联系,69,.,3.概念模型的表示方法,概念模型的表示方法很多,实体联系方法(E-R方法),是最为常用的概念模型表示方法。,用E-R图来描述现实世界的概念模型。,E-R方法也称为E-R模型。,70,.,E-R图,实体,用矩形表示,矩形框内写明实体名。,属性,用椭圆形表示,并用无向边将其与相应的实体连接起来,学生,教师,学生,学号,年龄,性别,姓名,71,.,E-R图(续),联系,联系本身,:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n),72,.,联系的表示方法,实体型1,联系名,实体型2,1,1,1:1联系,实体型1,联系名,实体型2,m,n,m:n联系,实体型1,联系名,实体型2,1,n,1:n联系,73,.,联系的表示方法(续),实体型1,联系名,1,n,同一实体型内部的1:n联系,实体型1,联系名,实体型2,1,m,多个实体型间的1:n联系,实体型3,n,74,.,联系的表示方法示例,班级,班级-班长,班长,1,1,1:1联系,课程,选修,学生,m,n,m:n联系,班级,组成,学生,1,n,1:n联系,75,.,联系的表示方法示例(续),职工,领导,1,n,同一实体型内部的1:n联系,课程,讲授,教师,1,m,多个实体型间的1:n联系,参考书,n,76,.,E-R图(续),联系,联系的属性,:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。,联系属性的表示方法,课程,选修,学生,m,n,成绩,77,.,E-R图实例:,某个工厂物资管理的概念模型,物资管理涉及的实体:,仓库:属性有仓库号、面积、电话号码。,零件:属性有零件号、名称、规格、单价、描述。,供应商:属性有供应商号、姓名、地址、电话号码、账号。,项目:属性有项目号、预算、开工日期。,职工:属性有职工号、姓名、年龄、职称。,78,.,E-R图实例(续),实体之间的联系,一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。用库存量来表示某种零件在某个仓库中的数量。,一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作。,职工之间具有领导-被领导关系。即仓库主任领导若干保管员。,一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供应的零件,每种零件可由不同供应商供给。,79,.,80,.,1.2 数据模型,1.2.1 数据模型的要素,1.2.2 概念模型,1.2.3 逻辑模型,一、层次模型,二、网状模型,三、关系模型,81,.,最常用的数据模型,非关系模型,种类,层次模型(Hierarchical Model),网状模型(Network Model),数据结构:以,基本层次联系,为基本单位,基本层次联系:两个记录以及它们之间的一对多(包括一对一)的联系,关系模型(Relational Model),数据结构:,表,面向对象模型(Object Oriented Model),数据结构:,对象,对象关系模型(Object Relational Model),82,.,一、层次模型,层次模型是数据库系统中最早出现的数据模型,层次数据库系统的典型代表是IBM公司的IMS(Information Management System)数据库管理系统(1968年推出),层次模型用,树形结构,来表示各类实体以及实体间的联系,83,.,一、层次模型,1.层次数据模型的数据结构,2.层次数据模型的数据操纵,3.层次数据模型的完整性约束,4.层次数据模型的存储结构,5.层次数据模型的优缺点,84,.,1.层次数据模型的数据结构,层次模型,满足下面两个条件的基本层次联系的集合为层次模型。,1.有且只有一个结点没有双亲结点,这个结点称为根结点,2.根以外的其它结点有且只有一个双亲结点,层次模型中的几个术语,根结点,双亲结点,兄弟结点,叶结点,85,.,层次数据模型的数据结构(续),1,根结点,2,兄弟结点,3,叶结点,4,兄弟结点,5,叶结点,叶结点,86,.,层次数据模型的数据结构(续),特点,结点的双亲是唯一的,只能,直接,处理一对多的实体联系,每个记录类型定义一个排序字段,也称为码字段,任何记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在,87,.,层次数据模型的数据结构(续),表示方法,实体型,:用记录类型描述。每个结点表示一个记录类型。,属性,:用字段描述。每个记录类型可包含若干个字段。,联系,:用结点之间的连线(有向边)表示记录(类)型之间的一对多的联系。,88,.,层次数据模型的数据结构(续),图1.17 教员学生层次数据库模型,根结点,记录型系的子女结点,记录型教员的双亲结点,叶结点,叶结点,字段,89,.,层次数据模型的数据结构(续),图1.18 教员学生层次数据库的一个值,90,.,层次数据模型的数据结构(续),多对多联系在层次模型中的表示,用层次模型,间接,表示多对多联系,表示方法,将多对多联系,分解,成一对多联系,分解方法,冗余结点法,虚拟结点法,91,.,2.层次模型的数据操纵,查询,插入,删除,更新,92,.,3.层次模型的完整性约束,无相应的双亲结点值就不能插入子女结点值,如果删除双亲结点值,则相应的子女结点值也被同时删除,更新操作时,应更新所有相应记录,以保证数据的一致性,93,.,4.层次数据模型的存储结构,邻接法,按照层次树,前序遍历,的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序。,链接法,用指引元来反映数据之间的层次联系,子女兄弟链接法,层次序列链接法,94,.,层次数据模型的存储结构(续),图 层次数据库及其实例,A1,A2,C8,C6,C4,B6,C9,C2,B4,C14,C7,C5,C3,B1,A1,图 邻接法,按邻接法存放图1.20(b),中以根记录A1为首的层次,记录实例集,按邻接法存放图1.20(b)中以根记录A1为首的层次记录实例集,95,.,层次数据模型的存储结构(续),子女,-,兄弟链接法,每个记录设两类指针,分别指向最左边的子女(每个记录型对应一个)和最近的兄弟,96,.,层次数据模型的存储结构(续),层次序列链接法,按树的前序穿越顺序链接各记录值,97,.,5.层次模型的优缺点,优点,层次数据模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解,对于实体间联系是固定的,且预先定义好的应用系统,其性能优于关系模型,不低于网状模型,层次数据模型提供了良好的完整性支持,缺点,多对多联系表示不自然,对插入和删除操作的限制多,应用程序的编写比较复杂,查询子女结点必须通过双亲结点,由于结构严密,层次命令趋于程序化,98,.,1.2.3 逻辑模型,一、层次模型,二、网状模型,三、关系模型,99,.,二、网状模型,网状数据库系统采用,网状模型,作为数据的组织方式,典型代表是DBTG系统:,亦称CODASYL系统,70年代由DBTG提出的一个系统方案,奠定了数据库系统的基本概念、方法和技术,实际系统,Cullinet Software Inc.公司的 IDMS,Univac公司的 DMS1100,Honeywell公司的IDS/2,HP公司的IMAGE,100,.,二、网状模型,1.网状数据模型的数据结构,2.网状数据模型的数据操纵,3.网状数据模型的完整性约束,4.网状数据模型的存储结构,5.网状数据模型的优缺点,101,.,1.网状数据模型的数据结构,网状模型,满足下面两个条件的基本层次联系的集合为网状模型。,1.允许一个以上的结点无双亲;,2.一个结点可以有多于一个的双亲。,102,.,网状数据模型的数据结构(续),表示方法(与层次数据模型相同),实体型,:用记录类型描述。每个结点表示一个记录类型。,属性,:用字段描述。每个记录类型可包含若干个字段。,联系,:用结点之间的连线表示记录类型(实体)之间的一对多的父子联系。,103,.,网状数据模型的数据结构(续),网状模型与层次模型的区别,网状模型允许多个结点没有双亲结点,网状模型允许结点有多个双亲结点,网状模型允许两个结点之间有多种联系(复合联系),网状模型可以更直接地去描述现实世界,层次模型实际上是网状模型的一个特例,104,.,网状数据模型的数据结构(续),网状模型中子女结点与双亲结点的联系可以不唯一,要为每个联系命名,并指出与该联系有关的双亲记录和子女记录,R1与R3之间的联系,L,1,R2与R3之间的联系,L,2,105,.,网状数据模型的数据结构(续),网状模型的例子,106,.,网状数据模型的数据结构(续),多对多联系在网状模型中的表示,用网状模型,间接,表示多对多联系,表示方法,将多对多联系,直接,分解成一对多联系,107,.,网状数据模型的数据结构(续),例如:一个学生可以选修若干门课程,某一课程可以被多个学生选修,学生与课程之间是多对多联系,引进一个学生选课的联结记录,由,3,个数据项组成,学号,课程号,成绩,表示某个学生选修某一门课程及其成绩,108,.,网状数据模型的数据结构(续),图1.24 学生/选课/课程的网状数据模型,109,.,2.网状模型的数据操纵,查询,插入,删除,更新,110,.,3.网状数据模型的完整性约束,完整性约束条件不严格,插入操作允许插入尚未确定双亲结点值的子女结点值,删除操作允许只删除双亲结点值,111,.,网状数据模型的完整性约束(续),具体的网状数据库系统(如DBTG)对数据操纵加了一些限制,提供了一定的完整性约束。,码:唯一标识记录的数据项的集合,一个联系中双亲记录与子女记录之间是一对多联系,支持双亲记录和子女记录之间某些约束条件,112,.,4.网状数据模型的存储结构,关键,实现记录之间的联系,常用方法,单向链接,双向链接,环状链接,向首链接,113,.,网状数据模型的存储结构(续),图1.25 学生/选课/课程的网状数据库实例,学生记录,课程记录,选课记录,114,.,5.网状模型的优缺点,优点,能够更为直接地描述现实世界,如一个结点可以有多个双亲,具有良好的性能,存取效率较高,缺点,结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握,DDL、DML语言复杂,用户不容易使用,115,.,1.2.3 逻辑模型,一、层次模型,二、网状模型,三、关系模型,116,.,三、关系模型,关系数据库系统采用关系模型作为数据的组织方式,1970年美国IBM公司San Jose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型,计算机厂商新推出的数据库管理系统几乎都支持关系模型,117,.,三、关系模型,1.关系数据模型的数据结构,2.关系数据模型的操纵,3.关系数据模型的完整性约束,4.关系数据模型的存储结构,5.关系数据模型的优缺点,118,.,1.关系数据模型的数据结构,关系模型的基本数据结构,关系模型的基本概念,实体及实体间的联系的表示方法,关系必须是规范化的,119,.,关系数据模型的数据结构(续),关系模型的基本数据结构,在,用户观点,下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。,学 号,姓 名,年 龄,性 别,系 名,年 级,2005004,王小明,19,女,社会学,2005,2005006,黄大鹏,20,男,商品学,2005,2005008,张文斌,18,女,法律,2005,属性,元组,120,.,关系数据模型的数据结构(续),关系模型的基本概念,关系(Relation),一个关系对应通常说的一张表。,元组(Tuple),表中的一行即为一个元组。,属性(Attribute),表中的一列即为一个属性,给每一个属性起一个名称即属性名。,121,.,关系数据模型的数据结构(续),码(Key),表中的某个属性组,它可以唯一确定一个元组。,域(Domain),属性的取值范围。,分量,元组中的一个属性值。,122,.,关系数据模型的数据结构(续),关系模式,对关系的描述,表示方法,关系名(属性1,属性2,属性n),例如:,学生(学号,姓名,年龄,性别,系,年级),123,.,关系数据模型的数据结构(续),实体及实体间的联系的表示方法,实体型,:直接用关系(表)表示,属性,:用属性名表示,一对一联系,:隐含在实体对应的关系中,一对多联系,:隐含在实体对应的关系中,多对多联系,:直接用关系表示,124,.,关系数据模型的数据结构(续),例1:学生、系、系与学生之间的一对多联系:,学生(学号,姓名,年龄,性别,系号,年级),系(系号,系名,办公地点),例2:系、系主任、系与系主任间的一对一联系,例3:学生、课程、学生与课程之间的多对多联系:,学生(学号,姓名,年龄,性别,系号,年级),课程(课程号,课程名,学分),选修(学号,课程号,成绩),125,.,关系数据模型的数据结构(续),关系必须是规范化的,满足一定的规范条件,最基本的规范条件:关系的每一个分量必须是一个,不可分的数据项(不允许表中还有表),。,126,.,关系数据模型的数据结构(续),关系术语,一般表格的术语,关系名,表名,关系模式,表头(表格的描述),关系,(一张)二维表,元组,记录或行,属性,列,属性名,列名,属性值,列值,分量,一条记录中的一个列值,非规范关系,表中有表(大表中嵌有小表),表1.2 术语对比,127,.,2.关系模型的数据操纵,查询、插入、删除、更新,数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合,存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”,128,.,3.关系模型的完整性约束,实体完整性,参照完整性,用户定义的完整性,129,.,4.关系数据模型的存储结构,表以文件形式存储,有的DBMS一个表对应一个操作系统文件,有的DBMS自己设计文件结构,130,.,5.关系模型的优缺点,优点,建立在严格的数学概念的基础上,概念单一,实体和各类联系都用关系来表示。,对数据的检索结果也是关系。,关系模型的存取路径对用户透明,具有更高的数据独立性,更好的安全保密性,简化了程序员的工作和数据库开发建立的工作,131,.,关系模型的优缺点(续),缺点,存取路径对用户透明导致查询效率往往不如非关系数据模型,为提高性能,必须对用户的查询请求进行优化,增加了开发DBMS的难度,132,.,第一章 绪论,1.1 引言,1.2 数据模型,1.3 数据库系统结构,1.4 数据库系统的组成,1.5 小结,133,.,1.3 数据库系统结构,1.3.1数据库系统的模式结构,从数据库管理系统角度看,1.3.2数据库系统的体系结构,从数据库最终用户角度看,134,.,1.3.1 数据库系统的模式结构,数据库系统模式的概念,数据库系统的三级模式结构,数据库的二级映象功能与数据独立性,135,.,数据库系统模式的概念,“型”和“值”的概念,型(Type),对某一类数据的结构和属性的说明,值(Value),是型的一个具体赋值,例如:学生记录,记录型:,(学号,姓名,性别,系别,年龄,籍贯),该记录型的一个记录值:,(900201,李明,男,计算机,22,江苏),136,.,数据库系统模式的概念(续),模式(Schema),数据库逻辑结构和特征的描述,是型的描述,反映的是数据的结构及其联系,模式是相对稳定的,模式的一个实例(Instance),模式的一个具体值,反映数据库某一时刻的状态,同一个模式可以有很多实例,实例随数据库中的数据的更新而变动,137,.,数据库系统模式的概念,(续),例如:在学生选课数据库模式中,包含学生记录、课程记录和学生选课记录,2003年的一个学生数据库实例,包含:,2003年学校中所有学生的记录,学校开设的所有课程的记录,所有学生选课的记录,2002年度学生数据库模式对应的实例与,2003年度学生数据库模式对应的实例是,不同,的,138,.,数据库系统的三级模式结构,139,.,1模式(,Schema),模式(也称逻辑模式),数据库中,全体数据,的逻辑结构和特征的描述,所有用户的,公共,数据视图,综合了所有用户的需求,一个数据库只有一个模式,模式的地位:是数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应
展开阅读全文