资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,Slide1-,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,数据库技术,主讲教师:刘海龙,数据库技术主讲教师:刘海龙,1,华南理工大学 计算机科学与工程学院,徐芝琦,华南理工大学 计算机科学与工程学院 徐芝琦,联系方式:,Email,:,HLLIU,电话:,133 422 88 298,办公室: 创新园大厦,A1213,联系方式:Email: HLLIUdlut.edu,3,考核办法:,考勤, 10%,作业, 30%,期末, 60%,考核办法:考勤 10%,4,第一章 数据管理与数据模型,1.1,信息、数据和数据处理,1.2,数据管理技术的发展,1.3,数据模型,第一章 数据管理与数据模型1.1 信息、数据和数据处理,第一章 数据管理与数据模型,1.1,信息、数据和数据处理,1.2,数据管理技术的发展,1.3,数据模型,第一章 数据管理与数据模型1.1 信息、数据和数据处理,信息,现实世界各种事物的特征、形态以及不同事物间的联系等在人脑里的抽象反映。信息描述数据之间的关系。,信息是,人类对于自然界的感知。,数据,表达信息的载体。,数据是,信息的符号,化,表示。,1.1,信息、数据和数据处理, 信息1.1 信息、数据和数据处理,数据是信息的载体,而信息是数据的内涵。,注意!,不能把数据简单地与数字等同起来。,数据在计算机内存储和处理时,都转换成计算机能够识别的符号。,尽管信息与数据两个术语严格地讲是有区别的,但在很多场合下,往往无需严谨地加以区分也不致引发误解。,信息与数据的区别和联系,注意! 信息与数据的区别和联系,信息处理,从已获知的信息中,经过加工推理,得到新的信息,并以此作为社会活动的决策依据。,数据处理,对数据的收集记载、整理、组织、存储、检索、计算、加工、维护、传送等一系列活动的总和。,数据处理, 信息处理 数据处理,数据管理,是一切数据处理过程的基本环节,是所有数据处理任务必需的共性部分。,数据处理,数据管理,数据处理, 数据管理 数据处理数据管理 数据处理,集中处理方式,如果把要处理的数据作为一个完整的集合,所有的工作都由一台计算机来完成;,分散处理方式,若把数据集合分成多个部分,分别放在多台计算机上,对数据的管理和操纵都是分开并相互独立,彼此之间没有数据通信联系;,分布处理方式,若把分散在多台计算机上的数据通过网络连接起来,数据虽然分开存储,但逻辑上却仍是一个整体,每一台计算机既可以单独进行“局部处理”,多台计算机也可以合起来进行“全局处理”就如同集中处理方式一样。,数据处理方式, 集中处理方式 数据处理方式,信息,数据,指导社会活动,数据处理,新信息,新数据,人,机,数据处理关系,信息数据指导社会活动数据处理新信息新数据人机,第一章 数据管理与数据模型,1.1,信息、数据和数据处理,1.2,数据管理技术的发展,1.3,数据模型,第一章 数据管理与数据模型1.1 信息、数据和数据处理,1.2,数据管理技术的发展,人工管理阶段(,1.2.1,),文件系统阶段(,1.2.2,),数据库系统阶段(,1.2.3,),1.2 数据管理技术的发展,1.2,数据管理技术的发展,人工管理阶段(,50,年代中期以前),需要:,计算机主要用于科学计算,硬件:,无直接存取存储设备,软件:,无操作系统和数据管理软件,数据处理方式:,批处理,特点:,数据在计算机中不保存,数据,由,应用程序管理,数据不能共享,数据与程序不具有独立性,基本上是一个程序对应一批数据 (面向应用),1.2 数据管理技术的发展 需要:计算机主要用于科学计算,1.2,数据管理技术的发展,文件系统,阶段(,50,年代后期,-60,年代中期),需要:,数据量增大,联机处理增多,硬件:,磁盘、磁鼓等直接存取存储设备,软件:,操作系统及其文件管理软件,数据处理方式:,批处理、联机实时处理,特点:,数据可以在计算机中长期保存,由存取方法进行程序与文件中的数据之间的转换,文件形式多样化:顺序文件、直接文件、索引文件等,数据共享性差、冗长余度大,数据容易出现不一致性,数据与程序之间缺乏独立性,1.2 数据管理技术的发展 需要:数据量增大,联机处理增多,数据项,是文件中最小的数据单位,记录,是若干相关数据项的集合,一个记录能够表达一个具体的事物,文件,是若干记录的集合,文件组织,是按一定的逻辑结构把有关联的数据记录组织成文件(称为逻辑文件),并用体现这种逻辑结构的物理存储形式把数据存到存储设备上(称为物理文件)。,重要术语(一), 数据项重要术语(一),重要术语(二),数据库,(,DB,,,Database,),DB,是实行统一管理的相关数据的集合。它具有较少的数据冗余度,可供各种用户共享,数据间既联系密切又具有较高的数据独立性。,数据库管理系统,(,DBMS,,,Database Management System,),DBMS,是数据管理的核心软件。它是用户与数据库的接口,提供数据库的定义、检索、更新、维护及各种数据控制。按照所处理的数据模型来分类,可分为层次型、网状型、关系型和面向对象型,DBMS,。,重要术语(二),重要,术语,(三),数据库系统,(,DBS,,,Database System,),DBS,是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的计算机系统。,数据库技术,这是一门研究数据库的结构、存储、管理的软件学科。,数据库,DB,数据库管理系统,DBMS,各种开发工具,数据库应用系统,数据库管理员,DBA,用户,计算机硬件及其他软件,重要术语(三) 数据库DB,1.2,数据管理技术的发展,数据库,系统,阶段,需要:,数据管理需要越来越多、规模越来越大,多种应用、多种语言互相覆盖,共享要求越来越大。,硬件:,大容量硬盘,硬件价格下降。,软件:,软件价格上升,编制和维护成本增加。,处理方式:,联机实时处理多,分布处理需求。,1.2 数据管理技术的发展 需要:数据管理需要越来越多、规,1.,数据库系统的特点,数据结构化,数据的共享性高、冗余度低、易扩充、避免不一致性,数据独立性高,数据由,DBMS,统一管理和控制,1. 数据库系统的特点,1.,数据库系统的特点,(1),数据结构化,文件系统,一般是为某个特定应用服务的。,管理数据的能力较差,一般只是将本程序需要的数据存放在数据文件中。,一般只考虑数据本身,数据之间无联系。,数据库系统,从一个组织全部应用的角度,全面考虑并集成数据的结构。,不仅能反映数据本身,而且还能反映数据之间的联系。,数据之间的联系通过存取路径实现。,1. 数据库系统的特点,1.,数据库系统的特点,(2),数据的共享性高、冗余度低、易扩充、避免不一致性,共享性高,数据是从整体角度看待和描述的,可以被多个用户、多个应用共享。,冗余度低,相同的数据不必重复存放,大大减少了数据的冗余度,节约存储空间避免数据之间的不一致性。,易扩充、易修改,在增加、修改或删除数据时,只是在一部分数据上进行的,可以减少操作量。,避免数据不一致,数据修改只在部分数据进行。,1. 数据库系统的特点,用户,A,远程终端,用户,B,远程终端,数据库,数据库共享,用户 A远程终端用户 B远程终端数据库数据库共享,1.,数据库系统的特点,(3),数据独立性高,数据独立性,数据与应用程序之间相互依赖的程度,数据独立性包括:,逻辑独立性和物理独立性,数据逻辑独立性,在整体逻辑结构与用户逻辑结构之间有一种映象,当整体逻辑结构发生变化时,通过修改该映象,可以使用户逻辑结构不改变,而用户程序是根据用户逻辑结构编写的,所以不必修改用户程序。,数据物理独立性,在整体逻辑结构与物理存储结构之间有一种映象,当物理存储结构发生变化时,通过修改该映象,可以使整体逻辑结构不改变,由此不必修改用户逻辑结构,所以不必修改用户程序。,数据独立性是通过数据库的三级逻辑结构实现的。,1. 数据库系统的特点,用户逻辑结构,1,用户逻辑结构,n,用户逻辑结构,2,整体逻辑结构,物理结构,数据库,映象,1,映象,2,逻辑独立性,物理独立性,用户逻辑结构1用户逻辑结构n用户逻辑结构2整体逻辑结构物,1.,数据库系统的特点,(4),数据由,DBMS,统一管理和控制,数据库中的数据是共享的。,单用户系统,数据在不同时间内被不同用户共享。,多用户或分布系统,数据在同一时间被不同用户共享(并发操作)。,因此,必须有一种机制,保证数据的安全性、完整性、并发控制和数据库恢复等。,1. 数据库系统的特点,数据库系统示意图,数据库系统示意图,第一章 数据管理与数据模型,1.1,信息、数据和数据处理,1.2,数据管理技术的发展,1.3,数据模型,第一章 数据管理与数据模型1.1 信息、数据和数据处理,1.3,数据模型,是对客观事物及其联系的数据描述。换言之,数据模型不仅要表示存储了哪些数据,更重要的是要用某种结构形式表示出各种不同数据之间的联系。,客观世界,信息世界,机器世界,认识,抽象,转换,客观存在,概念模型,数据模型,1.3 数据模型 客观世界 信息世界,1.3,数据模型,数据与数据联系的描述(,1.3.1,),信息模型(,1.3.2,),结构数据模型(,1.3.3,),1.3 数据模型,数据与数据联系的描述,1.,数据描述,(1),现实世界,现实,世界研究的是,对象,。,对象是具体事务和抽象概念的总和。,组成,现实,世界的细胞称为,事务,。,人们对事务的认识是通过事务的,特征,进行的。,人,具体的人,表示人的特征, 数据与数据联系的描述1. 数据描述人具体的人表示人的特征,1.,数据描述,(2),信息世界,对客观世界中的事务进行认识,经过选择、命名、分类后进入信息世界。,信息世界中的概念:,实体,Entity,客观世界中存在并可相互区分的事务。,实体可以是具体的人、事、物,也可以是抽象的概念。,属性,Attribute,实体所具有的某一特征。,一个实体由若干个属性描述。,1. 数据描述,值,域,Domain,属性的取值范围,属性是个变量,属性值是变量的取值,,值,域是变量的取值范围。,实体集,Entity Set,同一类型实体的集合,实体标识符,I,dentifier,能够唯一标识每个实体的属性或属性集, 值域 Domain,1.,数据描述,(3),机器世界,将信息世界中的概念转换成计算机内部表示,就进入了数据世界或称机器世界。,数据项,field,对应于实体属性的数据单位。,记录,record,数据项的有序集合。,文件,file,同一类记录的汇集。,关键字,(,码,),Key,唯一标识文件中每个记录的数据项或数据项组合。,1. 数据描述,现实世界,信息世界 机器世界,特征,属性,数据项,对象,实体集,文件,事务,实体,记录,唯一特征,实体标识符,关键字,数据库技术基础及应用课件,现实世界,信息世界,机器世界,对象,事务,记录,文件,属性,实体,实体集,特征,数据项,对象事务记录文件属性实体实体集特征数据项,2.,实体之间的联系,一对一联系,(1:1),例如:,学校和校长,丈夫和妻子等。,数据与数据联系的描述,2.实体之间的联系 数据与数据联系的描述,2.,实体之间的联系,一对多联系(,1:n,),例如:,班级和学生,单位和职工等。,2.实体之间的联系,2.,实体之间的联系,多对多联系,(m:n),例如:,教师和学生,学生和课程等。,2.实体之间的联系,数据模型的分类,信息模型(概念数据模型),(1.3.2),结构数据模型,(1.3.3),数据模型的分类,信息模型(概念数据模型),是脱离计算机系统的模型,它完全不涉及信息在计算机内如何表示、如何处理等问题,纯粹用来描述信息的结构。在实际,DBS,开发过程中,该模型是用户和数据库设计人员之间的交流工具。,1.3.2,信息模型,信息模型(概念数据模型) 1.3.2 信息模型,信息模型(概念数据模型),实体联系模型(,Entity Relationship Model,),(,P.P.Chen 1976,),- ER,模型,人们设计数据库的工作流程:,先用,ER,图准确地反映信息,再从,ER,图出发,结合具体的计算机系统和,DBMS,,构造实际的数据模型。,信息模型(概念数据模型),(1),ER,图的表示方法,实体型,(,矩形框,),:,联系型,(,菱形框,),:,属性,(,椭圆形框,),:,连接,(,直线,),:,姓名,学生,学习,(1) ER图的表示方法姓名学生学习,建立,ER,图的过程:,确定实体型,确定联系型,对实体型和联系型用连线组合,确定实体型和联系型的属性,确定并标记键,建立ER图的过程:对实体型和联系型用连线组合确定实体型和联系,(2),联系的几种形式,两个实体之间的联系,学校,校长,管理,班级,学生,课程,学生,组织,选课,分数,1,m,n,1,1,n,(2)联系的几种形式学校校长管理班级学生课程学生组织选课分数,(2),多个实体联系,(3),同一个实体内部联系,学生,课程,教学,教师,职工,领导,分数,m,n,1,p,n,(2)多个实体联系学生课程教学教师职工领导分数mn1pn,例:,一个简单的教学数据库系统的,ER,图,学生,(,学号,姓名,性别,出生日期,党派,籍贯,系号,),家庭成员,(,学号,姓名,性别,与本人关系,单位,职务,),奖惩,(,学号,时间,类别,事由,级别,),学历,(,学号,时间,学校,性质,),系,(,系号,系名,地址,电话,系主任,),课程,(,课号,课名,学时,学分,性质,),选课,(,学号,课号,教师号,成绩,),教师,(,教师号,姓名,职称,领导号,系号,),例:一个简单的教学数据库系统的ER图,学生,奖惩,家庭成员,学历,教师,课程,系,经历,管理,获得,拥有,选课,工作,n,m,n,1,n,1,n,n,1,n,1,p,1,成绩,领导,n,1,学生奖惩家庭成员学历教师课程系经历管理获得拥有选课工作nmn,学生,籍贯,党派,出生日期,性别,姓名,学号,课程,学号,性质,学分,学时,课名,学生籍贯党派出生日期性别姓名学号课程学号性质学分学时课名,1.3.3,结构数据模型,结构数据模型由三部分组成:,数据结构,数据操作,数据完整性约束, 1.3.3 结构数据模型结构数据模型由三部分组成:,数据结构,描述存储在数据库中的对象类型的集合。,对数据库系统的静态结构描述。,数据结构包括两部分:,数据类型、内容、性质(属性)、取值范围(域)等。,在不同的数据模型中,数据结构的表示方法不同。,数据之间的联系。,数据结构,数据操作,描述对数据库中各种对象的型和值所允许的操作集合。,对数据库系统的动态结构描述。,数据操作包括两大类:,检索,更新(插入、修改和删除),数据模型必须定义这些操作的确切含义、操作符号、操作规则(优先级等)及实现操作的语言等。,数据操作,数据的完整性约束,数据的完整性约束是一组完整性规则的集合。,完整性限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确性、有效性和相容性。,完整性主要有三类:,实体完整性,参照完整性,用户定义完整性,实体完整性和参照完整性是任何数据库都必须满足的。,用户定义完整性是根据用户的具体要求定义的。,数据库,系统应不仅能设置完整性,还能执行完整性约束条件。,数据的完整性约束,常见的结构数据模型,目前,常见的数据模型有四种:,层次模型,(Hierarchical Model),网状模型,(Network Model),关系模型,(Relational Model),面向对象模型,(Object Oriented Model),非关系模型在,20,世纪,80,年代初以前非常流行,目前已逐渐被关系模型和面向对象模型所取代。但由于开发较早,有些多非关系模型的数据库系统仍在使用。,非关系模型,常见的结构数据模型非关系模型,层次模型,层次模型是层次数据库采用的数据模型,是最早出现的数据模型。,层次数据库的典型代表是,IBM,的,IMS,(,I,nformation,M,anagement,S,ystem),。,(1).,数据结构,层次模型采用树形结构,满足下面,两个条件,:,有且仅有一个结点无父节点,称根节点;,除根节点外,其他结点有且仅有一个父节点。,R1,R2,R3,R4,R6,R5,R7,层次模型R1R2R3R4R6R5R7,学校,产业,部处,学院,中心,系,实验室,教研室,某大学机构层次模型,(,部分,),学校,研院,航院,计院,计工程系,计基础系,硬件教研室,软件教研室,张三,李四,王五,某大学机构层次模型实例,(,部分,),学校产业部处学院中心系实验室教研室某大学机构层次模型(部,(2).,数据操纵和完整性约束,插入:,没有父结点不能插入子结点。,删除:,删除父结点,同时删除子结点。,修改:,应修改所有记录,以免出现数据不一致。,查询:,通过存取路径实现。,(3).,特点,结构简单,完整性好,适用于实体之间联系固定且预先定义好的应用系统。,应用范围有限,插入和删除限制较多、查询子结点必须通过父结点。,(2). 数据操纵和完整性约束结构简单,完整性好,适用于实体,网状模型,层次模型是网状模型的特例。,网状数据库的典型代表是,DBTG,,该系统是美国数据系统语言协商会,CODASYL,下设的数据库任务组,DBTG,提出的一个系统方案,而不是一个实际的数据库系统。,该方案建立了许多数据库的概念和原则,,70,年代产生许多网状数据库,如,IDS/2,,,IMAGE,,,IDMS,,,DMS1100,等。,(1).,数据结构,满足下列条件的基本层联系的集合称为网状数据库:,可以有一个以上节点无父节点;,至少有一个以上节点有多于一个父节点。,网状模型,R1,R2,R3,R4,R1,R3,R2,R4,R3,R2,R1,R5,R1R2R3R4R1R3R2R4R3R2R1R5,(2).,特点,能比较直接地描述客观世界,存取效率高、性能好。,结构复杂,不容易掌握。,数据查询必须通过存取路径。,(2). 特点能比较直接地描述客观世界,存取效率高、性能好。,关系模型,关系模型是,IBM,公司的,San Jose,研究所的研究员,E.F.Codd,在,1970,年首先提出来的。,他发表了一系列文章,开创了关系方法和关系数据理论研究,,1981,年获,ACM,图灵奖。,关系模型是通过满足一定条件的,二维表格,,来表示实体集合及数据之间联系的一种数据模型。,具有坚实的,数学基础,和较,严密的理论,,,使用灵活方便,,得到了迅速发展,,80,年代以后的数据库系统几乎都支持关系模型。,关系模型,面向对象模型,面向对象方法,基本思想:从现实世界中客观存在的事物(对象)出发,以尽可能接近人类思维的方式建立模型,对客观事物进行结构模拟和行为模拟。,基本概念:对象、属性、方法、消息、封装、类、继承、多继承等。,面向对象模型,类 选修,学生,课程,成绩,类 学生,学号,姓名,年龄,性别,类 课程,课程号,课程名,学分,增加选修,查询成绩,增加学生,设置学号,增加课程,修改学分,类 选修类 学生类 课程,面向对象方法应用的新需求:,模拟复杂对象,模拟对象的复杂行为,面向对象技术给数据库系统带来的好处:,复杂对象构造能力使得对于客观世界的模拟能力强,方式自然。,封装性向开发人员和最终用户屏蔽复杂性和实现细节。,继承性使得数据库设计和应用编程成为可重用的。, 面向对象方法应用的新需求:,
展开阅读全文