数据库学习课件_第1页
数据库学习课件_第2页
数据库学习课件_第3页
数据库学习课件_第4页
数据库学习课件_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

要求:了解数据库的三个发展阶段及各阶段的主要特点,掌握数据库中的有关的基本概念、数据库系统的组成及各部分的主要功能。重点:掌握实体、属性定义和实体型之间的联系类型及特点。2023/9/262023/8/1第1章

1963年:

美国Honeywell公司IDS(IntegratedDataStore)系统投入运行1965年:美火箭公司用IDS帮助设计阿波罗登月火箭1968年:IBM公司:层次IMS1969年:

美CODASYL:网状DBTG标准1970年:

IBM的E.F.Codd提出关系模型(1981)20世纪70年代以层次、网状为主流20世纪80年代关系系统逐渐代替层次与网状模型了解数据库发展的主要历程2023/9/26第1章1963年:美国Honeywell公司IDS(In1.1.1基本概念1.1数据管理技术的发展概况

存储在某种媒体上可加以鉴别的符号资料。即对现实世界中客观事物的符号表示(描述事物的符号记录),可以是数值数据,也可以是非数值数据,如声音、图像等。

数据

2023/9/261.1.1基本概念1.1数据管理技术的发展概况存储数据管理技术

对数据的收集、整理、组织、存储、维护、检索、传送等操作,基本目的就是从大量的,杂乱无章的,难以理解的数据中筛选出有意义的数据。2023/9/26数据管理技术对数据的收集、整理、组织、存储、维护

数据库(DB:DataBase)

长期储存在计算机内的有组织的、可共享的相关数据的集合。2023/9/26数据库(DB:DataBase)长期储存在数据库管理系统(DBMS:DataBaseManagementSystem)

DBMS是介于用户与操作系统之间的一层数据管理软件。为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS是基于某种数据模型。2023/9/26数据库管理系统2023/8/1

数据库系统(DBS)通常是指带有数据库的计算机应用系统。包括数据库、相应的硬件、软件和各类人员。硬件操作系统DBMS应用软件应用程序包

数据库系统(DBS:DataBaseSystem)2023/9/26数据库系统(DBS)通常是指带有数据库的计算机应1.1.2数据管理技术的发展数据管理技术的四个阶段:(1)人工管理阶段(20世纪50年代中期以前)(2)文件系统阶段(20世纪50年代后期——60年代中期)(3)数据库系统阶段(20世纪60年代后期——今)(4)高级数据库技术阶段(20世纪60年代——今)硬件(外存贮器)和软件的发展应用需求扩大2023/9/261.1.2数据管理技术的发展数据管理技术的四个阶段:硬件●人工管理阶段(---50年代中期)应用程序1应用程序2应用程序n数据集1数据集2数据集n…背景:●

计算机主要用于科学计算●外存为顺序存取设备●没有操作系统及数据管理软件

特点:●

用户完全负责数据管理工作●数据完全面向特定的应用程序●数据与程序没有独立性

2023/9/26●人工管理阶段(---50年代中期)应用程序1应用程序2

●文件系统阶段(---60年代中期)文件系统……数据集1数据集2数据集3应用程序1应用程序2应用程序n背景:●

计算机不但用于科学计算,还用于管理●

外存有了磁盘、磁鼓等直接存取设备●

有了专门管理数据的软件:文件系统特点:●

数据可以长期保存●

共享性差●

数据与程序有一定的独立性

2023/9/26●文件系统阶段(---60年代中期)文件……数据集1数●数据库系统阶段(60年代末期)…应用程序1应用程序2应用程序n数据库

数据库管理系统DBMS背景:●计算机管理的数据量大,关系复杂,共享性要求强●外存有了大容量磁盘,光盘●软件价格上升,硬件价格下降。特点:●数据有整体的结构性●由DBMS统一存取,维护数据语义及结构●数据共享性好●

数据与程序完全相互独立2023/9/26●数据库系统阶段(60年代末期)…应用程序1应用程序2应1.2数据模型

数据模型(DataModel)是现实世界数据特征的抽象。数据模型从本质上来说,是数据间相互联系或者说约束条件的描述。数据模型正是从一般抽象的层面上模拟和描述了数据库系统的静态特征、动态行为和约束条件。2023/9/261.2数据模型数据模型(Data•象盖大楼的设计图一样,DM可使所有的项目参与者都有一个共同的数据标准•避免出现问题再解决(边干便改的方式)•可及早发现问题•加快应用开发速度为什么要建立数据模型?2023/9/26为什么要建立数据模型?2023/8/1描述系统的静态特性。数据结构是所研究的对象类型的集合,它是刻画一个数据模型性质最重要的方面。在数据库系统中,人们通常按照其数据结构的类型来命名数据模型。1.2.1数据模型的组成要素三个要素:数据结构、数据操作和数据的约束条件数据结构2023/9/261.2.1数据模型的组成要素三个要素:数据结构、数据操作数据操作用于描述系统的动态特性。数据操作是对数据库中各种数据操作的集合,包括操作及相应的操作规则。如数据的检索、插入、删除和修改等。数据操作2023/9/26数据操作2023/8/1数据的约束条件是一组完整性规则的集合。数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。例如,在学生数据库中,学生的年龄不得超过40岁。数据的约束条件2023/9/26数据的约束条件是一组完整性规则的集合。数据的约束条件20231.2.2概念模型

三个世界的划分由于计算机不能直接处理现实世界中的具体事物,所以人们必须将具体事物转换成计算机能够处理的数据。在数据库中用数据模型来抽象、表示和处理现实世界中的数据。数据库即是模拟现实世界中某应用环境(一个企业、单位或部门)所涉及的数据的集合,它不仅要反映数据本身的内容,而且要反映数据之间的联系。2023/9/261.2.2概念模型2023/8/1现实世界信息世界认识抽象计算机世界

在实际的数据处理中,首先将现实世界的事物及联系抽象成信息世界的信息模型,然后再抽象成计算机世界的数据模型。2023/9/26现实世界信息世界认识抽象计算机世界在实际的数据处理客观存在并且可以相互区别的“事物”称为实体。实体可以是可触及的对象,如一个学生,一本书,一辆汽车;也可以是抽象的事件,如一堂课,一次比赛等。信息世界中的基本概念实体(Entity)2023/9/26信息世界中的基本概念实体(Entity)2023/8/1实体的某一特性如学生实体有学号、姓名、年龄、性别、系等方面的属性。属性有“型”和“值”之分,“型”即为属性名,如姓名、年龄、性别是属性的型;“值”即为属性的具体内容,如(990001,张立,20,男,计算机)这些属性值的集合表示了一个学生实体。属性(Atttribute)2023/9/26实体的某一特性属性(Atttribute)2023/8/1用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。如:学生(学号,姓名,年龄,性别,系)就是一个实体型。实体型(EntityType)实体集(EntitySet)同型实体的集合称为实体集。如:所有的学生、所有的课程等。2023/9/26实体型(EntityType)实体集(EntitySet能唯一标识一个实体的属性或属性集称为实体的键。如:学生的学号,学生的姓名可能有重名,不能作为学生实体的键。码或键(Key)域(Domain)属性值的取值范围称为该属性的域。如:学号的域为6位整数,姓名的域为字符串集合,年龄的域为小于40的整数,性别的域为(男,女)。2023/9/26码或键(Key)域(Domain)2023/8/1在信息世界中联系将被抽象为实体型内部的联系和实体型之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。联系(Relationship)2023/9/26联系(Relationship)2023/8/1两个实体型之间的联系有如下三种类型:一对一联系(1:1)

实体集A中的一个实体至多与实体集B中的一个实体相对应,反之亦然。如:班级与班长,观众与座位,病人与床位

一对多联系(1:n)

实体集A中的一个实体与实体集B中的多个实体相对应,而B中的一个实体至多与A中的一个实体相对应.如:班级与学生、公司与职员、省与市

多对多(m:n)

实体集A中的一个实体与实体集B中的多个实体相对应,反之亦然.如:教师与学生,学生与课程,工厂与产品

2023/9/26两个实体型之间的联系有如下三种类型:2023/8/1字段(Field)

对应于属性的数据称为字段,也称为数据项。字段的命名往往和属性名相同。如学生有学号、姓名、年龄、性别、系等字段。记录(Record)

对应于每个实体的数据称为记录。如一个学生(990001,张立,20,男,计算机)为一个记录。文件(File)对应于实体集的数据称为文件。如所有学生的记录组成了一个学生文件。

计算机世界中的基本概念2023/9/26字段(Field)计算机世界中的基本概念2023/8/1实体名矩形框表示实体型属性名椭圆形表示属性菱形表示联系联系名

连接实体型与联系类型,也可用于表示实体与属性的联系并注明种类;对构成码的属性,在属性名下画一横线表示。E-R模型(EntityRelationshipModel)

2023/9/26实体名矩形框表示实体型属性名椭圆形表示属性菱形表示联系联系名学生课程选修姓名学号系别课程名主讲教师成绩先修课用矩形表示实体集,在框内写上实体名用椭圆表示实体的属性用无向边把实体与其属性连接起来用菱形表示实体间的联系将参与联系的实体用线段连接mn2023/9/26学生课程选修姓名学号系别课程名主讲教师成绩先修课用矩形表示实确定所有实体集合选择实体集应包含的属性确定实体集之间的联系确定实体集的关键字确定联系的类型设计E-R图过程:2023/9/26确定所有实体集合设计E-R图过程:2023/8/12023/9/262023/8/1例:工厂产品、零件、材料和仓库的E-R图:

某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。产品零件材料仓库产品零件材料仓库组成制造存储存放组成制造存储存放2023/9/26例:工厂产品、零件、材料和仓库的E-R图:某2023/9/262023/8/11.2.3最常用的数据模型数据模型的好坏,直接影响数据库的性能。数据模型的选择,是设计数据库的一项首要任务。常用的三种数据模型:

层次模型(HierarchicalModel):“树结构”

网状模型(NetworkModel):“图结构”

关系模型(RelationalModel):“二维表”近代出现了一种新的数据模型——面向对象的数据模型

2023/9/261.2.3最常用的数据模型2023/8/11.2.4层次模型层次模型是数据库系统中最早出现的数据模型,典型代表是IBM公司的IMS(InformationManagementSystem)数据库管理系统。现实世界中,许多实体之间的联系都表现出一种很自然的层次关系,如家族关系,行政机构等。2023/9/261.2.4层次模型2023/8/1每个结点表示一个记录类型.结点A为根结点,D,E,F为叶结点,B,C为兄结点……

ABCDEF层次模型有向树的示意图

存取某一记录型的记录,可以从根结点起,按照有向树层次向下查找任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在2023/9/26每个结点表示一个记录类型.结点A为根结点,D,E,F为叶结层次模型例子D#DNDLR#RNS#SNSST#TNTDTS教研室R学生S

TS数据库模型

2023/9/26层次模型例子D#DNDLR#层次模型的数据操纵与数据完整性约束:层次模型的数据操纵主要有查询、插入、删除和修改,进行插入、删除和修改操作时要满足层次模型的完整性约束条件。

插入操作:如果没有相应的双亲结点值就不能插入子女结点值;

删除操作:如果删除双亲结点值,则相应的子女结点值也被同时删除;修改操作:应修改所有相应的记录,以保证数据的一致性。2023/9/26层次模型的数据操纵与数据完整性约束:2023/8/1层次模型的优缺点:主要优点:(1)比较简单,只需很少几条命令就能操纵数据库,比较容易使用。(2)结构清晰,结点间联系简单,只要知道每个结点的双亲结点,就可知道整个模型结构。(3)提供了良好的数据完整性支持。2023/9/26层次模型的优缺点:2023/8/1主要缺点:(1)不能直接表示两个以上的实体型间的复杂的联系和实体型间的多对多联系,只能通过引入冗余数据或创建虚拟结点的方法来解决,易产生不一致性。(2)对数据的插入和删除的操作限制太多。(3)查询子女结点必须通过双亲结点。2023/9/26主要缺点:2023/8/11.2.5网状模型网状模型能比层次模型更好地表现非层次关系。20世纪70年代,数据系统语言研究会CODASYL(ConferenceOnDataSystemLanguage)下属的数据库任务组DBTG(DataBaseTaskGroup)提出了一个系统方案,DBTG系统,也称CODASYL系统,成为了网状模型的代表。2023/9/261.2.5网状模型2023/8/1

网状模型的数据结构:

图在图中,有一个以上的结点没有双亲至少有一个结点可以有多于一个双亲。学生课程一个学生可以选修多门课程,一门课程可以由多个学生选修2023/9/26网状模型的数据结构:图学生课程一个学生可以选修多门课程,一网状模型的数据操纵与完整性约束插入数据:允许插入尚未确定双亲结点值的子女结点值如可增加一名尚未分配到某个教研室的新教师,也可增加一些刚来报到,还未分配宿舍的学生。删除数据:允许只删除双亲结点值如可删除一个教研室,而该教研室所有教师的信息仍保留在数据库中。修改数据:只需更新指定记录即可。2023/9/26网状模型的数据操纵与完整性约束2023/8/1网状模型的优缺点主要优点:能更为直接地描述客观世界,可表示实体间的多种复杂联系。具有良好的性能和存储效率主要缺点:结构复杂,其DDL语言极其复杂数据独立性差,由于实体间的联系本质上是通过存取路径表示的,因此应用程序在访问数据时要指定存取路径。2023/9/26网状模型的优缺点2023/8/11.2.6关系模型1970年美国IBM公司的研究员E.F.Codd首次提出了数据库系统的关系模型。他发表了题为“大型共享数据银行数据的关系模型”(ARelationModelofDataforLargeSharedDataBanks),开创了数据库的关系方法和数据规范化理论的研究,他为此获得了1981年的图灵奖。关系数据库已成为目前应用最广泛的数据库系统,如

Foxpro、Acess,Oracle、Informix、Sybase、SQLServer等。2023/9/261.2.6关系模型2023/8/1(1)关系模型的数据结构是“二维表框架”组成的集合,每个二维表又可称为关系,所以关系模型是“关系框架”的集合。

与层次模型、网状模型不同,它建立在严格的数学概念之上的。

2023/9/26(1)关系模型的数据结构2023/8/1关系T(教师表)TNO教师号TN姓名SEX性别AGE年龄PROF职称SAL工资COMM岗位津贴DEPT系别T1李力男47教授15003000计算机T2王平女28讲师8001200信息T3刘伟男30讲师9001200计算机T4张雪女51教授16003000自动化T5张兰女39副教授13002000信息2023/9/26关系T(教师表)TNOTNSEXAGE年龄PROFSALC关系S(学生表)SNO学号SN姓名SEX性别AGE年龄DEPT系别S1赵亦女17计算机S2钱尔男18信息S3孙珊女20信息S4李思男21自动化S5周武男19计算机S6吴丽女20自动化2023/9/26关系S(学生表)SNOSNSEXAGEDEPTS1赵亦女17关系C(课程表)CNO课程号CN课程名CT课时C1程序设计60C2微机原理80C3数字逻辑60C4数据结构80C5数据库60C6编译原理60C7操作系统602023/9/26关系C(课程表)CNOCNCTC1程序设计60C2微机原理8关系SC(选课表)

关系TC(授课表)

SNO学号CNO课程号SCORE成绩

TNO教师号CNO课程号S1C190

T1C1S1C285

T1C4S2C457

T2C5S2C580

T3C1S2C669

T3C5S2C770

T4C2S3C10

T4C3S3C270

T5C5S3C485

T5C7S4C193

S4C285

S4C383

S5C289

2023/9/26关系SC(选课表)关系TC(授课表关系(Relation)一个关系对应一张二维表.如前面给出的五张表对应五个关系元组(Tuple)表格中的一行.如S表中的一个学生记录即为一个元组属性(Attribute)

表格中的一列.相当于记录中的一个字段,如S表中有五个属性(学号,姓名,性别,年龄,系别)(2)关系模型中的基本概念2023/9/26关系(Relation)(2)关系模型中的基本概念2023/

关键字(Key)

可唯一标识元组的属性或属性集,也称为关系键或主码.如S表中学号可以唯一确定一个学生,为学生关系的主码域(Domain)

属性的取值范围.如年龄的域是(14--40),性别的域是(男,女)分量

每一行对应的列的属性值,即元组中的一个属性值.如学号、姓名、年龄等均是一个分量2023/9/26关键字(Key)2023/8/1关系模式§对关系的描述,一般表示为:关系名(属性1,属性2,……属性n),如:学生(学号,姓名,性别,年龄,系别)§在关系模型中,实体是用关系来表示的,如:学生(学号,姓名,性别,年龄,系别)课程(课程号,课程名,课时)§实体间的关系也是用关系来表示的,如:学生和课程之间的关系:选课关系(学号,课程号,成绩)2023/9/26关系模式2023/8/1关系模型的优缺点主要优点:

它有较强的数学理论根据

数据结构简单、清晰,用户易懂易用

关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库建立和开发的工作。主要缺点:

由于存取路径对用户透明,查询效率往往不如非关系模型,因此,为了提高性能,必须对用户的查询表示进行优化,增加了开发数据库管理系统的负担。2023/9/26关系模型的优缺点2023/8/11.3数据库系统的结构内部的体系结构:从DBMS的角度看,数据库系统通常采用三级模式结构

外部的体系结构:从数据库最终用户的角度看,数据库系统的结构分为集中式结构、分布式结构和客户/服务器结构。2023/9/261.3数据库系统的结构2023/8/11.3.1数据库系统模式的概念模式(Schema)是数据库中全体数据的逻辑结构和特征的描述。如:学生记录定义为(学号、姓名、性别、系别、年龄),称为记录型而(001101,张立,男,计算机,20)则是该记录型的一个记录值。模式只是对记录型的描述,而与具体的值无关。2023/9/261.3.1数据库系统模式的概念2023/8/1应用1应用2应用n……子模式1……子模式m子模式/模式映象模式模式/内模式映象内模式数据库

数据库系统的三级模式结构

DBMS把数据库从逻辑上分为三级,即外模式、模式和内模式.2023/9/26应用1应用2应用n……子模式1……子模式m子模式/模式映象模三个模式反映了看待数据库的三个角度2023/9/26三个模式反映了看待数据库的三个角度2023/8/1§模式

模式(Schema)又称概念模式或概念视图,是数据库中全体数据的逻辑结构和特征的描述.

视图可理解为一组记录的值,用户或程序员看到和使用的数据库的内容。

模式处于三级结构的中间层,是用户共同视图。2023/9/26§模式2023/8/1§外模式

又称子模式或用户模式或外视图.

是个别用户看到和使用的数据库内容,因此也常把外视图称为用户数据库。

从逻辑关系上看,外模式包含于概念模式。2023/9/26§外模式2023/8/1§内模式

又称存储模式或内视图

与实际存储数据方式有关的一层,由多个存储记录组成,但并非物理层,不必关心具体的存储位置。

外模式可有多个,而概念模式、内模式只能各有一个。

与前两种模式的区别:内模式是整个数据库实际存储的表示,而概念模式是整个数据库实际存储的抽象表示,外模式是概念模式的某一部分的抽象表示。2023/9/26§内模式2023/8/1实例:一个有关人事关系的概念模式描述外模式(PL/I)

外模式(COBOL)

DCL1EMPP2ENP#CHAR(6),3SALFIXEDBIN(31)01EMPC02EMPNOPICX(6),03DEPTNOPICX(4)概念模式

ENPLOYEEENPLOYEE-NUMBERCHARACTER(6)DEPARTMENT_NUMBERCHARTER(4)SALARYNUMERIC(5)内模式

STORED_EMPBYTES=20PREFIXTYPE=BYTES(6),OFFSET=0EMP#TYPE=BYTES(6),OFFSET=6,INDEX=EMPXDEPT#TYPE=BYTES(4),OFFSET=12PAYTYPE=FULLWORD,OFFSET=162023/9/26实例:一个有关人事关系的概念模式描述外模式(PL/I)

视图举例:民航售票系统包括处理航班程序和处理旅客程序。-程序的使用人员不必知道关于人事档案、丢失的行李、飞行员的航行分配等信息;-

调度员可能需要知道关于航班、飞机和人事档案等信息(如那些飞行员有资格驾驶747),但不必知道雇员的工资、旅客等信息。所以可以为订票部门建立一个数据库视图,为调度部门建立另一个完全不同的视图。NOTE:视图处理的数据并不实际存储在数据库中,而仅可以从逻辑数据库中构造出来2023/9/26视图举例:NOTE:视图处理的数据并不实际存储在数据库中,1.3.3数据库系统的二级映象与数据独立性有了三级模式结构,用户不必关心数据在计算机内部的存储方式,数据的具体组织交给DBMS管理。为了能够在内部实现这三个抽象层次的联系和转换,DBMS在三级模式之间提供了二级映象功能。2023/9/261.3.3数据库系统的二级映象与数据独立性2023/8/1§模式/内模式映象

它确定了数据的全局逻辑结构(概念视图)与存储结构(数据库)之间的对应关系

模式/内模式映象是唯一的。

当存储结构变化时,模式/内模式映象作相应的变化,使其概念模式仍保持不变,从而不必修改应用程序,即确保了数据的物理独立性。2023/9/26§模式/内模式映象当存储结构变化时,模式/内模式映象作相应的§外模式/模式映象

它确定了数据的局部逻辑结构与全局逻辑结构之间的对应关系。

对于每一个外模式,都存在一个外模式/模式映象。当数据的总体逻辑结构改变,外模式/模式映象也发生相应的变化,这一映象功能保证了数据的局部逻辑结构不变,由于应用程序是依据数据的局部逻辑结构编写的,所以应用程序不必须修改,从而保证了数据与程序间的逻辑独立性。2023/9/26§外模式/模式映象2023/8/1

在数据库系统的三级模式结构中,存在外模式/模式的映象,当模式发生变化时,只要修改外模式/模式的映象,即可保持外模式不变,从而保证程序和数据的逻辑独立性。

在数据库系统的三级模式结构中,存在模式/内模式的映象,当内模式发生变化时,只要修改模式/内模式的映象,就可以保持模式不变,从而保证程序与数据的物理独立性。物理独立性:逻辑独立性:重点理解2023/9/26在数据库系统的三级模式结构中,存在外模式/模1.4数据库系统的组成1.4.1数据库系统的组成四部分:数据(库)、用户、软件和硬件组成2023

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论