资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,数据库原理及应用,-,项目,1,理解数据库,引言,数据库技术是目前计算机领域发展最快、应用最广泛的技术,它的应用遍及各行各业,大到如全国联网的飞机票、火车票订票系统、银行业务系统;小到个人的管理信息系统,如家庭理财系统。在互联网流行的动态网站中,数据库的应用也已经非常广泛。,学习和掌握数据库的基础知识和基本技能、利用数据库系统进行数据处理是大学生必须具备的基本能力。,情景导入,刚入学的王宁同学对大学生活充满了向往与憧憬,但也有些许不安,毕竟踏入一个新环境,一切都得自己去适应、去学习。热心的学长告诉他,我们学校已经建成智慧校园,你可以随时通过网络了解一切,比如,你想查看一下今天的课程表,可以登录学校的“教务管理系统”查看课程名称、上课地点、任课教师、课程实训安排等信息。你想去图书馆,可以先到学校的“网上服务大厅”,找到“图书馆”,查看图书馆的藏书情况,有没有你想借的图书、图书简介,还可以对没看完的图书网上续借,查看有没有超期未还的图书等。学校放假时,你还可以通过网络购票软件,查询你要乘坐站点的车次、时间、票价、剩余票数等信息,还可以轻松完成订票、改签、退票等操作。,所有这些课程信息、图书信息、超市商品信息、车票信息的管理都是借助数据库技术实现的。,情景导入,由此可见,数据库的应用非常广泛,已经遍及我们生活的方方面面。学习和掌握数据库的基础知识和基本技能、利用数据库系统进行数据处理非常重要,是后续学习动态网页设计、Java Web应用开发技术等专业核心课程的基础。,理解数据处理,理解数据描述,掌握数据模型,掌握关系代数,明确数据库系统的组成和结构,认识常见的数据库管理系统,主要内容,项目,1,理解,数据库,职业能力目标:,理解数据处理基本概念,理解,数据描述相关概念,掌握数据模型和关系代数,明确,数据库系统的组成和结构,认识常见的数据库管理系统,任务,1-1,理解,数据处理,【任务提出】,王宁选择了大数据技术专业,通过学校网站,他了解到要学习大数据导论、信息技术、数据可视化技术等课程,那么,信息和数据有什么关系?怎么把数据转换为信息呢?这成了摆在王宁面前的疑问。,本任务将带领王宁解疑答惑。,(一)信息与数据,信息(Information)就是对各种事物的存在方式、运动状态和相互联系特征的一种表达和陈述,是自然界、人类社会和人类思维活动普遍存在的一切物质和事物的属性,它存在于人们的周围。,1,、信息,(一)信息与数据,数据(Data)是用来记录信息的可识别的符号,是信息的具体表现形式。,2,、数据,数据用型和值来表示,数据的型是指数据内容存储在媒体上的具体形式;值是指所描述的客观事物的具体特性。,数据不仅包括数字、文字形式,而且还包括图形、图像、声音、动画等多媒体数据,。,如一个人的身高可以表示为“1.80”或“1米8”,其中“1.80”和“1米8”是值,但这两个值的型是不一样的,一个用数字来描述,而另一个用字符来描述。,(二)数据处理,数据处理的内容主要包括数据的收集、组织、整理、存储、加工、维护、查询和传播等一系列活动。,数据处理是指将数据转换成信息的过程,也称信息处理。,数据处理的目的是从大量的数据中,根据数据自身的规律和它们之间固有的联系,通过分析、归纳、推理等科学手段,提取出有效的信息资源。,数据处理的工作分为以下3个方面。,数据管理:,主要任务是收集信息,将信息用数据表示并按类别组织保存。,数据加工:,主要任务是对数据进行变换、抽取和运算。,数据传播:,通过数据传播,信息在空间或时间上以各种形式传递。,任务,1-2,理解,数据,描述,【任务提出】,面对大量要处理的学生信息,王宁发现手动处理太麻烦,为了用计算机处理数据,需要先将学生信息转换为计算机能够处理的数据,要怎么做呢?学生和课程之间有哪种联系呢?,(,一,),现实世界,现实世界是,存在于人们头脑之外,的,客观世界,。现实世界存在各种事物,事物与事物之间存在联系,这种联系是由事物本身的性质决定的。,例如,学校中有教师、学生、课程,教师为学生授课,学生选修课程并取得成绩;图书馆中有图书、管理员和读者,读者借阅图书,管理员对图书和读者进行管理等。,(,二,),信息世界,信息世界是,现实世界在人们头脑中的反映,,人们把它用文字或符号记载下来。,域(Domain):属性的取值范围称为该属性的域。,实体型(Entity Type):具有相同属性的实体必然具有共同的特征和性质,用实体名及其属性名的集合来抽象和刻画同类实体,称为实体型。例如,学生,(,学号,姓名,性别,出生日期,系,),实体集(Entity Set):同类实体的集合称为实体集。例如全体学生、一批图书等。,实体(Entity),:,客观存在并且可以相互区别的事物称为实体。实体可以是具体的事物,也可以是抽象的事件。,属性(Attribute),:,描述实体的特性。一个实体可以用若干个属性来描述,。,键(Key):唯一标识实体的属性或属性的组合。,(,二,),信息世界,联系(Relationship),在现实世界中,事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。,两个实体型之间的联系可以分为3类。,(1)一对一联系(One-to-One Relationship),(2)一对多联系(One-to-Many Relationship),(3)多对多联系(Many-to-Many Relationship,),(,二,),信息世界,(,三,),数据世界,数据世界又称机器世界。信息世界的信息在机器世界中以数据形式存储,在这里,每一个实体用记录表示,相应于实体的属性用数据项(又称字段)来表示,现实世界中的事物及其联系用数据模型来表示。,现实世界中客观对象的抽象过程如下图所示:,任务,1-2,理解,数据,描述,【任务实施】,通过本任务的学习,王宁了解到,要将学生信息转换为计算机能够处理的数据,需要经历现实世界、信息世界、数据世界这,3,个领域,而且通过联系类型的学习,他分析得到学生和课程之间存在多对多的联系。,任务,1-3,掌握,数据,模型,【任务提出】,在任务,1-2,中,王宁已经明确学生和课程之间的联系类型,那么,这些数据在计算机中要选择哪种组织模式才能保证数据的正确性、一致性呢?,(,一,),数据模型的分类,概念数据模型,简称为概念模型,,表示实体类型及实体间的联系,是独立于计算机系统的模型。,概念模型用于建立信息世界的数据模型,强调其语义表达功能,要求概念简单、清晰,易于用户理解,它是现实世界的第1层抽象,,是用户和数据库设计人员之间进行交流的工具,。,结构数据模型,简称为数据模型,,它是,直接面向数据库的逻辑结构,,是现实世界的第2层抽象。数据模型涉及计算机系统和数据库管理系统。数据模型有严格的形式化定义,以便于在计算机系统中实现。,(,二,),概念模型,概念模型是对信息世界的建模,它应当能够全面、准确地描述信息世界,是信息世界的基本概念。,概念模型的表示方法很多,其中最为著名和使用最为广泛的是P.P.Chen于1976年提出的,E-R(Entity-Relationship)模型,。,(,二,),概念模型,例如,班级和学生之间的联系可以用概念模型表示如下。,(,二,),概念模型,E-R图通用的表示方式如下。,(1)用矩形框表示实体型,在框内写上实体名。,(2)用椭圆形框表示实体的属性,并用无向边把实体和属性连接起来。,(3)用菱形框表示实体间的联系,在菱形框内写上联系名,用无向边分别把菱形框与有关实体连接起来,在无向边旁注明联系的类型。,如果实体间的联系也有属性,则把属性和菱形框也用无向边连接起来。,(,三,),数据模型的要素和种类,1、数据模型的三要素,(1),数据结构,:用于描述系统的静态特征,是所研究的对象类型的集合,是数据库的组成部分,包括两个方面。,数据本身:数据的类型、内容和性质等。例如关系模型中的属性、关系等。,数据之间的联系:数据之间是如何相互关联的。例如关系模型中的主,键,、外,键,等。,(2),数据操作,:是对数据库中的各种对象(型)的实例(值)允许执行的操作集合。主要有检索和更新(包括插入、删除和修改)两类。,(3),数据约束条件,:是一组完整性规则的集合。是给定数据模型中的数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态及其状态的变化,以保证数据的正确、有效和相容。,(,三,),数据模型的要素和种类,2、常见的数据模型,层次模型,:,用“树”结构表示数据之间的关系,网状模型,:,用“图”结构表示数据之间的关系,关系模型,:,用“表”结构(或称关系)表示数据之间的关系,在层次模型、网状模型、关系模型3种数据模型中,关系模型结构简单、数据之间的关系容易实现,因此关系模型是目前广泛使用的数据模型,并且关系数据库也是目前流行的数据库。,(,四,),关系模型,关系模型是目前最重要的一种数据模型,关系数据库系统采用关系模型作为数据的组织方式。,关系模型是在,20,世纪,70,年代初由美国,IBM,公司的,E.F.Codd,提出的,为数据库技术的发展奠定了理论基础。由于,E.F.Codd,的杰出工作,他于,1981,年获得,ACM,图灵奖。,(,四,),关系模型,1、关系模型的数据结构,关系模型与以往的模型不同,它是建立在严格的数据概念基础上的。关系模型中数据的逻辑结构是一张二维表,它由行和列组成。,(,1,),关系(,Relation,),。一个关系就是一张二维表,见,下,表,:,学,号,姓,名,年,龄,性,别,所 在 系,2007X1201,李小双,18,女,信息系,2007D1204,张小玉,20,女,电子系,2007J1206,王大鹏,19,男,计算机系,(,四,),关系模型,1、关系模型的数据结构,(,2,),元组(,Tuple,),:,也称记录,关系表中的每行对应一个元组,组成元组的元素称为分量。,数据库中的一个实体或实体之间的一个联系均使用一个元组来表示。,(,3,),属性(,Attribute,),:,表中的一列即为一个属性,给每个属性取一个名称为属性名,。,属性具有型和值两层含义:,属性的型指属性名和属性值域;,属性的值是指属性具体的取值。,(,四,),关系模型,1、关系模型的数据结构,(,4,),域,(,Domain,),:属性的取值范围,。,(,5,),分量(,Component,),:,元组中的一个属性值。,(,6,),候选键(,Candidate key,),:,若关系中的某一属性或属性组的值能唯一标识一个元组,且从这个属性组中去除任何一个属性,都不再具有这样的性质,则称该属性或属性组为候选键,候选,键,简称为,键,。,(,7,),主,键,(,Primary key,),:,若一个关系中有多个候选,键,,则选定其中一个为主,键,。,(,四,),关系模型,1、关系模型的数据结构,(,8,),全键(,All-key,),:,在最简单的情况下,候选,键,只包含一个属性;在最极端的情况下,关系模式的所有属性是这个关系模式的候选,键,,称为全,键,。全,键,是候选,键,的特例。,(,9,),主属性(,Prime Attribute,)和非主属性(,Non-prime Attribute,),:,在关系中,候选,键,中的属性称为主属性,不包含在任何候选,键,中的属性称为非主属性。,(,10,),关系模式(,Relation Schema,),:对,关系的描述,,通常可以简记为,R(U),或,R(A1,,,A2,,,An),。,其中,,R,为关系名;,U,为组成该关系的属性的集合。,(,四,),关系模型,2、关系的性质,(,1,)同一属性的数据具有同质性,即每一列中的分量是同一类型的数据,它们来自同一个域。,(,2,)同一关系的属性名具有不可重复性,即同一关系中不同属性的数据可出自同一个域,但不同的属性要给予不同的属性名。,(,3,)关系中列的位置具有顺序无关性,即列的次序可以任意交换、重新组织。,(,4,)关系具有元组无冗余性,即关系中的任意两个元组不能完全相同。,(,5,)关系中元组的位置具有顺序无关性,即元组的顺序可以任意交换。,(,6,)关系中每个分量必须取原子值,即每个分量都必须是不可分的数据项。,(,四,),关系模型,关系,模型要求关系必须是规范化的,即要求关系模式必须满足一定的规范条件,这些规范条件中最基本的一条就是关系的每个分量必须是一个不可分割的数据项。规范化的关系简称范式(,Normal Form,)。,非规范化的关系结构,姓名,所 在 系,成,绩,C,语言,VB,语言,李武,计算机,95,90,马鸣,信息工程,85,92,姓名,所 在系,C,成绩,VB,成绩,李武,计算机,95,90,马鸣,信息工程,85,92,修改后的关系结构,规则,1.1,实体完整性规则,若属性,A,是基本关系,R,的主属性,则属性,A,不能取空值。,(,五,),关系的完整性,1,、实体完整性,例如,学生关系“学生(学号,姓名,性别,专业号,年龄)”中,“学号”为主键,则“学号”不能取空值。,实体完整性规则规定基本关系的所有主属性都不能取空值,而不仅是指主,键,不能取空值。,(,五,),关系的完整性,【例,1.1,】学生关系和专业关系表示如下,其中主,键,用下划线标识。,学生(,学号,,姓名,性别,专业号,年龄),专业(,专业号,,专业名),2,、参照完整性,这两个关系之间存在着属性的引用,即学生关系引用了专业关系的主,键,“专业号”。显然,学生关系中的“专业号”值必须是确实存在的专业的专业号,即专业关系中有该专业的记录,。,也就是说,,学生关系中的某个属性的取值需要参照专业关系的属性来取值。,(,五,),关系的完整性,设,F,是基本关系,R,的一个或一组属性,但不是关系,R,的主键。如果,F,与基本关系,S,的主码,Ks,相对应,则称,F,是基本关系,R,的外键(,Foreign Key,),并称基本关系,R,为参照关系(,Referencing Relation,),基本关系,S,为被参照关系(,Referenced Relation,)或目标关系(,Target Relation,)。,外键,(,五,),关系的完整性,规则1.2 参照完整性规则,若属性(或属性组),F,是基本关系,R,的外键,它与基本关系,S,的主键,Ks,相对应(基本关系,R,和,S,有可能是同一关系),则对于,R,中每个元组在,F,上的值必须为以下值之一。,(,1,)或者取空值(,F,的每个属性值均为空值)。,(,2,)或者等于,S,中某个元组的主键值。,(,五,),关系的完整性,用户自定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。例如某个属性必须取唯一值、属性值之间应满足一定的函数关系、某属性的取值范围等。,3,、用户自定义的完整性,例如,性别只能取“男”或“女”;,学生的成绩必须在,0,100,分。,任务,1-3,掌握,数据,模型,【任务实施】,通过本任务的学习,王宁的疑问得到了解决,在信息世界,学生和课程以及他们之间的联系用E-R模型表示。在机器世界,目前最重要的是采用关系模型来表示,学生和课程以及他们之间的联系表示如下:,学生(学号,姓名,年龄,性别,专业,所在系,简历),课程(课程号,课程名,学期),学习(学号,课程号,成绩),任务,1-4,掌握关系代数,【任务提出】,王宁选择好数据的组织形式后,李老师给王宁布置了一个新任务:从你的数据中得到没有选修,“,高等数学,”,课程的学生的学号和姓名。王宁需要借助关系代数的相关知识来完成李老师布置的任务。,关系代数是一种,抽象的查询语言,,,是关系数据操纵语言的一种传统表达方式,它用关系的运算来表达查询。,是关系数据系统查询语言的理论基础。,运算对象、运算符、运算结果,是运算的三大要素。,关系代数的运算对象是关系,运算结果亦为关系。,关系代数中使用的运算符包括,以下,4,类:集合运算符、专门的关系运算符、比较运算符和逻辑运算符,任务,1-4,掌握关系代数,运 算 符,含,义,运 算 符,含,义,集合,运算符,并,差,交,广义笛卡儿积,比较,运算符,大于,大于等于,小于,小于等于,等于,不等于,专门的,关系,运算符,选择,投影,连接,除,逻辑,运算符,非,与,或,(,一,),传统的集合运算,传统的集合运算是二目运算,包括并、交、差、广义笛卡儿积,4,种运算。,1,并(,Union,),关系,R,与关系,S,的并记作:,RS=,tt,R,t,S,,,t,是元组变量,2,差(,Difference,),关系,R,与关系,S,的差记作:,R-S=tt,R,t,S,3,交(,Intersection,),关系,R,与关系,S,的交记作:,RS=tt,R,t,S,其结果关系仍为,n,目关系,由既属于,R,又属于,S,的元组组成。关系的交可以用差来表示,即,RS=R-(R-S),(,一,),传统的集合运算,4,广义笛卡儿积(,Extended Cartesian Product,),两个分别为,n,目和,m,目的关系,R,和,S,的广义笛卡儿积是一个(,n+m,)列的元组的集合。元组的前,n,列是关系,R,的一个元组,后,m,列是关系,S,的一个元组。若,R,有,k1,个元组,,S,有,k2,个元组,则关系,R,和关系,S,的广义笛卡儿积有,klk2,个元组。记作:,例如,,关系,R,、,S,见,下,表(,a,)、(,b,),所示,(,一,),传统的集合运算,(,c,),R,S,A,B,C,a,1,b,2,c,2,a,2,b,2,c,1,A,B,C,a,1,b,1,c,1,a,1,b,2,c,2,a,2,b,2,c,1,a,1,b,3,c,2,(,d,),RS,(,f,),RXS,(,e,),R-S,R.A,R.B,R.C,S.A,S.B,S.C,a,1,b,1,c,1,a,1,b,2,c,2,a,1,b,1,c,1,a,1,b,3,c,2,a,1,b,1,c,1,a,2,b,2,c,1,a,1,b,2,c,2,a,1,b,2,c,2,a,1,b,2,c,2,a,1,b,3,c,2,a,1,b,2,c,2,a,2,b,2,c,1,a,2,b,2,c,1,a,1,b,2,c,2,a,2,b,2,c,1,a,1,b,3,c,2,a,2,b,2,c,1,a,2,b,2,c,1,A,B,C,a,1,b,1,c,1,专门的关系运算包括,选择、投影、连接、除,等。,1,选择(,Selection,),选择又称为限制(,Restriction,),它是在关系,R,中选择满足给定条件的诸元组,记作:,F(R)=t|t,R,F(t)=,真,其中,,F,表示选择条件,它是一个逻辑表达式,取逻辑值为“真”或“假”。逻辑表达式,F,的基本形式为:,X1Y1X2Y2,【例,1.3,】查询数学系学生的信息。,sdept=,数学系,(,Student,),【例,1.4,】查询年龄小于,20,岁的学生信息。,sage19,ssex=,男,(Student),(,二,),专门的关系运算,3,连接(,Join,),连接也称为,连接,它是从两个关系的笛卡儿积中选取属性间满足一定条件的元组,,,记作:,其中,A,和,B,分别为,R,和,S,上数目相等且可比的属性组,,是比较运算符。连接运算是从,R,和,S,的笛卡儿积,RS,中选取,(R,关系,),在,A,属性组上的值与,(S,关系,),在,B,属性组上的值满足比较关系,的元组。,连接运算中有两种最为重要也最为常用的连接,:,等值连接,自然连接,(,二,),专门的关系运算,A,B,C,B,E,a,1,b,1,5,b,1,3,a,1,b,2,6,b,2,7,a,2,b,3,8,b,3,10,a,2,b,4,12,b,3,2,b,5,2,A,R.B,C,S.B,E,a,1,b,1,5,b,2,7,a,1,b,1,5,b,3,10,a,1,b,2,6,b,2,7,a,1,b,2,6,b,3,10,a,2,b,3,8,b,3,10,(,一般连接,),(,二,),专门的关系运算,R S,等值连接,为“,=,”的连接运算称为等值连接,它是从关系,R,与,S,的,笛卡儿积,中选取,A,、,B,属性值相等的那些元组,等值连接为:,自然连接,是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,即若,R,和,S,具有相同的属性组,B,,则自然连接可记作:,(,二,),专门的关系运算,(,二,),专门的关系运算,(,等值连接,),A,R.B,C,S.B,E,a,1,b,1,5,b,1,3,a,1,b,2,6,b,2,7,a,2,b,3,8,b,3,10,a,2,b,3,8,b,3,2,R,S,(,自然连接,),A,B,C,E,a,1,b,1,5,3,a,1,b,2,6,7,a,2,B,3,8,10,a,2,B,3,8,2,关系代数操作举例,(,强化训练,),设学生,-,课程数据库中有,3,个关系。,学生关系:,S(Sno,,,Sname,,,Ssex,,,Sage),课程关系:,C(Cno,,,Cname,,,Teacher),学习关系:,SC(Sno,,,Cno,,,Degree),(1),查询学习课程号为,C3,号课程的学生学号和成绩。,Sno,,,Degree,(,Cno=C3,(SC),(2),查询学习课程号为,C4,课程的学生学号和姓名。,Sno,,,Sname,(,Cno=C4,(SSC),(3),查询学习课程名为,maths,的学生学号和姓名。,Sno,,,Sname,(,Cname=maths,(SSCC),任务,1-4,掌握关系代数,关系代数操作举例,(,强化训练,),设学生,-,课程数据库中有,3,个关系。,学生关系:,S(Sno,,,Sname,,,Ssex,,,Sage),课程关系:,C(Cno,,,Cname,,,Teacher),学习关系:,SC(Sno,,,Cno,,,Degree),(4),查询学习课程号为,C1,或,C3,课程的学生学号。,Sno,(,Cno=C1,Cno=C3,(SC),(5),查询不学习课程号为,C2,的学生的姓名和年龄。,Sname,,,Sage,(S)-,Sname,,,Sage,(,Cno=C2,(SSC),任务,1-4,掌握关系代数,任务,1-4,掌握关系代数,【任务实施】,在学习了关系代数的各种运算之后,王宁得到了解决办法,查询没有选修,“,高等数学,”,课程的学生的学号和姓名,相应的关系代数表达式如下:,学号,姓名,(学生)-,学号,姓名,(,课程名=高等数学,(学生学习课程),任务,1-5,明确数据库系统的组成和体系结构,【任务提出】,随着前面几个任务的顺利完成,王宁同学的知识储备也与日俱增,今天,他又有了一个新的问题:数据模型怎样在计算机上实现,从而在计算机上实现对数据的管理呢?本任务将带领王宁一起探索,并揭晓答案。,1,、数据库,(一)数据库相关概念,数据库(,Data Base,,,DB,)是长期存放在计算机内、有组织的、可共享的相关数据的集合,它将数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性、可被各类用户共享等特点。,2,、数据库管理系统,数据库管理系统(,Data Base Management System,,,DBMS,)是位于用户与操作系统(,OS,)之间的一层数据管理软件,它为用户或应用程序提供访问数据库的方法,包括数据库的创建、查询、更新及各种数据控制,它是数据库系统的核心。,数据库管理系统一般由计算机软件公司提供,目前比较流行的,DBMS,有,Oracle,、,Access,、,SQL Server,、,MySQL,、,PostgreSQL,等。,(一)数据库相关概念,数据库管理系统的主要功能,(,1,)数据定义功能。,DBMS,提供数据定义语言(,Data Definition Language,,,DDL,),用户通过它可以方便地对数据库中的数据对象进行定义。,(,2,)数据操纵功能。,DBMS,还提供数据操纵语言(,Data Manipulation Language,,,DML,),用户可以使用,DML,操纵数据实现对数据库的基本操作,如查询、插入、删除和修改等。,(,3,)数据库的运行管理。数据库在创建、运用和维护时由,DBMS,统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。,(,4,)数据库的创建和维护功能。数据库的创建和维护功能包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的组织功能和性能监视、分析功能等。,3,、数据库应用系统,(一)数据库相关概念,凡使用数据库技术管理其数据的系统都称为数据库应用系统(,Data Base Application System,)。数据库应用系统的应用非常广泛,它可以用于事务管理、计算机辅助设计、计算机图形分析和处理及人工智能等系统中。,4,、数据库系统,数据库系统(,Data Base System,,,DBS,)是指在计算机系统中引入数据库后的系统,它由计算机硬件、数据库、数据库管理系统(及其开发工具)、数据库应用系统、数据库用户构成。,(一)数据库相关概念,数据库用户包括数据库管理员、系统分析员、数据库设计人员及应用程序开发人员和终端用户。,数据库管理员(,Data Base Administrator,,,DBA,)是高级用户,他的任务是对使用中的数据库进行整体维护和改进,负责数据库系统的正常运行,他是数据库系统的专职管理和维护人员。,系统分析员负责应用系统的需求分析和规范说明,要和用户及,DBA,结合,确定系统的硬件软件配置,并参与数据库系统的概要设计;数据库设计人员负责数据库中数据的确定、数据库各级模式的设计;应用程序开发人员负责设计和编写应用程序的程序模块,并进行调试和安装。,终端用户是数据库的使用者,主要是使用数据,并对数据进行增加、删除、修改、查询、统计等操作,方式有两种,使用系统提供的操作命令或程序开发人员提供的应用程序。,数据库系统的体系结构,(二)数据库系统的体系结构,数据库的三级模式结构是数据,3,个抽象级别,它把数据的具体组织留给,DBMS,去处理,用户只要抽象地处理数据,而不必关心数据在计算机中的表示和存储,这样就减轻了用户使用系统的负担。,三级结构之间差别往往很大,为了实现这,3,个抽象级别的联系和转换,,DBMS,在三级结构之间提供了两级映像,(Mapping),:外模式,/,模式映像、模式,/,内模式映像。,正是这两级映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。,1,、模式,(二)数据库系统的体系结构,模式(,Schema,)也称概念模式或逻辑模式,是对数据库中全部数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也不涉及具体的应用程序及所使用的应用开发工具和高级程序设计语言。,模式实际上是数据库数据在概念级上的视图,,一个数据库只有一个模式。,定义模式时不仅要定义数据的逻辑结构,例如数据记录由哪些数据项构成,数据项的名称、类型、取值范围等,还要定义数据项之间的联系,定义不同记录之间的联系,以及定义与数据有关的完整性、安全性等要求。,2,、外模式,(二)数据库系统的体系结构,外模式(,External Schema,)也称子模式(,Subschema,)或用户模式,它是对数据库用户(包括程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,即个别用户涉及的数据的逻辑结构。,外模式通常是模式的子集,,一个数据库可以有多个外模式,。,外模式是保证数据库安全性的一个有效措施,每个用户只能看见或访问所对应的外模式中的数据,数据库中的其余数据是不可见的。,3,、内模式,(二)数据库系统的体系结构,内模式(,Internal Schema,)也称存储模式或物理模式,是对数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。例如,记录的存储方式是顺序存储、按照,B,树结构存储还是按,hash,方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定等。,一个数据库只有一个内模式,。,内模式的设计目标是将系统的模式(全局逻辑结构)组织成最优的物理模式,以提高数据的存取效率,改善系统的性能指标。,4,、外模式,/,模式映像,(二)数据库系统的体系结构,模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构,对应于同一个模式可以有任意多个外模式。,对于每个外模式,数据库系统都有一个外模式,/,模式映像,,它定义了该外模式与模式之间的对应关系。这些映像定义通常包含在各自外模式的描述中。,(二)数据库系统的体系结构,数据库中只有一个模式,也只有一个内模式,所以,模式,/,内模式映像是唯一的,,它定义了数据库全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的。该映像定义通常包含在模式描述中。,5,、模式,/,内模式映像,6,、两级数据独立性,(二)数据库系统的体系结构,数据独立性(,Data Independence,)是指应用程序和数据库的数据结构之间相互独立,不受影响。,(二)数据库系统的体系结构,(,1,)逻辑数据独立性。当模式改变时(如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式,/,模式映像作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,因而应用程序不必修改,保证了数据与程序的逻辑独立性,简称逻辑数据独立性。,(,2,)物理数据独立性。当数据库的存储结构改变了(如选用了另一种存储结构),由数据库管理员对模式,/,内模式映像作相应改变,可以保证模式保持不变,因而应用程序也不必改变。保证了数据与程序的物理独立性,简称物理数据独立性。,任务,1-5,明确数据库系统的组成和体系结构,【任务实施】,通过本任务的学习,王宁的问题得到了答案,数据库的体系结构分为三级模式和两级映像,从而保证数据的两级独立性,即逻辑数据独立性和物理数据独立性。,任务,1-6,认识常见的,DBMS,【任务提出】,在学习了数据库、数据库管理系统、数据库系统等概念后,善于学习探索的王宁同学又有了新的疑问,现在常用的DBMS有哪些?又有哪些是我国的自主品牌呢?本任务将带领王宁同学一起揭晓答案。,Oracle,SQL Server,MySQL,PostgreSQL,(一)常见的国外,DBMS,GaussDB,(华为高斯数据库),DM,(达梦数据库),GBase,(南大通用数据库),HighGo DB,(瀚高数据库),(二)常见的国内,DBMS,任务,1-6,认识常见的,DBMS,【任务实施】,通过本任务的学习,王宁同学得到了问题的答案,目前国外常用的DBMS有Oracle、SQLServer、MySQL、PostGreSQL等,国内常用的DBMS有TDSQL、GaussDB、DM、GBase等。只有了解了常见DBMS的特点,才能在实际开发中选用合适的数据库管理系统为软件系统做数据支撑。,项目总结,本项目带领大家学习了数据和信息的概念、数据描述的三个世界、数据模型、关系代数以及数据库系统的组成和体系结构,最后,和大家一起学习了数据库管理技术的发展过程。,要求大家加强复习,增进理解。把各个知识点学会、领悟,能举一反三。,主要内容,重点要求大家掌握信息世界和机器世界的描述、关系模型、关系代数的各种运算的灵活应用、数据库系统的组成、数据库系统的三级模式与两级映像。,重难点要求,志存高远 自强不息,
展开阅读全文