一章数据库系统概述.ppt

上传人:本田雅阁 文档编号:2657672 上传时间:2019-04-30 格式:PPT 页数:78 大小:364.51KB
返回 下载 相关 举报
一章数据库系统概述.ppt_第1页
第1页 / 共78页
一章数据库系统概述.ppt_第2页
第2页 / 共78页
一章数据库系统概述.ppt_第3页
第3页 / 共78页
一章数据库系统概述.ppt_第4页
第4页 / 共78页
一章数据库系统概述.ppt_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《一章数据库系统概述.ppt》由会员分享,可在线阅读,更多相关《一章数据库系统概述.ppt(78页珍藏版)》请在三一文库上搜索。

1、2019/4/30,1,主讲人 徐万万,数据库及其应用系统开发,Access 2003,张迎新 主编,2019/4/30,2,第一章,数据库系统概述,2019/4/30,3,1.1 数据处理,数据处理技术的发展阶段 人工管理阶段 文件系统阶段 数据库系统阶段 分布式数据库系统 面向对象数据库系统,2019/4/30,4,1.2.1 数据库 数据库(Database,简称为DB)是长期存储在计算机内、有组织的、可共享的、统一管理的相关数据的集合。,1.2 数据库基本概念,2019/4/30,5,1.2.2 数据库管理系统 1、数据库管理系统(Database Management System,

2、简称DBMS)是位于用户与数据库之间的一个数据管理软件。 即用户不能直接接触数据库,只能通过DBMS来操作数据库。,2019/4/30,6,2数据库管理系统的功能,(1)数据定义功能 DBMS提供了数据描述语言(Data Description Language,DDL)来定义数据库的结构、数据之间的联系等。 (2)数据操纵功能 DBMS提供了数据操纵语言(Data Manipulation Language,DML)来完成用户对数据库提出的各种操作要求,实现数据的插入、检索、删除、修改等任务。,2019/4/30,7,(3)数据库运行管理 DBMS可以完成对数据库的安全性控制、完整性控制、多

3、用户环境下的并发控制等。 (4)数据库维护功能 DBMS还可以对已经建立好的数据库进行维护,比如数据字典的自动维护,数据库的备份、恢复等。 (5)数据库通信功能 DBMS应提供网络环境的数据库通信功能。,2019/4/30,8,1数据库系统的概念 数据库系统(DataBase System,简称DBS)是指采用了数据库技术的计算机应用系统。 实际上是一个集合体。,1.2.3 数据库系统,2019/4/30,9,(1) 数据库 (2) 数据库管理系统(核心组成部分) (3) 计算机硬件、软件(操作系统及各种配套实用程序)环境 (4) 管理和使用数据库系统的人员,可以分为四类:终端用户、应用程序员

4、、系统分析员、数据库管理员,数据库系统通常由四个部分组成:,2019/4/30,10,终端用户:(End User) 按照用户需求信息及获得信息方式的不同,可将终端用户分为操作层、管理层和决策层,他们通过应用系统的用户接口使用数据库。 应用程序员:(Application Programmer) 应用程序员根据数据库系统的功能需求,设计和编写应用系统的程序模块,并参与对程序模块的测试。 系统分析员:系统分析员是数据库系统建设期的主要参与人员,负责应用系统的需求分析和规范说明,确定系统的基本功能,数据库结构和应用程序的设计,以及软硬件的配置,并组织整个系统的开发。 数据库管理员:(Dadabas

5、e Administrator ) 简称DBA。全面负责建立、维护、管理和控制数据库系统。,2019/4/30,11, 数据冗余度低、共享性高。 数据独立性高。 数据的独立性包括逻辑独立性和物理独立性。(见下页),2、数据库系统的特点,2019/4/30,12,数据的逻辑独立性 指当数据的总体逻辑结构改变时,数据的局部逻辑结构不变,由于应用程序是依据数据的局部逻辑结构编写的,所以应用程序不必修改,从而保证了数据与程序间的逻辑独立性。 例如:在原有的记录类型之间增加新的关系,或在某些记录类型中增加新的数据项,均可确保数据的逻辑独立性。,2019/4/30,13,数据的物理独立性 指当数据的存储结

6、构改变时,数据的逻辑结构不变,从而应用程序也不必改变。 例如:改变存储设备和增加新的存储设备,或改变数据的存储组织方式,均可确保数据的物理独立性。,2019/4/30,14, 有统一的数据控制功能。 数据的安全性(security)控制 数据的完整性(integrity)控制 并发(concurrency)控制 数据恢复(recovery),2019/4/30,15,三个概念: 数据库、数据库管理系统、数据库系统是三个不同的概念。 数据库强调的是数据,数据库管理系统是管理数据库的工具软件,数据库系统强调的则是一个整体系统。,2019/4/30,16,根据美国标准化协会和标准计划与需求委员会 (

7、ANSI/SPARS) 提出的建议,数据库系统的内部体系结构是三级模式结构: 分别为模式、外模式和内模式。,1.3 数据库系统的体系结构,2019/4/30,17,1、模式一个数据库只有一个模式! 也称为概念模式。是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,是建立数据库的依据。 定义模式时不仅要定义数据的逻辑结构(例如:数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,还定义这些数据之间的联系。,2019/4/30,18,2、外模式 也称子模式或用户模式。 它是数据库用户(包括应用程序员和最终用户)看见和使用的局部数据

8、的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。,2019/4/30,19,3、内模式 也称存储模式或物理模式。 它是数据物理结构和存储结构的描述,是数据在存储介质上的保存方式。 例如:记录的存储方式是顺序存储、还是按照B树结构存储;索引按照什么方式组织;数据是否压缩存储,是否加密等。 一个数据库只有一个内模式!,2019/4/30,20,三个模式反映了数据库的三种不同层面 模式: 表示了概念级数据库,体现了数据库操作的接口层; 内模式:表示了物理级数据库,体现了数据库操作的存储层; 外模式:表示了用户级数据库,体现了数据库操作的用户层。,2019/4/30,

9、21,2019/4/30,22,这里以职工管理数据库为例,进一步说明三级模式和数据库的三种层面,以此加深理解。 (见P6),2019/4/30,23,(1)某单位建立职工管理数据库,包含职工基本情况和工资情况,如表所示的两张二维表,把它们看作是从物理数据库中抽象出来的概念数据库。,2019/4/30,24,(2)在数据库中,需了解“文化程度”是“大专”的职工基本情况(左);需了解职工的岗位工资情况(右)。把它们(查询结果)看作是用户数据库,是概念数据库的一个个子集。,(3) 存储在存储介质上的职工数据库就是物理数据库。,2019/4/30,25,4、模式间的映射 三级模式之间的联系是通过二级映

10、射来实现的。 实际的转换工作由数据库管理系统来完成。,2019/4/30,26,(1)外模式模式映射 定义了外模式与模式之间的对应关系。 当模式改变时,由数据库管理员对各个外模式模式的映射作相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数据的逻辑独立性。,2019/4/30,27,(2)模式内模式映射 模式内模式映射是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。 当数据库的存储结构改变了(例如:采用了更先进的存储结构),由数据库管理员对模式内模式映射作相应改变,可以使模式保持不变,从而保证了数据的物理独立性。,2019/4/30,28,1.4 数据模型,模型是对客观

11、世界中复杂对象的抽象描述。例如:航模、车模。 在数据库中用数据模型这个工具来描述现实世界中数据的结构、性质之间的联系等。 数据模型分成两个不同的层次:概念模型和实施模型(也称数据模型),2019/4/30,29,计算机不能直接处理现实世界中的具体事物,首先将现实世界的事物及联系抽象成信息世界的概念模型;然后再抽象成计算机世界的数据模型。 这一转换经历了现实世界、信息世界和计算机世界三个不同的世界。,2019/4/30,30,现实世界 现实世界中的事物由它的性质来表征。 例如:学校教学管理系统中,学院、系部、教师、班级、学生、课程是主要构成元素。 现实世界中事物与事物之间并非孤立,而是存在一定联

12、系的。 例如:教师授课、学生选课,教师、学生、课程是相互关联的。,1.4.1 现实世界、信息世界和计算机世界,2019/4/30,31,信息世界 信息世界是对现实世界中事物及事物之间联系的抽象描述。 例如:一个教师用编号、姓名、性别、职称、学历等来表征;一门课程用课程编号、课程名称、学时、学分、课程性质等来表征。 计算机世界 计算机世界是将信息世界中的事物数据化后存入计算机系统。,2019/4/30,32,1.4.2 概念模型,概念模型用于信息世界的建模,也称信息模型。 它是按用户的观点,在概念上表示数据库中存储什么事物以及事物之间的联系,而不管事物和联系如何在数据库中存储。,2019/4/3

13、0,33,1、概念模型中的基本概念 (1)实体 客观存在并可相互区别的事物称为实体。 实体可以是具体的人、事、物,也可以是抽象的概念或联系。 例如:一个学生,一门课,一辆汽车;也可以是抽象的事件,如一堂课,一次比赛等。,2019/4/30,34,(2)属性 实体所具有的某一特性称为属性。 一个实体可以由若干个属性来刻画。 例如:一个学生实体有学号、姓名、年龄、性别、班级等方面的属性。 属性有“型“和“值”之分,“型“即为属性名,如姓名、年龄是属性的型;“值”即为属性的具体内容。,2019/4/30,35,(3)键 (主键) 唯一标识实体的属性或属性集称为键。 例如:学号可以作为学生实体的键,但

14、学生姓名可能有重名,因此不能作为学生实体的键。 (4)域 属性的取值范围称为该属性的域。 例如:学号的域为10位整数,姓名的域为字符串集合,性别的域为男和女。,2019/4/30,36,(5)实体型 若干个属性型组成的集合是一实体型。例如:学生(学号,姓名,年龄,性别,所在系)就是一个实体型。 (6)实体集 同型实体的集合称为实体集。 例如:所有的学生、所有的课程等。,2019/4/30,37,(7)联系 现实世界中事物内部以及事物之间是有联系的,在信息世界中反映为实体内部的联系和实体之间的联系。 实体内部的联系通常是指组成实体的各属性之间的联系。 实体之间的联系通常是指不同实体集之间的联系。

15、,2019/4/30,38,2、两个实体间联系的类型 (1)一对一联系(1:1) 实体集A中的一个实体至多与实体集B中的一个实体相对应,反之亦然,则称实体集A与实体集B为一对一的联系,记作1:1。 例如:一个班级只有一个班长,一个班长只能管理一个班级。,2019/4/30,39,(2)一对多联系(1:n) 如果对于实体集A中的每一个实体,实体集B中有多个实体与之对应,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之对应,则称实体集A与实体B有一对多联系,记为1:n。 例如:学校的一个系有多名教师,而一个教师只属于一个系。,2019/4/30,40,(3)多对多联系(m:n) 如

16、果对于实体集A中的每一个实体,实体集B中有多个实体与之对应,反之,对于实体集B中的每一个实体,实体集A中也有多个实体与之对应,则称实体集A与实体B具有多对多联系,记为m:n。 例如:一个学生可以选修多门课程,一门课程可以被多名学生选修。,2019/4/30,41,3、实体-联系(Entity-Relationship)方法 实体-联系方法是最广泛使用的概念模型设计方法,该方法用E-R图来描述现实世界的概念模型。,2019/4/30,42,E-R图提供了表示实体型、属性和联系的方法 (1)实体型:用矩形表示,矩形框内写明实体名。 (2)属性:用椭圆形表示,并用连线将其与相应的实体连接起来。 (3

17、)联系:用菱形表示,菱形框内写明联系名,并用连线分别与有关实体连接起来,同时在连线旁标上联系的类型(1:1、1:n或m:n)。,2019/4/30,43,E-R图,2019/4/30,44,1.4.3 实施模型,概念模型是“概念”上的,而实施模型是按计算机系统的观点对数据建模,与具体的数据库管理系统有关,侧重于数据和联系的表示或存储方法。 实施模型主要有层次模型、网状模型、关系模型,这三种数据模型的区别在于数据结构不同,即实体之间联系的表示方式不同。,2019/4/30,45,层次模型:用“树结构”来表示实体之间的联系; 网状模型:用“图结构”来表示实体之间的联系; 关系模型:用“二维表”来表

18、示实体之间的联系。关系模型建立在严格的数学概念基础上,结构简单、清晰。因此,是数据模型的主流。,2019/4/30,46,1.5 关系数据库,1.5.1 关系模型和基本术语 1、关系模型 关系模型的数据结构是一个“二维表框架”组成的集合,每个二维表又可称为关系,由行和列组成。,2019/4/30,47,2、关系术语 (1)关系 一个关系就是一张二维表。 (2)元组 表中第二行开始的每一行称为“元组”,即通常所说的“记录”,是构成关系的一个个实体。 (3)属性 二维表中的一列即为一个属性,又称为字段,第一行列出的是属性名(字段名)。,2019/4/30,48,即 “关系”是“元组”的集合,“元组

19、”是属性值的集合。一个关系模型中的数据就是这样逐行逐列组织起来的。 (4)域 属性的取值范围。 (5)分量 元组中的一个属性值。 关系模型要求关系必须是规范化的,最基本的条件就是,关系的每一个分量必须是一个不可再分的数据项,即不允许表中还有表。,2019/4/30,49,(6)关系模式 对关系的描述,一般表示为: 关系名(属性1,属性2, ,属性n) (7)关系数据库 对应于一个关系模型的所有关系的集合称为关系数据库。 (8)候选关键字 关系中的某个属性组(一个或几个属性的集合),它可以唯一标识一个元组,这个属性组称为候选关键字。,2019/4/30,50,(9)主关键字 一个关系中有多个侯选

20、关键字,可以选择其中一个作为主关键字,也称为主码或主键。 (10)外部关键字 如果一个属性组不是所在关系的关键字,但是其他关系的关键字,则该属性组称为外部关键字,也称为外码或外键。 (11)主属性 包含在任一候选关键字中的属性称为主属性。,2019/4/30,51,1.5.2关系的数学定义,1、域 域是一组具有相同数据类型的值的集合。 例如:教师职称的集合助教,讲师,副教授,教授就是一个域。,2019/4/30,52,2、笛卡儿积 D1,D2,Dn为一组域,那么D1,D2,Dn的笛卡儿积为: D1D2Dn(d1,d2,dn) | diDi ,i=1,2,n 其中每一个元素(d1,d2,dn)叫

21、做一个n元组或简称元组,元组中的每一个值di叫做一个分量。,2019/4/30,53,例如: 设D1=张三,李四,王五,赵六 D2=讲师,教授 则D1D2=(张三, 讲师), (张三, 教授), (李四, 讲师), (李四, 教授), (王五, 讲师), (王五, 教授), (赵六, 讲师), (赵六, 教授) 笛卡儿积实际上就是一张二维表。,2019/4/30,54,3、关系的定义 笛卡儿积D1D2Dn的任何一个子集称为D1,D2,Dn上的一个n 元关系。 关系是笛卡儿积的有限子集,所以关系也是一个二维表。,2019/4/30,55,4、关系的性质 关系是一个二维表,但并不是所有的二维表都是

22、关系。,2019/4/30,56,关系应具有以下性质: 1)每一列中的分量是同一类型的数据,来自同一个域。 2)不同的列要给予不同的属性名。 3)列的顺序无所谓,即列的次序可以任意交换。 4)任意两个元组不能完全相同。 5)行的顺序无所谓,即行的次序可以任意交换。 6)每一个分量都必须是不可再分的数据项。,2019/4/30,57,1.5.3 关系模型的完整性约束,关系模型的完整性约束包括实体完整性、参照完整性和用户定义完整性。 其中实体完整性和参照完整性统称为关系完整性规则,是对关系主键和外键的约束条件。,2019/4/30,58,1、实体完整性 实体完整性规则:若属性A是基本关系R的主属性

23、,则属性A不能取空值。 例1:学生关系: 学生(学号,姓名,性别,班级) 其中学号是主关键字,因此不能为空值,不能有重复值。,2019/4/30,59,1、实体完整性 例2:学生选课关系: 学生选课(学号,课程编号,学年,学期,成绩) 其中学号和课程编号共同构成主关键字,因此学号和课程编号都不能为空值,而且学号和课程编号这个整体不能有重复值。,2019/4/30,60,2、参照完整性 参照完整性规则:若属性(或属性组)F是基本关系R的外键,它与关系S的主关键字K相对应,则对于关系R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主关键字的值。,2019/

24、4/30,61,2、参照完整性 例1:“班级编号”是班级表的主键、学生表的外键。 学生表中的“班级编号”必须是班级表中一个存在的值,或者是空值。 例2:“学院代码”是学院表的主键、系部表的外键。 系部表中的“学院代码”必须是学院表中一个存在的值,或者是空值。,2019/4/30,62,3、用户定义的完整性 实体完整性和参照完整性是关系数据模型必须要满足的。 而用户定义的完整性是与应用密切相关的数据完整性的约束,不是关系数据模型本身所要求的。 它的作用是保证数据库中数据的正确性。例如:限定属性的取值范围。学生成绩的取值必须在0100,学院代码的取值必须在0099。,2019/4/30,63,1.

25、6 关系代数,关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询要求的。 关系代数的运算对象是关系,运算结果也是关系。 关系代数的运算可以分为两大类:传统的集合运算和专门的关系运算。,2019/4/30,64,1.6.1 传统的集合运算,设R和S均是n元关系(元数相同),且两个关系属性的性质相同。 下面以教师A(如表1-5)和教师B(如表1-6)两个关系为例,来说明传统的集合运算:并运算、交运算和差运算。(P14),2019/4/30,65,1、并运算,两个关系的并运算记作RS,运算结果是将两个关系的所有元组组成一个新的关系,若有完全相同的元组,只

26、留下一个。(见P14),2019/4/30,66,2、交运算,两个关系的交运算记作RS,运算结果是两个关系中公共元组组成一个新的关系。,2019/4/30,67,3、差运算,两个关系的差运算记作RS,运算结果是由属于R,但不属于S的元组组成一个新的关系。,2019/4/30,68,4、集合的广义笛卡儿积运算,设R和S是两个关系,如果R是m元关系,有i个元组,S是n元关系,有j个元组,则笛卡儿积RS是一个m+n元关系,有ij个元组。,2019/4/30,69,1.6.2 专门的关系运算,在关系代数中,有4种专门的关系运算:选择、投影、连接和除运算。,2019/4/30,70,1.6.2 专门的关

27、系运算,1、选择运算 从指定的关系中选择出满足指定条件的元组组成一个新关系。通常选择运算符记作: (R),其中,是选择运算符,R是关系名。 例如:选出性别为“男”的教师名单,记成: 性别=男(教师A),2019/4/30,71,2、投影运算 从指定关系中选择某些属性的所有值组成一个新关系,通常投影运算符记作: A(R)。 其中是投影运算符,A是被投影的属性或属性组。 例如:列出所有教师的姓名、性别,记成: 姓名,性别(教师A),2019/4/30,72,3、连接运算 用来连接相互之间有联系的两个或多个关系,从而组成一个新的关系。 连接运算是一个复合型的运算,包含了笛卡儿积、选择和投影3种运算。

28、通常记作:RS。,2019/4/30,73,3、连接运算 每一个连接操作都包括一个连接类型和一个连接条件。 连接条件决定运算结果中元组的匹配和属性的去留;连接类型决定如何处理不符合条件的元组。 有内连接、自然连接、左外连接、右外连接、全外连接等。(见P1618),2019/4/30,74,内连接 按照公共属性值相等的条件连接,并且不消除重复属性。 自然连接 按照公共属性值相等的条件连接,并且消除重复属性,这是最常用的一种连接,自然连接的运算符用表示。 左外连接 在内连接的基础上,保留左关系中不能匹配条件的元组,并将右关系的属性填为空值。 右外连接(与左外连接反向) 全外连接 左外连接与右外连接

29、的组合。,2019/4/30,75,4、除运算 除法运算表示为RS。 除法运算应满足的条件是:关系S的属性全部包含在关系R中,关系R的一些属性不包含在关系S中。 除法运算的结果也是关系,关系中的属性由R中除去S中的属性之外的全部属性组成,元组由R与S中在所有相同属性上有相等值的那些元组组成。,2019/4/30,76,例如:从学生选课表中挑出选了C23、C24和C25三门课的学生的学号。,2019/4/30,77,本章小结,数据库的三种模式对应了数据库的结构,模式、内模式和外模式分别是数据库的全局逻辑结构、物理结构和局部逻辑结构。 数据模型有三种:网状、层次和关系型。 关系型数据库的模式是静止的,关系是关系模式某一时刻的取值,是动态的。 关系型数据库从三方面考虑完整性,一是实体完整性,二是参照完整性,三是用户定义完整性。 关系代数是关系数据库操作的理论基础,尤其是选择、投影和连接运算。,2019/4/30,78,本章作业,一、选择题 (P20-1,3,5,10,13,18) 二、判断题 (P21) 三、简答题 (P22-1,3),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1