一章数据库系统概述.ppt

上传人:sccc 文档编号:5500328 上传时间:2023-07-14 格式:PPT 页数:78 大小:364.54KB
返回 下载 相关 举报
一章数据库系统概述.ppt_第1页
第1页 / 共78页
一章数据库系统概述.ppt_第2页
第2页 / 共78页
一章数据库系统概述.ppt_第3页
第3页 / 共78页
一章数据库系统概述.ppt_第4页
第4页 / 共78页
一章数据库系统概述.ppt_第5页
第5页 / 共78页
点击查看更多>>
资源描述

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

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

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

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

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

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

6、变存储设备和增加新的存储设备,或改变数据的存储组织方式,均可确保数据的物理独立性。,2023/7/14,14,有统一的数据控制功能。数据的安全性(security)控制 数据的完整性(integrity)控制 并发(concurrency)控制 数据恢复(recovery),2023/7/14,15,三个概念:数据库、数据库管理系统、数据库系统是三个不同的概念。数据库强调的是数据,数据库管理系统是管理数据库的工具软件,数据库系统强调的则是一个整体系统。,2023/7/14,16,根据美国标准化协会和标准计划与需求委员会(ANSI/SPARS)提出的建议,数据库系统的内部体系结构是三级模式结构:

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

8、2023/7/14,19,3、内模式 也称存储模式或物理模式。它是数据物理结构和存储结构的描述,是数据在存储介质上的保存方式。例如:记录的存储方式是顺序存储、还是按照B树结构存储;索引按照什么方式组织;数据是否压缩存储,是否加密等。一个数据库只有一个内模式!,2023/7/14,20,三个模式反映了数据库的三种不同层面 模式:表示了概念级数据库,体现了数据库操作的接口层;内模式:表示了物理级数据库,体现了数据库操作的存储层;外模式:表示了用户级数据库,体现了数据库操作的用户层。,2023/7/14,21,2023/7/14,22,这里以职工管理数据库为例,进一步说明三级模式和数据库的三种层面,

9、以此加深理解。(见P6),2023/7/14,23,(1)某单位建立职工管理数据库,包含职工基本情况和工资情况,如表所示的两张二维表,把它们看作是从物理数据库中抽象出来的概念数据库。,2023/7/14,24,(2)在数据库中,需了解“文化程度”是“大专”的职工基本情况(左);需了解职工的岗位工资情况(右)。把它们(查询结果)看作是用户数据库,是概念数据库的一个个子集。,(3)存储在存储介质上的职工数据库就是物理数据库。,2023/7/14,25,4、模式间的映射 三级模式之间的联系是通过二级映射来实现的。实际的转换工作由数据库管理系统来完成。,2023/7/14,26,(1)外模式模式映射定

10、义了外模式与模式之间的对应关系。当模式改变时,由数据库管理员对各个外模式模式的映射作相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数据的逻辑独立性。,2023/7/14,27,(2)模式内模式映射模式内模式映射是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变了(例如:采用了更先进的存储结构),由数据库管理员对模式内模式映射作相应改变,可以使模式保持不变,从而保证了数据的物理独立性。,2023/7/14,28,1.4 数据模型,模型是对客观世界中复杂对象的抽象描述。例如:航模、车模。在数据库中用数据模型这个工具来描述现实世界中数据的结构、性质之间的

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

12、/14,31,信息世界 信息世界是对现实世界中事物及事物之间联系的抽象描述。例如:一个教师用编号、姓名、性别、职称、学历等来表征;一门课程用课程编号、课程名称、学时、学分、课程性质等来表征。计算机世界 计算机世界是将信息世界中的事物数据化后存入计算机系统。,2023/7/14,32,1.4.2 概念模型,概念模型用于信息世界的建模,也称信息模型。它是按用户的观点,在概念上表示数据库中存储什么事物以及事物之间的联系,而不管事物和联系如何在数据库中存储。,2023/7/14,33,1、概念模型中的基本概念(1)实体 客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念

13、或联系。例如:一个学生,一门课,一辆汽车;也可以是抽象的事件,如一堂课,一次比赛等。,2023/7/14,34,(2)属性 实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。例如:一个学生实体有学号、姓名、年龄、性别、班级等方面的属性。属性有型和“值”之分,型即为属性名,如姓名、年龄是属性的型;“值”即为属性的具体内容。,2023/7/14,35,(3)键(主键)唯一标识实体的属性或属性集称为键。例如:学号可以作为学生实体的键,但学生姓名可能有重名,因此不能作为学生实体的键。(4)域 属性的取值范围称为该属性的域。例如:学号的域为10位整数,姓名的域为字符串集合,性别的域为男和女。

14、,2023/7/14,36,(5)实体型 若干个属性型组成的集合是一实体型。例如:学生(学号,姓名,年龄,性别,所在系)就是一个实体型。(6)实体集 同型实体的集合称为实体集。例如:所有的学生、所有的课程等。,2023/7/14,37,(7)联系 现实世界中事物内部以及事物之间是有联系的,在信息世界中反映为实体内部的联系和实体之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系。实体之间的联系通常是指不同实体集之间的联系。,2023/7/14,38,2、两个实体间联系的类型(1)一对一联系(1:1)实体集A中的一个实体至多与实体集B中的一个实体相对应,反之亦然,则称实体集A与实体集B为

15、一对一的联系,记作1:1。例如:一个班级只有一个班长,一个班长只能管理一个班级。,2023/7/14,39,(2)一对多联系(1:n)如果对于实体集A中的每一个实体,实体集B中有多个实体与之对应,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之对应,则称实体集A与实体B有一对多联系,记为1:n。例如:学校的一个系有多名教师,而一个教师只属于一个系。,2023/7/14,40,(3)多对多联系(m:n)如果对于实体集A中的每一个实体,实体集B中有多个实体与之对应,反之,对于实体集B中的每一个实体,实体集A中也有多个实体与之对应,则称实体集A与实体B具有多对多联系,记为m:n。例如

16、:一个学生可以选修多门课程,一门课程可以被多名学生选修。,2023/7/14,41,3、实体-联系(Entity-Relationship)方法 实体-联系方法是最广泛使用的概念模型设计方法,该方法用E-R图来描述现实世界的概念模型。,2023/7/14,42,E-R图提供了表示实体型、属性和联系的方法(1)实体型:用矩形表示,矩形框内写明实体名。(2)属性:用椭圆形表示,并用连线将其与相应的实体连接起来。(3)联系:用菱形表示,菱形框内写明联系名,并用连线分别与有关实体连接起来,同时在连线旁标上联系的类型(1:1、1:n或m:n)。,2023/7/14,43,E-R图,2023/7/14,4

17、4,1.4.3 实施模型,概念模型是“概念”上的,而实施模型是按计算机系统的观点对数据建模,与具体的数据库管理系统有关,侧重于数据和联系的表示或存储方法。实施模型主要有层次模型、网状模型、关系模型,这三种数据模型的区别在于数据结构不同,即实体之间联系的表示方式不同。,2023/7/14,45,层次模型:用“树结构”来表示实体之间的联系;网状模型:用“图结构”来表示实体之间的联系;关系模型:用“二维表”来表示实体之间的联系。关系模型建立在严格的数学概念基础上,结构简单、清晰。因此,是数据模型的主流。,2023/7/14,46,1.5 关系数据库,1.5.1 关系模型和基本术语 1、关系模型 关系

18、模型的数据结构是一个“二维表框架”组成的集合,每个二维表又可称为关系,由行和列组成。,2023/7/14,47,2、关系术语(1)关系 一个关系就是一张二维表。(2)元组 表中第二行开始的每一行称为“元组”,即通常所说的“记录”,是构成关系的一个个实体。(3)属性 二维表中的一列即为一个属性,又称为字段,第一行列出的是属性名(字段名)。,2023/7/14,48,即“关系”是“元组”的集合,“元组”是属性值的集合。一个关系模型中的数据就是这样逐行逐列组织起来的。(4)域 属性的取值范围。(5)分量 元组中的一个属性值。关系模型要求关系必须是规范化的,最基本的条件就是,关系的每一个分量必须是一个

19、不可再分的数据项,即不允许表中还有表。,2023/7/14,49,(6)关系模式 对关系的描述,一般表示为:关系名(属性1,属性2,属性n)(7)关系数据库 对应于一个关系模型的所有关系的集合称为关系数据库。(8)候选关键字 关系中的某个属性组(一个或几个属性的集合),它可以唯一标识一个元组,这个属性组称为候选关键字。,2023/7/14,50,(9)主关键字 一个关系中有多个侯选关键字,可以选择其中一个作为主关键字,也称为主码或主键。(10)外部关键字 如果一个属性组不是所在关系的关键字,但是其他关系的关键字,则该属性组称为外部关键字,也称为外码或外键。(11)主属性 包含在任一候选关键字中

20、的属性称为主属性。,2023/7/14,51,1.5.2关系的数学定义,1、域 域是一组具有相同数据类型的值的集合。例如:教师职称的集合助教,讲师,副教授,教授就是一个域。,2023/7/14,52,2、笛卡儿积D1,D2,Dn为一组域,那么D1,D2,Dn的笛卡儿积为:D1D2Dn(d1,d2,dn)|diDi,i=1,2,n 其中每一个元素(d1,d2,dn)叫做一个n元组或简称元组,元组中的每一个值di叫做一个分量。,2023/7/14,53,例如:设D1=张三,李四,王五,赵六 D2=讲师,教授则D1D2=(张三,讲师),(张三,教授),(李四,讲师),(李四,教授),(王五,讲师),

21、(王五,教授),(赵六,讲师),(赵六,教授)笛卡儿积实际上就是一张二维表。,2023/7/14,54,3、关系的定义笛卡儿积D1D2Dn的任何一个子集称为D1,D2,Dn上的一个n 元关系。关系是笛卡儿积的有限子集,所以关系也是一个二维表。,2023/7/14,55,4、关系的性质 关系是一个二维表,但并不是所有的二维表都是关系。,2023/7/14,56,关系应具有以下性质:1)每一列中的分量是同一类型的数据,来自同一个域。2)不同的列要给予不同的属性名。3)列的顺序无所谓,即列的次序可以任意交换。4)任意两个元组不能完全相同。5)行的顺序无所谓,即行的次序可以任意交换。6)每一个分量都必

22、须是不可再分的数据项。,2023/7/14,57,1.5.3 关系模型的完整性约束,关系模型的完整性约束包括实体完整性、参照完整性和用户定义完整性。其中实体完整性和参照完整性统称为关系完整性规则,是对关系主键和外键的约束条件。,2023/7/14,58,1、实体完整性 实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。例1:学生关系:学生(学号,姓名,性别,班级)其中学号是主关键字,因此不能为空值,不能有重复值。,2023/7/14,59,1、实体完整性例2:学生选课关系:学生选课(学号,课程编号,学年,学期,成绩)其中学号和课程编号共同构成主关键字,因此学号和课程编号都不能为

23、空值,而且学号和课程编号这个整体不能有重复值。,2023/7/14,60,2、参照完整性 参照完整性规则:若属性(或属性组)F是基本关系R的外键,它与关系S的主关键字K相对应,则对于关系R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主关键字的值。,2023/7/14,61,2、参照完整性例1:“班级编号”是班级表的主键、学生表的外键。学生表中的“班级编号”必须是班级表中一个存在的值,或者是空值。例2:“学院代码”是学院表的主键、系部表的外键。系部表中的“学院代码”必须是学院表中一个存在的值,或者是空值。,2023/7/14,62,3、用户定义的完整性

24、 实体完整性和参照完整性是关系数据模型必须要满足的。而用户定义的完整性是与应用密切相关的数据完整性的约束,不是关系数据模型本身所要求的。它的作用是保证数据库中数据的正确性。例如:限定属性的取值范围。学生成绩的取值必须在0100,学院代码的取值必须在0099。,2023/7/14,63,1.6 关系代数,关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询要求的。关系代数的运算对象是关系,运算结果也是关系。关系代数的运算可以分为两大类:传统的集合运算和专门的关系运算。,2023/7/14,64,1.6.1 传统的集合运算,设R和S均是n元关系(元数相同

25、),且两个关系属性的性质相同。下面以教师A(如表1-5)和教师B(如表1-6)两个关系为例,来说明传统的集合运算:并运算、交运算和差运算。(P14),2023/7/14,65,1、并运算,两个关系的并运算记作RS,运算结果是将两个关系的所有元组组成一个新的关系,若有完全相同的元组,只留下一个。(见P14),2023/7/14,66,2、交运算,两个关系的交运算记作RS,运算结果是两个关系中公共元组组成一个新的关系。,2023/7/14,67,3、差运算,两个关系的差运算记作RS,运算结果是由属于R,但不属于S的元组组成一个新的关系。,2023/7/14,68,4、集合的广义笛卡儿积运算,设R和

26、S是两个关系,如果R是m元关系,有i个元组,S是n元关系,有j个元组,则笛卡儿积RS是一个m+n元关系,有ij个元组。,2023/7/14,69,1.6.2 专门的关系运算,在关系代数中,有4种专门的关系运算:选择、投影、连接和除运算。,2023/7/14,70,1.6.2 专门的关系运算,1、选择运算 从指定的关系中选择出满足指定条件的元组组成一个新关系。通常选择运算符记作:(R),其中,是选择运算符,R是关系名。例如:选出性别为“男”的教师名单,记成:性别=男(教师A),2023/7/14,71,2、投影运算 从指定关系中选择某些属性的所有值组成一个新关系,通常投影运算符记作:A(R)。其

27、中是投影运算符,A是被投影的属性或属性组。例如:列出所有教师的姓名、性别,记成:姓名,性别(教师A),2023/7/14,72,3、连接运算 用来连接相互之间有联系的两个或多个关系,从而组成一个新的关系。连接运算是一个复合型的运算,包含了笛卡儿积、选择和投影3种运算。通常记作:RS。,2023/7/14,73,3、连接运算 每一个连接操作都包括一个连接类型和一个连接条件。连接条件决定运算结果中元组的匹配和属性的去留;连接类型决定如何处理不符合条件的元组。有内连接、自然连接、左外连接、右外连接、全外连接等。(见P1618),2023/7/14,74,内连接按照公共属性值相等的条件连接,并且不消除

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

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号