数据库基础学习方法.ppt
- 文档编号:18723544
- 上传时间:2023-10-19
- 格式:PPT
- 页数:445
- 大小:14.17MB
数据库基础学习方法.ppt
《数据库基础学习方法.ppt》由会员分享,可在线阅读,更多相关《数据库基础学习方法.ppt(445页珍藏版)》请在冰点文库上搜索。
2023/10/19,数据库系统,1,本章要求:
1数据库系统概述,4数据库系统的组成,2数据模型,3DBS的结构,本章内容:
1、了解数据管理的发展过程2、掌握数据库系统的基本概念和主要特点3、掌握数据库系统的三级模式结构和数据库系统的组成4、掌握实体、记录等有关概念和三种数据模型,请选择内容,返回,2023/10/19,数据库系统,2,一、基本概念1、数据:
描述事务的符号记录。
可用文字、图形等多种形式表示,经数字化处理后可存入计算机。
2、数据库(DB):
按一定的数据模型组织、描述和存储在计算机内的、有组织的、可共享的数据集合。
3、数据库管理系统(DBMS):
位于用户和操作系统之间的一层数据管理软件。
主要功能包括:
数据定义功能:
DBMS提供DDL,用户通过它定义数据对象。
数据操纵功能:
DBMS提供DML,用户通过它实现对数据库的查询、插入、删除和修改等操作。
1数据库系统概述,2023/10/19,数据库系统,3,数据库的运行管理:
DBMS对数据库的建立、运行和维护进行统一管理、统一控制,以保证数据的安全性、完整性、并发控制及故障恢复。
数据库的建立和维护功能:
数据库初始数据的输入、转换,数据库的转储、恢复、重新组织及性能监视与分析等。
4、数据库系统(DBS):
计算机中引入数据库后的系统,包括数据库DB数据库管理系统DBMS应用系统数据库管理员DBA和用户,2023/10/19,数据库系统,4,二、数据管理与数据处理1、数据管理:
对数据收集、整理、组织、存储、维护、检索、传送等,对象,操作,目标:
在妥当的时候以妥当的形式给妥当的人提供妥当的数据。
2、数据处理:
对数据进行加工、计算、提炼,从而产生新的有效数据的过程,数据,信息,2023/10/19,数据库系统,5,3、管理与处理的关系:
管理是处理的基础处理为管理服务,数据处理,数据处理,源数据,新数据,新数据,管理和处理又可看成一个问题的两个阶段,故可以统一起来,其中心是管理,数据管理,数据管理,2023/10/19,数据库系统,6,三、数据管理的发展阶段人工管理阶段(50年代中期以前)文件系统阶段(50年代中期至60年代后期)数据库系统阶段(60年代后期以后),2023/10/19,数据库系统,7,1、人工管理阶段(程序员管理阶段)特点:
数据不保存程序员负责数据管理的一切工作数据和程序一一对应,没有独立性和共享性,数据和程序的关系:
应用程序1,数据1,应用程序2,数据2,应用程序n,数据n,2023/10/19,数据库系统,8,又可分为两个阶段
(1)60年代初期出现了初等的文件系统主要特点:
组织方式:
顺序文件数据结构:
物理结构=逻辑结构软件功能:
仅有简单I/O操作,
(2)60年代中期出现了成熟的文件系统主要特点:
组织方式:
顺序和随机存取并用数据结构:
物理结构和逻辑结构有了简单的变换软件功能:
软件系统提供了存取方法,硬件:
有了大容量直接存储外存设备,如磁盘、磁鼓等软件:
有了专门的数据管理软件-文件系统处理方式:
有批处理、联机实时处理等,2、文件系统阶段,基础,2023/10/19,数据库系统,9,三个主要缺点:
数据高度冗余:
数据基本上还是面向应用或特定用户的。
数据共享困难:
文件基本上是私有的,只能提供很弱的文件级共享数据和程序缺乏独立性:
只有一定的物理独立性,完全没有逻辑独立性。
应用程序1,数据1,应用程序2,数据2,应用程序n,数据n,数据与程序的关系:
存取方法,操作系统负责,2023/10/19,数据库系统,10,3、数据库系统阶段文件系统不能适应大数据量、多应用共享数据的根本原因:
数据没有集中管理数据库方法的基本出发点:
把数据统一管理、控制,共享使用,应用程序1,应用程序2,应用程序n,数据与程序的关系:
DBMS,数据库,2023/10/19,数据库系统,11,
(1)数据高度结构化集成,面向全组织
(2)数据共享性好。
可为多个不同的用户共同使用(3)数据冗余少,易扩充(4)数据和程序的独立性高,物理独立性:
存储结构变,逻辑结构可以不变,从而应用程序也不必改变。
逻辑独立性:
总体逻辑结构变,局部逻辑结构可以不变,从而应用程序也不必改变。
好处:
简化应用程序的编写和维护,(5)数据控制统一安全性控制:
防止泄密和破坏完整性控制:
正确、有效、相容并发控制:
多用户并发操作的协调控制故障恢复:
发生故障时,将数据库恢复到正确状态,主要优点,2023/10/19,数据库系统,12,4、各个阶段的比较:
从四个方面,人工管理文件系统数据库系统,谁管理数据,面向谁,共享性,数据独立性,程序员,特定应用,不能,没有,操作系统提供存取方法,系统集中管理,基本上是特定用户,共享很弱,面向系统,充分共享,一定的物理独立性,较高的独立性,文件系统和数据库系统的本质区别:
内部:
数据库的数据是结构化的,有联系的文件系统的各记录无联系,外部:
数据库系统是共享的文件系统基本上是面向特定用户的,2023/10/19,数据库系统,13,2数据模型,数据处理的抽象过程(涉及三个领域),建立概念模型建立数据模型(便于用户和DB设计人员交流)(便于机器实现)一、概念模型(信息模型)把现实世界中的客观对象抽象成的某种信息结构,主要用于数据库设计。
独立于具体的计算机系统独立于具体的DBMS支持的数据模型,现实世界=信息世界,抽象,=机器世界(数据世界),转换,2023/10/19,数据库系统,14,实体:
客观存在并可相互区分的事物。
实体集:
性质相同的同类实体的集合。
属性:
实体具有的某一特性。
实体标识符:
能将一个实体与其它实体区分开来的一个或一组属性。
信息世界,记录实体(抽象表示)文件实体集字段或数据项属性关键字实体标识符。
唯一地标识一个记录。
又称码、键。
数据世界,1、实体与记录,2023/10/19,数据库系统,15,2、型与值在DBS中,每一个对象广义上讲都有型与值之分:
型是对象的结构或特性描述,值是一个具体的对象实例。
类似于程序设计语言中数据类型与数据值的概念。
(1)实体型:
对实体固有特性或结构的描述。
用实体名及其属性名集合来抽象和刻画。
如汽车(车牌号,车型,车主),实体值:
实体型的一个实例,即一个具体的实体。
如(豫A00001,丰田,张三),
(2)记录型:
记录格式。
记录值:
一个具体的记录。
2023/10/19,数据库系统,16,如:
(3)几点说明区分型与值的实质DBS中讨论的重点是型通常只说实体、记录,含义根据上下文自明,3、实体间的联系实体内部的联系(属性间的联系):
反映在数据上就是记录内部数据项间的联系,实体之间的联系:
反映在数据上就是记录之间的联系,2023/10/19,数据库系统,17,
(1)1对1联系(1:
1):
两个实体集中的每一个实体至多和另一个实体集中的一个实体有联系。
如国家部长学员队学员,
(2)1对多联系(1:
n):
若实体集A中的每个实体与实体集B中0个或多个实体有联系,而B中每个实体至多与A中的一个实体有联系,则称从A到B为1对多的联系。
如国家总统学员队队长,实体之间的联系可归结为三类:
(3)多对多联系(m:
n):
两个实体集中的每一个实体都和另一个实体集中0个或多个实体有联系。
如学员课程,2023/10/19,数据库系统,18,DBS的核心问题之一:
如何表示和处理实体及实体间的联系。
4、概念模型的表示方法之一:
实体联系方法(Entity-RelationshipApproach)用ER图(Entity-RelationshipDiagram)描述:
实体型:
用长方形表示联系:
用菱形表示属性:
用椭圆形表示框内写上相应的名称用无向边连接:
2023/10/19,数据库系统,19,说明:
联系也必须命名多个实体之间也可以有联系,联系也可以有属性,单个实体之间也可以有联系,2023/10/19,数据库系统,20,例:
某工厂物资管理E-R图(P20),2023/10/19,数据库系统,21,二、数据模型是对现实世界进行抽象的工具,它按计算机系统的观点对数据建模,用于提供数据库系统中信息表示和操作手段的形式框架,主要用于DBMS的实现,是数据库系统的核心和基础。
1、常用的数据模型层次模型网状模型关系模型面向对象模型,称作非关系模型,是下列基本层次联系的集合,Ri,Rj是实体型(记录型)Lij是从Ri到Rj的1:
1或1:
n联系,2023/10/19,数据库系统,22,2、数据模型的三要素,形式化描述数据、数据之间的联系以及数据操作和有关的语义约束规则的方法,数据结构,数据操作,完整性约束,如何保证数据的约束条件得到满足,如何实现查、增、删、改,如何表示实体及联系(难点是表示联系),根据现实世界实体间联系的特征用四种不同的方法进行抽象,(因此,是按照数据结构的类型来命名数据模型),(动态),(静态),2023/10/19,数据库系统,23,3、层次模型根据一个单位的组织结构直观地得出,方框表示一个实体型(结点)线表示联系(边),
(1)定义:
用树形结构来表示实体以及实体间联系的模型。
其特征是:
(a)有且仅有一个结点无双亲(根结点);(b)其它结点有且仅有一个双亲。
2023/10/19,数据库系统,24,
(2)说明:
(a)树中实体间联系只能是从父到子的1:
1或1:
n联系,对m:
n联系,须使用辅助手段转换成多个1:
n联系,但不易掌握(b)简单直观,结构清晰,运行效率高,但编程复杂,4、网状模型
(1)定义:
用图结构来表示实体以及实体间联系的模型。
其特征是:
任一结点都可以无双亲或有一个以上的双亲。
例,2023/10/19,数据库系统,25,
(2)优:
可表示m:
n的联系,运行效率高缺:
过于复杂,实现困难,(3)说明(a)即使对网状模型,具体在计算机上实现时,m:
n的联系仍需分解成若干个1:
n的联系。
(因此,网状模型的图结构实质上是有向图),如,课程成绩单,学生成绩单,2023/10/19,数据库系统,26,(b)网状模型中允许两结点间有多条边,层次模型则不允许,5、关系模型层次、网状模型基本上是面向专业人员的,使用极不方便问题:
寻找一种能面向一般用户的数据模型?
(1)定义:
用二维表(关系)来描述实体及实体间联系的模型。
(2)示例,2023/10/19,数据库系统,27,供应商S,零件P,(联系)供应SP,关系:
对应一张表,每表起一个名称即关系名元组:
表中的一行属性:
表中一列,每列起一个名称即属性名主码:
唯一确定一个元组的属性组域:
属性的取值范围,2023/10/19,数据库系统,28,(3)关系模式:
对关系的描述,一般表示为:
关系名(属性1,属性2,属性n),(4)优点:
无论实体还是实体之间的联系都用统一的数据结构(二维表、关系)来表示,可方便地表示m:
n联系,因此概念简单,用户易懂易用如:
可表示为:
学生(学号,姓名,性别,系和年级)课程(课程号,课程名,学分)选修(学号,课程号,成绩),表格中行、列次序无关有坚实的理论基础(关系理论),2023/10/19,数据库系统,29,存取路径对用户透明,用户只需指出“做什么”,不需说明“怎么做”,因此数据独立性更高,缺点:
由于存取路径对用户透明,查询效率不够高,必须对查询请求进行优化。
说明:
关系必须规范化,关系的每个分量必须是一个不可分的数据项,不允许表中套表。
规范化理论将在后续章节讲解。
(5)关系模型与非关系模型的比较,统一不统一均为关系,对用户透明对用户不透明,一次一集合一次一记录,2023/10/19,数据库系统,30,三级模式(外模式、模式、内模式)两级映象(外模式/模式,模式/内模式映象),一、DBS的三级模式结构1、模式(Schema):
又称逻辑模式。
DB的全局逻辑结构。
即DB中全体数据的逻辑结构和特征的描述。
说明模式只涉及到型的描述,不涉及具体的值(实例),反映的是数据的结构及其联系模式不涉及物理存储细节和硬件环境,也与应用程序无关模式承上启下,是DB设计的关键DBS提供模式DDL(DataDefinitionLanguage)来定义模式(描述DB结构),3DBS的结构,2023/10/19,数据库系统,31,模式定义的任务(概念模型模式)定义全局逻辑结构(构成记录的属性名、类型、宽度等)定义有关的安全性、完整性要求定义记录间的联系一个数据库只有一个模式,2、外模式:
又称子模式或用户模式。
DB的局部逻辑结构。
即与某一应用有关的数据的一个逻辑表示。
说明:
外模式是某个用户的数据视图,模式是所有用户的公共数据视图;一个DB只能有一个模式,但可以有多个外模式;外模式通常是模式的子集,但可以在结构、类型、长度等方面有差异;DBS提供外模式DDL。
2023/10/19,数据库系统,32,3、内模式:
又称存储模式。
数据的物理结构和存储方式的描述。
即DB中数据的内部表示方式。
说明:
一个数据库只有一个内模式DBS提供内模式DDL;内模式定义的任务,4、两级映象及其作用
(1)外模式/模式映象:
定义外模式和模式间的对应关系。
对应同一个模式可以有多个外模式,对每个外模式都有一个外模式/模式映象。
作用:
模式变,可修改映象使外模式保持不变,从而应用程序不必修改,保证了程序和数据的逻辑独立性。
2023/10/19,数据库系统,33,
(2)模式/内模式映象:
定义DB全局逻辑结构和存储结构间的对应关系。
一个数据库只有一个模式,也只有一个内模式,因此模式/内模式的映象也是唯一的。
作用:
存储结构变,可修改映象使逻辑结构(模式)保持不变,从而应用程序不必修改,保证了数据与程序的物理独立性。
2023/10/19,数据库系统,34,4数据库系统的组成,1、数据库:
一个或多个数据库数据库的四要素:
用户数据、元数据、索引和应用元数据2、软件操作系统;支持DBMS的运行数据库管理系统DBMS(DataBaseManagementSystem):
操纵和管理数据库的大型软件系统,是数据库系统的核心数据库应用开发工具等辅助软件具有数据库接口的高级语言与编译系统,如C、C+等某个数据库应用系统,一、数据库系统(DataBaseSystem,DBS)的组成广义上讲,DBS就是计算机系统中引进数据库后的构成。
有下面四部分:
2023/10/19,数据库系统,35,3、人员用户应用程序员数据库管理员DBA,(使用),(开发),(管理),DBA(DataBasedministrator)的职责:
决定数据库的内容和逻辑结构、存储结构确定数据的安全性要求和完整性约束条件监控数据库的使用和运行,维护数据库决定数据库的存储结构和存储策略负责数据库的改进和重组重构,4、硬件计算机及有关设备,要求有足够大的内、外存储容量及较高的处理速度。
2023/10/19,数据库系统,36,数据库系统图示:
用户1,用户2,用户n,应用程序1,应用程序m,辅助软件,DBMS,操作系统,数据库,数据库,DBA负责,应用程序员,2023/10/19,数据库系统,37,二、数据库系统研究的对象如何高效巧妙地进行数据管理,而又花费最少,如:
占用空间少查询快维护方便等,三个主要研究领域:
DBMS及其辅助软件数据库设计数据库理论,作业:
3,5,7,12,13,20,22,2023/10/19,数据库系统数据库系统,38,本章要求:
本章内容:
请选择内容,返回,1、掌握关系、关系模式、关系数据库等基本概念2、掌握关系的三类完整性的含义3、掌握关系代数运算,1关系模型的基本概念,2RDBS的数据操纵语言:
关系代数,3RDBS的数据操纵语言:
关系演算语言,2023/10/19,数据库系统数据库系统,39,层次、网状数据库是面向专业人员的,使用很不方便。
程序员必须经过良好的培训,对所使用的系统有深入的了解才能用好系统。
关系数据库就是要解决这一问题,使它成为面向用户的系统。
关系数据库是应用数学方法来处理数据的。
它具有结构简单、理论基础坚实、数据独立性高以及提供非过程性语言等优点。
1关系模型的基本概念,2023/10/19,数据库系统数据库系统,40,一、关系的数学定义1、域(Domain):
值的集合。
它们具有相同的数据类型,语义上通常指某一对象的取值范围。
例如:
全体整数,0到100之间的整数,长度不超过10的字符串集合,2、笛卡尔积(CartesianProduct):
设D1、D2、Dn是n个域,则它们的笛卡尔积为D1D2Dn=(d1,d2,dn)|diDi,i=1,2,n其中每一个元素称为一个n元组(n-tuple),简称元组;元组中的每个值di称为一个分量(component).,2023/10/19,数据库系统数据库系统,41,笛卡尔积可以写成一个二维表,例如:
设D1=张三,李四,D2=数学,语文,D3=优,良则D1D2D3可用二维表表示为:
张三数学优张三数学良张三语文优张三语文良李四数学优李四数学良李四语文优李四语文良,3、关系(Relation)笛卡尔积D1D2Dn的子集合,记作R(D1,D2,Dn),2023/10/19,数据库系统数据库系统,42,4、说明关系是一个二维表。
每行对应一个元组。
每列可起一个名字,称为属性。
属性的取值范围为一个域,元组中的一个属性值是一个分量。
5、关系的性质列是同质的,即每列中的数据必须来自同一个域每一列必须是不可再分的数据项(不允许表中套表,即满足第一范式)不能有相同的行行、列次序无关,2023/10/19,数据库系统数据库系统,43,二、关系模型三部分:
关系数据结构、关系操作集合、关系的完整性
(一)数据结构1、单一的数据结构:
关系(二维表)不论是实体还是实体间的联系都用关系表示。
实体值关系的元组,在关系数据库中通常称为记录属性值元组的分量,在关系数据库中通常称为字段关键字(码):
唯一标识一个元组的属性组,关键字可以有多个,统称候选关键字。
在使用时,通常选定一个作为主关键字。
主关键字的诸属性称为主属性,其它为非主属性。
2023/10/19,数据库系统数据库系统,44,关系数据库模式:
对关系数据库的描述,包括域的定义及在域上定义的所有关系模式。
关系数据库:
所有实体及实体间联系的关系的集合。
是某时刻所有关系模式对应的关系的集合。
2、关系模式:
关系的描述。
包括关系名、诸属性名、属性向域的映象、属性间的依赖。
关系的型,一个元组为关系的一个值,表示:
R(U,D,dom,F),属性的类型、长度等,值,型,2023/10/19,数据库系统数据库系统,45,3、关系的三种类型基本关系:
客观存在的基本表查询表:
由基本表按一定条件检索得到的结果视图(View):
从一个或多个基本关系上导出的关系。
它不对应实际的存储数据,是一个虚关系,然而可永久存在。
相当于关系模型的外模式。
由于二维表的存储策略非常简单,关于数据库的物理存储完全由DBMS自动完成。
因此,在关系模型中不需要与内模式相应的概念。
关系简单吗?
2023/10/19,数据库系统数据库系统,46,
(二)关系操作1、种类:
选择、投影、连接、除、并、交、差增加、删除、修改,一次一集合(关系型)一次一记录(非关系型),非过程化语言:
用户只需告诉做什么(What)不需告诉怎么做(How),数据定义、数据操纵、数据控制语言集成在一起,2、特点:
集合操作,一次操作可存取多个元组,2023/10/19,数据库系统数据库系统,47,(三)关系模型的三类完整性1、实体完整性(EntityIntegrity)基本关系的所有主属性不能取空值原因:
基本关系实体集,实体必可区分(标识符),主关键字是唯一性标识,故不能空,2、参照完整性(ReferentialIntegrity),也叫引用完整性若基本关系R含有与另一个基本关系S的主关键字相对应的属性组F(F称为R的外键或外部码),则R中每个元组在F上的值或为空值,或等于S中某个元组的主关键字值。
2023/10/19,数据库系统数据库系统,48,例:
职工关系EMP(ENO,ENAME,DNO)部门关系DEPT(DNO,DNAME),DEPT的主键,EMP的外键,只能取空值或DEPT中某关键字的值,又如:
学生关系(SNO,SNAME,AGE,SEX)课程关系(CNO,CNAME)选课关系(SNO,CNO,G),3、用户定义的完整性用户定义的某一属性值必须满足的语义要求。
一经定义,DBMS会自动检查,从而不必在应用程序中作检查。
本节开头,下一节,本章开头,2023/10/19,数据库系统数据库系统,49,3、差(Difference):
RS=t|tRtS,一、传统的集合运算1、并(Union):
RS=t|tRtS2、交(Intersection):
RS=t|tRtS,2RDBS的数据操纵语言:
关系代数,关系代数的运算对象是关系,运算结果也为关系。
其运算按运算符的不同可分为两类。
4、笛卡尔积(广义):
RS=trts|trRtsS,2023/10/19,数据库系统数据库系统,50,二、专门的关系运算1、选择(Selection),又称限制(Restriction),在关系R中选出满足条件F的诸元组形成一个新关系。
2、投影(Projection),:
在R中选出若干属性列组成一个新关系。
投影后若有重复行,则自动保留一个,从行的角度的运算,从列的角度的运算,2023/10/19,数据库系统数据库系统,51,当为等号且A、B两属性相同时,称为自然连接,记作,3、连接(Join),:
从两个关系的笛卡尔积中选取属性间满足条件AB的元组。
说明:
自然连接将去掉重复属性,连接是同时处理多个关系的重要运算,2023/10/19,数据库系统数据库系统,52,?
4、除(Division)R(X,Y)S(Y,Z):
把R按X的值分组,若某一组中属性组Y的值包含S在Y上投影的全部元组,则该X的值作为商关系的一个元组,例:
求至少选修C1、C3课程的学生号码,设一临时关系K:
C#,C1C3,关系代数表达式,S1,,S#C#G,S1C1AS1C2AS1C3AS1C5BS2C1BS2C2CS2C4CS3C2BS3C3CS3C4BS4C1BS4C3A,SC:
按S1分组,2023/10/19,数据库系统数据库系统,53,S1,,S1C1AS1C2AS1C3AS1C5BS2C1BS2C2CS2C4CS3C2BS3C3CS3C4BS4C1BS4C3A,4、除(Division)R(X,Y)S(Y,Z):
把R按X的值分组,若某一组中属性组Y的值包含S在Y上投影的全部元组,则该X的值作为商关系的一个元组,例:
求至少选修C1、C3课程的学生号码,设一临时关系K:
C#,C1C3,关系代数表达式,S#C#G,SC:
按S2分组,2023/10/19,数据库系统数据库系统,54,S1C1AS1C2AS1C3AS1C5BS2C1BS2C2CS2C4CS3C2BS3C3CS3C4BS4C1BS4C3A,S1,,4、除(Division)R(X,Y)S(Y,Z):
把R按X的值分组,若某一组中属性组Y的值包含S在Y上投影的全部元组,则该X的值作为商关系的一个元组,例:
求至少选修C1、C3课程的学生号码,设一临时关系K:
C#,C1C3,关系代数表达式,S#C#G,SC:
按S3分组,2023/10/19,数据库系统数据库系统,55,S1,,4、除(Division)R(X,Y)S(Y,Z):
把R按X的值分组,若某一组中属性组Y的值包含S在Y上投影的全部元组,则该X的值作为商关系的一个元组,例:
求至少选修C1、C3课程的学生号码,设一临时关系K:
C#,C1C3,关系代数表达式,S#C#G,SC:
按S4分组,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 基础 学习方法