数据库系统基本概念及其设计(doc-63张)课件

PPT
  • 阅读 108 次
  • 下载 0 次
  • 页数 62 页
  • 大小 886.000 KB
  • 2022-12-05 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
数据库系统基本概念及其设计(doc-63张)课件
可在后台配置第一页与第二页中间广告代码
数据库系统基本概念及其设计(doc-63张)课件
可在后台配置第二页与第三页中间广告代码
数据库系统基本概念及其设计(doc-63张)课件
可在后台配置第三页与第四页中间广告代码
数据库系统基本概念及其设计(doc-63张)课件
数据库系统基本概念及其设计(doc-63张)课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 62
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】数据库系统基本概念及其设计(doc-63张)课件.ppt,共(62)页,886.000 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-92485.html

以下为本文档部分文字说明:

05.12.2022制作人:张宇敬数据库系统原理第1章数据库系统基本概念第2章数据模型与概念模型第3章数据库设计第4章关系数据库第5章关系数据库标准语言——SQL第7章关系数据库理论第8章数据库保护05.12.2022制作人:张宇敬第1章数据库系统基

本概念1.1数据库的作用及相关概念一.数据、数据库、数据库管理系统(1)数据(Data)数据实际上就是描述事物的符号记录。数据的形式本身并不能完全表达其内容,需要经过语义解释。数据与其语义是不可分的。(2)数据

库(DB)数据库是长期存储在计算机内有结构的大量的共享的数据集合。它可以供各种用户共享、具有最小冗余度和较高的数据独立性。(3)数据库管理系统(DBMS)数据库管理系统是位于用户与操作系统之间的一层数据管理软件。数据库管理系统使用户能方便地定义数据和操

纵数据,并能够保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。05.12.2022制作人:张宇敬(4)数据库系统(DBS)数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。(5)数据库系

统管理员(DBA)数据库系统管理员负责数据库的建立、使用和维护的专门的人员。二.数据库管理系统DBMS是数据库系统的核心。它建立在操作系统的基础上,是位于操作系统与用户之间的一层数据管理软件,负责对数据库进行统一的管理和控制。1、DBM

S的功能(1)数据定义定义数据库的模式、存储模式和外模式,定义各个外模式与模式之间的映射,定义模式与存储模式之间的映射,定义有关的约束条件。05.12.2022制作人:张宇敬(2)数据操纵数据操纵包括对数

据库数据的检索、插入、修改和删除等基本操作。(3)数据库运行管理包括对数据库进行并发控制、安全性检查、完整性约束条件的检查和执行数据库的内部维护(如索引、数据字典的自动维护)等。(4)数据组织、存储和管理对数据字典、用户数据、存取

路径等数据进行分门别类地组织、存储和管理,确定以何种文件结构和存取方式物理地组织这些数据,如何实现数据之间的联系,以便提高存储空间利用率以及提高随机查找、顺序查找、增、删、改等操作的时间效率。(5)数据库的建立和维护建立数据库包括数据库初始数据的输入与数据转换等

。维护数据库包括数据库的转储与恢复、数据库的重组织与重构造、性能的监视与分析等。(6)数据通信接口DBMS需要提供与其他软件系统进行通信的功能。例如提供与其他DBMS或文件系统的接口,从而能够将数据转换为另一个DBMS或文件系统能够接受的格式,或者接收其他DBMS或文件系统的

数据。05.12.2022制作人:张宇敬2、DBMS的组成(1)数据定义语言及其翻译处理程序(2)数据操纵语言及其翻译解释程序数据操纵语言(DataManipulationLanguage,简称DML)用来实现对数据库的检索、插入、修改、删除等基本操作。

(3)数据运行控制程序数据定义语言(DataDefinitionLanguage,简称DDL)供用户定义数据库的模式、存储模式、外模式、各级模式间的映射、有关的约束条件等。系统运行控制程序负责数据库运行过程中的控制与管理(包

括系统初启程序、文件读写与维护程序、存取路径管理程序、缓冲区管理程序、安全性控制程序、完整性检查程序、并发控制程序、事务管理程序、运行日志管理程序等)。(4)实用程序包括数据初始装入程序、数据转储程序、数据库恢复程序、性能监测程序、数据库再

组织程序、数据转换程序、通信程序等。05.12.2022制作人:张宇敬3.DBMS的工作过程(1)应用程序A向DBMS发出从数据库中读数据记录的命令;(2)DBMS对该命令进行语法检查、语义检查,并调用

应用程序A对应的子模式,检查A的存取权限,决定是否执行该命令。如果拒绝执行,则向用户返回错误信息;(3)在决定执行该命令后,DBMS调用模式,依据子模式/模式映象的定义,确定应读入模式中的哪些记录;(4)DBMS调用物理模式,依据模式/物理模式映象的定义,决定应从哪个文件、用什么存取方式、

读入哪个或哪些物理记录;(5)DBMS向操作系统发出执行读取所需物理记录的命令;(6)操作系统执行读数据的有关操作;(7)操作系统将数据从数据库的存储区送至系统缓冲区;(8)DBMS依据子模式/模式映象的定义,导出应用程序A所要读取的记录格式;(9)DBMS将数据记录从系统缓冲区传送到应

用程序A的用户工作区;(10)DBMS向应用程序A返回命令执行情况的状态信息。05.12.2022制作人:张宇敬1.2数据库技术的产生与发展05.12.2022制作人:张宇敬1.3数据库系统结构数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。05

.12.2022制作人:张宇敬(1)模式模式是数据库中全体数据的逻辑结构和特征的描述。数据库模式以某一种数据模型为基础。定义模式时不仅要定义数据的逻辑结构(例如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整

性要求,定义这些数据之间的联系。(2)外模式外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。(3)内模式内模式也称存储

模式,它是数据物理结构和存储结构的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。一个数据库只有一个内模式。05.12.2022制作人:张宇敬3、

数据库的二级映象功能与数据独立性对于每一个外模式,数据库系统都有一个外模式/模式映象,它定义了该外模式与模式之间的对应关系。当模式改变时,由数据库管理员对各个外模式/模式的映象作相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数

据的逻辑独立性。数据库中只有一个模式,也只有一个内模式,所以模式/内模式映象是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变了,由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而保证了数据的物理独立性。05

.12.2022制作人:张宇敬4.数据库系统的体系结构(1)单用户数据库系统整个数据库系统,包括应用程序、DBMS、数据,都装在一台计算机上,为一个用户独占,不同机器之间不能共享数据。(2)主从式结构的数据库系统指一个主机带多个终

端的多用户结构。在这种结构中,数据库系统,包括应用程序、DBMS、数据,都集中存放在主机上,所有处理任务都由主机来完成,各个用户通过主机的终端并发地存取数据库,共享数据资源。(3)分布式结构的数据库系统分布式结

构的数据库系统是指数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用;同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用。(4)客户

/服务器结构的数据库系统服务器:网络中某个(些)结点上的计算机专门用于执行DBMS功能,称为数据库服务器。客户机:其他结点上的计算机安装DBMS的外围应用开发工具,支持用户的应用,称为客户机。回首页05.12.2022制作人:张宇敬第2章数据模型与概

念模型2.1信息的三种世界1.数据模型基本概念数据模型用来抽象、表示和处理现实世界中的数据和信息。即数据模型就是现实世界的模拟。数据模型应满足三个方面的要求:比较真实的模拟现实世界;容易为人们理解;便于计算机表达。数据

模型分成两个不同的层次:(1)概念模型,它是按用户的观点来对数据和信息建模。(2)数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。2.数据模型的三要素(1)数据结构(2)数

据操作(3)数据的约束条件05.12.2022制作人:张宇敬2.2.概念模型及其特点1.概念模型:概念模型用于信息世界的建模。概念模型不依赖于某一个DBMS支持的数据模型。概念模型可以转换为计算机上某一DBMS支持的特定数据模型。概念模型特点

:(1)具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识.(2)应该简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言。2.实体型(EntityType)用实体名及其属性名集合来抽象和刻画同类实体,称为实

体型。3.实体集(EntitySet)同型实体的集合称为实体集。4.联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。5.表示概念模型的实体-联系方法(Entity-RelationshipAppro

ach,E-R方法)E-R图提供了表示实体型、属性和联系的方法:实体型:用矩形表示,矩形框内写明实体名。属性:用椭圆形表示,并用无向边将其与相应的实体连接起来联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m

:n)。05.12.2022制作人:张宇敬2.3常见的三种模型1.层次数据模型(1)数据结构用树形结构表示各类实体以及实体之间的联系。只有一个根结点;除结点外的其它结点只有一个双亲结点。(2)操纵及完整性约束层次数据模型的操纵主要有查询、插入、删除和更新。进行插入、删除、更新操作时要满足层次模型

的完整性约束条件。进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值。进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除。进行更新操作时,应更新所有相应记录,以保证数据的一致性。(3)层次数据模型的存储结构邻接法:按照层次树的

一定顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序。链接法:用指针来反映数据之间的层次联系。05.12.2022制作人:张宇敬2.网状数据模型(1)数据结构网状数据模型是一种比层次模型更具普遍性的结构,它

去掉了层次模型的两个限制,允许多个结点没有双亲结点,允许结点有多个双亲结点,允许两个结点之间有多种联系(称之为复合联系)。(2)操纵及完整性约束网状数据模型的操纵主要包括查询、插入、删除和更新数据。插入操作允许插入尚未确定双亲结点值的子女结点值。删除操作允许只删除双亲结点值。更新操作时只需更新指

定记录即可。(3)存储结构网状数据模型的存储结构依具体系统不同而不同,常用的方法是链接法,包括单向链接、双向链接、环状链接等。05.12.2022制作人:张宇敬3.关系数据模型(1)数据结构一个关系模型的逻辑结构是一张二维表,它由行和列组成。表中的

一行即为一个元组;表中的一列即为一个属性。(2)操纵及完整性约束关系数据模型的操纵主要包括查询、插入、删除和更新数据这些操作必须满足关系的完整性约束条件。关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合

。关系模型把存取路径向用户隐蔽起来,用户只要指出“干什么”,不必详细说明“怎么干”,从而大大地提高了数据的独立性。关系数据库标准操作语言是SQL语言。(3)存储结构关系数据模型中,实体及实体间的联系都用表来表示。在数据库的物理组织中,表以文件形式存储

,每一个表通常对应一种文件结构。后首页05.12.2022制作人:张宇敬第3章数据库设计3.1数据库设计的步骤1.数据库设计的基本步骤(1)需求分析阶段需求收集和分析,结果得到数据字典描述的数据需求和数据流图描述的处理

需求。(2)概念结构设计阶段通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。(3)逻辑结构设计阶段将概念结构转换为某个DBMS所支持的数据模型,例如关系模型,并对其进行优化。(4)数据库物理设计阶段为逻辑数据模型选

取一个最适合应用环境的物理结构,包括存储结构和存取方法。05.12.2022制作人:张宇敬(5)数据库实施阶段运用DBMS提供的数据语言(例如SQL)及其宿主语言(例如C),根据逻辑设计和物理设计的结果建立数

据库,编制与调试应用程序,组织数据入库,并进行试运行。(6)数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。3.2需求分析1.需求分析的任务

.详细调查现实世界要处理的对象.充分了解原系统工作概况.明确用户的各种需求.确定新系统的功能05.12.2022制作人:张宇敬2.需求分析的方法(1)调查组织机构情况(2)调查各部门的业务活动情况(3)协助用户明确对新系统的各种要求(4)确定新系统的边界3.数据流图数据流

图表达了数据和处理过程的关系。系统中的数据则借助数据字典(DataDictionary,简称DD)来描述。4.数据字典数据字典是进行数据收集和数据分析所获得的主要成果。数据字典是各类数据描述的集合。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。05.

12.2022制作人:张宇敬3.3概念结构设计1.概念结构设计的方法·自顶向下:先定义全局概念结构的框架,然后逐步细化。·自底向上:先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。·逐步扩张:先定义最重要的核心概念结构,然后向外扩充,直至总体概念结构。无论采用

哪种设计方法,一般都以E-R模型为工具来描述概念结构。2.数据抽象与局部视图设计以自底向上设计方法为例,它通常分为两步:第一步,根据需求分析的结果,对现实世界的数据进行抽象,设计各个局部视图即分E-R图。第

二步,集成局部视图。3.视图的集成集成分E-R图时都需要两步:1)合并;2)修改与重构。05.12.2022制作人:张宇敬3.4逻辑结构设计设计逻辑结构时一般要分三步进行:·将概念结构转换为一般的关系、网状、层次模型·将转化来的关系、网状、层次模型向特定DBMS支持下的数据

模型转换·对数据模型进行优化1.E-R图向数据模型的转换转换原则:(1)一个实体型转换为一个关系模式。实体的属性就是关系的属性。实体的码就是关系的码。(2)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。(

3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。(4)一个1:1联系可转换为一个独立的关系模式,也可与

任一端对应的关系模式合并。(5)三个或三个以上实体间的一个多元联系转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。(6)同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。(7)具有相同码的关系

模式可合并。05.12.2022制作人:张宇敬2.数据模型的优化(1)确定数据依赖。(2)按照数据依赖的理论对关系模式逐一进行分析,考查是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。(3)按照需求分析阶段得到的各种

应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解。(4)对关系模式进行必要的分解。3.设计用户子模式局部应用视图是概念模型,用E-R图表示。在将概念模型转换为逻辑模型后,即生成了整个应用系统的模式后,还应该根据局部应用需求

,结合具体DBMS的特点,设计用户的外模式。05.12.2022制作人:张宇敬3.5数据库物理设计一、确定数据库的物理结构(1)确定数据的存储结构(2)设计数据的存取路径(3)确定数据的存放位置(4)确定系统(参数)配置二、评价物理结构评价物理数据库的方法完全依赖于所选用的DBMS,主要是从

定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择出一个较优的合理的物理结构。如果该结构不符合用户需求,则需要修改设计。05.12.2022制作人:张宇敬3.6数据库实施、运行与维护一、定义数据库结构确定了

数据库的逻辑结构与物理结构后,就可以用所选用的DBMS提供的数据定义语言(DDL)来严格描述数据库结构。二、数据装载数据库结构建立好后,就可以向数据库中装载数据了。组织数据入库是数据库实施阶段最主要的工作。对于数据量不是很大的

小型系统,可以用人式方法完成数据的入库,其步骤为:(1)筛选数据:需要装入数据库中的数据通常都分散在各个部门的数据文件或原始凭证中,所以首先必须把需要入库的数据筛选出来。(2)转换数据格式筛选出来的需要入库的数据,其格式往往不符合数据库要求,还需要进行转换。这种转换有时可能很复杂。(3)输入数据

将转换好的数据输入计算机中。(4)校验数据检查输入的数据是否有误。三、编制与调试应用程序数据库应用程序的设计应该与数据设计并行进行。调试应用程序时由于数据入库尚未完成,可先使用模拟数据。四、数据库试运行回首页05.12.2022制作人:

张宇敬第4章关系数据库4.1关系数据库概述一.关系模型的组成关系模型是关系数据库系统的基础模型。关系模型由关系数据结构、关系操作和完整性约束三部分组成。关系数据结构:关系模型的数据结构其逻辑形式是一张二维表。这种二维表的结构可描述现实世界的实体以及实体间的各种联系,且结

构单一。关系操作:关系操作采用集合操作方式,即操作的对象和结果都是集合。常用的关系操作包括:查询、选择、投影、连接、除、并、交、差、增加、删除、修改等。完整性约束:关系模型定义了三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系

模型必须满足的完整性约束,由关系数据库系统强制执行。05.12.2022制作人:张宇敬二.描述关系操作的语言描述关系操作的语言可以分为三类:三.关系数据结构在关系模型中,实体和实体之间的联系均由关系(二维表)来表示。05.12.202

2制作人:张宇敬1.基本概念域:域是一组具有相同数据类型的值的集合。例如:非负整数、长度等于3的字符串。笛卡尔积:给定一组域D1,D2,…,Dn。D1,D2,…,Dn的笛卡尔积定义为:D1×D2×…×Dn={(d1,d2,…,dn)|di∈Dj,j=1,2

,…,n}其中每一个元素(d1,d2,…,dn)叫作一个元组。元素中的每一个值di叫作一个分量。若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…×Dn的基数为:nm=∏mii=105.12.20

22制作人:张宇敬2.关系D1×D2×…×Dn的一个子集叫作域D1、D2、…、Dn上的一个关系,用R(D1,D2,…,Dn)表示。这里R表示关系的名字,n是关系的目或度。关系中的每个元素是关系中的元组,通常用t表示。关系是笛卡积的子集,所以

关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性名。候选码:能唯一地标识一个元组的一组属性。3.关系的性质:①同一列中的分量是同一类型的数据。不同列可以取相同的数据类型。②关系中的列又称为属性

,并赋予属性名。不同列的属性名不同。③列的次序可以任意交换。④任意两个元组不能完全相同。⑤行的次序可以任意交换。⑥列具有原子性,即每一列值是不可分的数据项05.12.2022制作人:张宇敬4.关系模式关系模式是对关系的描述。一个关系模式是一个五元组。可表

示为R(U,D,DOM,F)其中R为关系名,U为属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映象集合,F为属性间数据的依赖关系集合。5.关系数据库在关系模型中,实体以及实体间的联系都是用关系来表示。在一个给定应用中,所有实体及实体之间联系的关系的集合构成一个关系数据库。四.关系

的完整型1.实体完整性实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。2.参照完整性定义设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码,并称基本关系R为参照关系,基本关系S

为被参照关系。05.12.2022制作人:张宇敬参照完整性规则:若属性或属性组F是基本关系R的外码,它与基本关系S的主码Ks相对应,则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者

等于S中某个元组的主码值。3.用户定义的完整性用户定义的完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。例如:某个属性的取值不能为空;某个属性的取值范围在0~100之间。05.12.2022制作人:张宇敬4

.2关系代数1.关系代数运算符05.12.2022制作人:张宇敬2.几个记号3.(1)设关系模式为R(A1,A2,…,An)。它的一个关系设为R。t∈R表示t是R的一个元组。t[Ai]则表示元组t中相应于属性Ai的一个分量。(

2)设A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,则A称为属性列。フA则表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩余的

属性组。t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元组t在属性列A上诸分量的集合。(3)R为n目关系,S为m目关系。称为元组的连接。它是一个(n+m)列的元组,前n个分量为R中的一个n

元组,后m个分量为S中的一个m元组。3.传统的集合运算(1)并(Union)R∪S={t|t∈R∨t∈S}05.12.2022制作人:张宇敬(2)差(Difference)R-S={t|t∈R∧フt∈S}(3)交(IntersectionReferentialintegrity)R∩S={t|

t∈R∧t∈S}(4)广义笛卡尔积(Extendedcartesianproduct)4.专门的关系运算专门的关系运算包括选择、投影、连接、除等。(1)选择(Selection)它是在关系R中选择满足给定条件的诸元组.(2)投影(Projection)关系R上的

投影是从R中选择出若干属性列组成新的关系。记作:ΠA(R)={t[A]|t∈R}05.12.2022制作人:张宇敬(3)连接(Join)它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组.。有两种常用的连接,一种是等值连接,另一种是自然连接

。θ为“=”的连接运算称为等值连接。它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。自然连接是一种特殊的等值连接。需在等值连接的结果中把重复的属性去掉。一般的连接操作是从行的角度进行运算。但自然连

接还需要取消了重复列,所以是同时从行和列的角度进行运算。05.12.2022制作人:张宇敬4.3关系演算关系演算是以数理逻辑中的谓词演算为基础的。按谓词变元的不同,关系演算可分为元组关系演算和域关系演算。

以下以ALPHA语言为例,介绍元组关系演算的思想。1.元组关系演算ALPHAALPHA语言主要有GET、PUT、HOLD、UPDATE、DELETE、DROP六条语句。语句的基本格式是:操作语句工作空间名(表达式):操作条件其中表达式用于

指定语句的操作对象,它可以是关系名或属性名。操作条件是一个逻辑表达式,用于将操作对象限定在满足条件的元组中。2、检索操作:用GET语句实现。3、更新操作(1)修改操作修改操作用UPDATE语句实现。(2)插入

操作插入操作用PUT语句实现。(3)删除删除操作用DELETE语句实现。回首页05.12.2022制作人:张宇敬第5章关系数据库标准语言SQL5.1SQL概述1.SQL的特点(1)综合统一SQL语言集DDL、DML、DCL的于一体,包括定义关系模式、录入数据、建立数据库、查询、

更新、维护、数据库重构、数据库安全性控制等一系列功能。(2)非过程化用户无需了解存取路径,用户只需提出“做什么”,而不必指明“怎么做”。存取路径的选择以及SQL语句的操作过程由系统自动完成。(3)面向集合的操作方式SQL语言采用集合操作方式,不仅查找结果可以是元组的集合。(4)以同一种语法结构提供

两种使用方式SQL语言可采用交互式和嵌入式两种使用方式。(5)语言简洁SQL语言功能强,语言简洁。05.12.2022制作人:张宇敬2.SQL语言的基本概念SQL语言支持关系数据库三级模式结构。外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件。基本表是本身独立存在的表,在S

QL中一个关系就对应一个表。一个存储文件中可有多个基本表。存储文件的逻辑结构组成了关系数据库的内模式。存储文件的物理文件结构是任意的。视图是从基本表或其他视图中导出的表,它不独立存储在数据库中,数据库只存放视图的定义,因此视

图是一个虚表。05.12.2022制作人:张宇敬5.2数据定义1.定义基本表CREATETABLE<表名>(<列名><数据类型>[列级完整性约束条件][,<列名><数据类型>[列级完整性约束条件]...

)[,<表级完整性约束条件>];建表时可定义完整性约束条件,当用户操作表中数据时系统自动检查该操作是否违背这些完整性约束条件。如果完整性约束条件涉及多个属性列,则必须定义在表级上,否则既可以定义在列级也可以

定义在表级。2.修改基本表ALTERTABLE<表名>[ADD<新列名><数据类型>[完整性约束]][DROP<完整性约束名><完整性约束名>][MODIFY<列名><数据类型><数据类型>];ADD子句用于增加新列和新的完整性约束条件,DROP子句用于删除指定的完整性

约束条件,MODIFY子句用于修改原有的列定义。05.12.2022制作人:张宇敬3.删除基本表DROPTABLE<表名>基本表定义一旦删除,表中的数据、在此表上建立的索引都将自动被删除掉,而建立在此表上的视图虽仍然保留,但已无法引用。4.建立索引CREATE[UNIQUE][CLUS

TER]INDEX<索引名>ON<表名>(<列名>[<次序>][,<列名>[<次序>]]...);索引可以建在表的一列或多列上。可在每个<列名>后面指定索引值的排列次序。ASC表示升序,DESC表示降序,缺省值为ASC。UNIQUE表明

建唯一性索引。CLUSTER表示建聚簇索引。所谓聚簇索引是指索引项的顺序与表中记录的物理顺序一致的索引。5.删除索引DROPINDEX<索引名>;05.12.2022制作人:张宇敬5.3查询SELECT[ALL|DISTINCT]

<目标列表达式>[,<目标列表达式>]...FROM<表名或视图名>[,<表名或视图名>]...[WHERE<条件表达式>][GROUPBY<列名1>[HAVING<条件表达式>]][ORDERBY<列名2>[ASC|DESC]];·

SELECT语句的含义:根据WHERE子句的条件表达式,从FROM子句指定的基本表或视图中找出满足条件的元组,再按SELECT子句中的目标列表达式,选出元组中的属性值形成结果表。·如果有GROUP子句,则将结果按<列名1>的值进行分组,该属性列值

相等的元组为一个组,每个组产生结果表中的一条记录。·如果GROUP子句带HAVING短语,则只有满足指定条件的组才予输出。·如果有ORDER子句,则结果表还要按<列名2>的值的升序或降序排序。05.12

.2022制作人:张宇敬1.单表查询(1)查询指定列例1查询全体学生的学号与姓名SELECTSno,SnameFROMStudent;(2)查询全部列例3查询全体学生的详细记录SELECT*FROMStudent;(3)消除取值重复的行例6查所有选修过课的学生

的学号SELECTdistinctSnoFROMSC;(4)查询满足条件的元组查询满足指定条件的元组可以通过WHERE子句实现。WHERE子句常用的查询条件如表:05.12.2022制作人:张宇敬05.12.2022制

作人:张宇敬(5)对查询结果排序例查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列SELECTSno,GradeFROMSCWHERECno=’3'GROUPBYGradeDESC;(6)使用集函数COUNT(

[DISTINCT|ALL]*)统计元组个数COUNT([DISTINCT|ALL]<列名>)统计一列中值的个数SUM([DISTINCT|ALL]<列名>)计算一列值的总和AVG([DISTINCT|ALL]<列名>)计算一列值的平均值MAX([DISTINCT|ALL]<列名

>)求一列值中的最大值MIN([DISTINCT|ALL]<列名>)求一列值中的最小值例查询学习1号课程的学生最高分数SELECTMAX(Grade)FROMSCWHERECno='1';(7)对查询结果分组GROUPBY子句可以将查询结果表的各行按一列或多列取值相等的原则进行分组。05.1

2.2022制作人:张宇敬2.连接查询若一个查询同时涉及两个以上的表,则称之为连接查询。连接查询主要包括等值连接、非等值连接查询、自身连接查询(自身连接)、外连接查询(外连接)和复合条件连接查询(复合条件连接)。(1)等值与非等值连接查询用来连接两个表的条件称

为连接条件,其一般格式为:[<表名1>.]<列名1><比较运算符>[<表名2>.]<列名2>其中比较运算符主要有:=、>、<、>=、<=、!=<=、!=此外连接谓词词还可以使用下面形式:[<表名1>.]<列名1>BETWEEN[<表名2>.]<列名2>AND[<表名2>.]<列名3>当连接运算

符为=时,称为等值连接。使用其它运算符称为非等值连接。连接谓词中的列名称为连接字段。连接条件中的各连接字段类型必须是可比的。05.12.2022制作人:张宇敬(2)自身连接连接操作不仅可以在两个表之间进行,也可以是一个表与其自己进行连接,这种连接称为表的自身连接。(3)外连接在通常的连接操作中,只

有满足连接条件的元组才能作为结果输出。有时我们想以Student表为主体列出每个学生的基本情况及其选课情况,若某个学生没有选课,则只输出其基本情况信息,其选课信息为空值即可,这时就需要使用外连接(OuterJoin)。外连接的运算符通常为*。有的关系数据库中也用+。回首页05.12.2022制

作人:张宇敬第7章关系数据库设计理论7.1函数依赖1.关系模式中的数据依赖一个关系模式应当是一个五元组。R(U,D,DOM,F)R是关系名;U是一组属性;D是属性组U中属性所来自的域;DOM是属性到域的映射;F是属性组U上的一组数据依赖关系的集合。属性间数据的依赖关系集合F实际上是描述关系的元组

定义,限定组成关系的各个元组必须满足的完整型约束条件。在实际应用中,这些约束或者通过对属性的取值范围限定,或者通过属性间的相互关连反映出来。后者称为数据依,这是数据库模式设计的关键。由于D和DOM对模式设计关系不大,因此我们把关系模式看作是一个三元组:R〈U,F

〉当且仅当U上的一个关系r满足F时,r称为关系模式R〈U,F〉的一个关系。05.12.2022制作人:张宇敬2.数据依赖对关系模式的影响数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系。它是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体

现。现在人们已经提出了许多种类型的数据依赖,其中最重要一个数据依赖是:函数依赖(FunctionalDependency简记为FD)函数依赖极为普遍地存在于现实生活中。如学生关系,可有学号(SNO),姓名(SNAME),系名(SDEPT)等几个属性。由于一个学号只对应一个学生,一个学生只在一个系

学习。因而当“学号”值确定之后,姓名和该生所在系的值也就被唯一地确定了。3.有关概念(1)函数依赖定义设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上

的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。·若X→Y,则X叫做决定因素(Determinant)。·若X→Y,Y→X,则记作X←→Y。05.12.2022制作人:张宇敬(2)平凡的函数依赖与非平凡的函数依赖定义在关系模式R(U)中,对

U中的子集X,Y,如果X→Y,但YX,则称X→Y是非平凡的函数依赖。若YX,则称X→Y是平凡的函数依赖。对于任一关系模式,平凡的函数依赖都是必然存在的。(3)完全函数依赖与部分函数依赖定义在R(U)中,如果X→Y,并且对于X的任何一个真子

集X',都有X'→Y,则称Y对X完全函数依赖,记作:XY。若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作XY(4)传递依赖定义在R(U)中,如果X→Y,Y→Z,且(YX),Y→X,则称

Z对X传递函数依赖。在关系Std(Sno,Sdept,Mname)中,有Sno→SdeptSdept→MnameMname传递依赖Sno。(5)码定义设K为R〈U,F〉中的属性或属性组合,若KU,则称K为R的一个候选码。若R中有多个候选码,则选定其中的一个作为主码。。05.12.2022制作人:

张宇敬7.2范式范式是满足一定函数依赖的关系模式的集合。目前主要有多种范式:第一范式、第二范式、第三范式、BC范式等。满足最低要求的的叫第一范式,简称1NF。在第一范式基础上进一步码组一些要求的为第二范式,简称2NF。其余以次类推。1N

F2NF3NFBCNF1.第一范式(1NF)定义如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。SLC(Sno,Sdept,Sloc,Cno,Grade)∈1NF不满足1NF的数据库模式不能称为关系数据库。2.第二范式(2NF)定义若R∈lNF,且

每一个非主属性完全函数依赖于码,则R∈2NF。3.第三范式(3NF)定义关系模式R〈U,F〉中若不存在侯选码X、属性组Y及非主属性Z(ZY),使得X→Y,Y→Z和(Y→X)成立,则R∈3NF。上述定义说明,若R∈3NF

,则每一个非主属性既不部分依赖于码也不传递依赖于码。05.12.2022制作人:张宇敬7.3关系模式的规范化一个关系只要其分量都是不可分的数据项,它就是规范化的关,但这是最基本的规范化。规范化程度有多个

个级别,一个低一级范式的关系模式,通过分解可以转换为若干高一级范式的关系模式集合,这种过程就叫关系模式的规范化。1.关系模式规范化的步骤规范化程度过低的关系可能会存在插入异常、删除异常、修改复杂和数据

冗余等问题,需要对其进行规范化,转换成高级范式。但在现实世界中,设计数据库模式结构时,应对用户需要做进一步的分析,确定一个合适的模式。2.关系模式的分解关系模式的分解必须保证分解后的关系模式与原关系模式等价。设关系模式R〈U,F〉被分解

为若干关系模式R1〈U1,F1〉、R2〈U2,F2〉,…,Rn〈Un,Fn〉若R与R1,R2,。。。,Rn的自然连接的结果相等,则称关系R的这个分解具有无损连接性。具有无损连接性的分解才能保证不丢失信息后首页05.12.2022制作

人:张宇敬第8章数据库保护8.1安全性计算机系统安全性,是指为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。计算机系统的安全性问题可分为三大类,即

:技术安全类、管理安全类和政策法律类。(1)技术安全是指计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全保护,当计算机系统受到无意或恶意的攻击时仍能保证系统正常运行,保证系统内的数据不增加、不丢失、不泄露。(2)管理安全技术安全之外的,诸如软硬件意外故障、场地的意外事

故、管理不善导致的计算机设备和数据介质的物理破坏、丢失等安全问题,视为管理安全。(3)政策法律类则指政府部门建立的有关计算机犯罪、数据安全保密的法律道德准则和政策法规、法令。05.12.2022制作人:张宇敬安全性控制的一般方法(1)用户标识和鉴别(2)存取控制(3)定义视图(4)审计(

5)数据加密8.2完整性数据库的完整性是指数据的正确性和相容性。数据库是否具备完整性关系到数据库系统能否真实地反映现实世界,因此维护数据库的完整性是非常重要的。1.完整性约束条件第一类静态列级约束静态列级约束是对

一个列的取值域的说明,这是最常用也最容易实现的一类完整性约束。05.12.2022制作人:张宇敬第二类、静态元组约束一个元组是由若干个列值组成的,静态元组约束就是规定元组的各个列之间的约束关系。第三类、静态关系约束在一个关系的各个元组之间或者

若干关系之间常常存在各种联系或约束。常见的静态关系约束有:实体完整性约束、参照完整性约束等。第四类、动态列级约束动态列级约束是修改列定义或列值时应满足的约束条件。第五类、动态元组约束动态元组约束是指修改元组的值时元组中各个字段间需要满足某种约束条件。例如职工工资调整

时新工资不得低于原工资+工龄*1.5,等等。第六类、动态关系约束动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件。05.12.2022制作人:张宇敬2.完整型控制DBMS的完整性控制机制

应具有三个方面的功能:(1)定义功能,提供定义完整性约束条件的机制。(2)检查功能,检查用户发出的操作请求是否违背了完整性约束条件。(3)保护功能,当发现用户的操作请求违背了数据的完整性约束条件,则采取一定的动作来保证数据的完整性。几个问题。(1)外码能否接受空值问题(2)删除被参照关系中的元

组的问题(3)在参照关系中插入元组时的问题(4)修改关系中主码的问题05.12.2022制作人:张宇敬8.3并发控制数据库是一个共享资源,可以供多个用户使用。允许多个用户同时使用的数据库系统称为多用户数据库系统。当多个用户并发地

存取数据库时就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。数据库管理系统必须提供并发控制机制。并发控制机制是衡量一个数据库管理系统性能的重要标志之一。1.并发操作隐含的数据不一

致性问题。一.丢失修改二.不可重复读三.读“脏”数据(dirtyread)2.封锁封锁是实现并发控制的一个非常重要的技术。封锁就是事务T在对某个数据对象(如表、记录等)操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新

此数据对象。05.12.2022制作人:张宇敬3.封锁协议在使用X锁和S锁对数据对象加锁时,需约定一些规则。例如应何时申请X锁或S锁、持锁时间、何时释放等。我们称这些规则为封锁协议。对封锁方式规定不同的规则,就形成了各种不同的封锁协议。(1)1级封锁

协议:事务T在修改数据A之前必须先对其加X锁,直到事务结束才释放。1级封锁协议可防止丢失修改,并保证事务T是可恢复的。在1级封锁协议中,如果仅仅是读数据不对其进行修改,是不需要加锁的,所以它不能保证可重复读和不读“脏”数据。(2)2级封锁

协议:事务T在修改数据A之前必须先对其加X锁,在读取数据A之前必须先对其加S锁,读完后即可释放S锁。2级封锁协议可防止丢失修改、读“脏”数据。(3)3级封锁协议:事务T在修改数据A之前必须先对其加X锁,在读取数据A之前必须先对其加S锁,直到事务结束

才释放。3级封锁协议除防止了丢失修改和不读‘脏’数据外,还进一步防止了不可重复读。05.12.2022制作人:张宇敬4.死锁如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2。接着T2又申请封锁R1。

这样就出现了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成死锁。(1)死锁的预防产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求对已为其他事务封锁的数据对象加锁,从而出现死等待。防止死锁的发生其实就是要破坏产生死

锁的条件。预防死锁通常有两种方法:①一次封锁法②顺序封锁法(2)死锁的诊断与解除①超时法②等待图法05.12.2022制作人:张宇敬5.封锁粒度封锁的对象的大小称为封锁粒度(Granularity)。封锁的对象可以是逻辑单元,也可以是物理单元。以关系数据库为例,封锁

对象可以是这样一些逻辑单元:属性值、属性值的集合、元组、关系、索引项、整个索引直至整个数据库;也可以是这样一些物理单元:页(数据页或索引页)、块等。封锁粒度与系统的并发度和并发控制的开销密切相关。封锁的粒度越大,数据库所能够封锁的数据单元就越少,并发度就越小,系

统开销也越小;反之,封锁的粒度越小,并发度较高,但系统开销也就越大。8.4恢复1.事务的概念事务是用户定义的一个操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。事务的开始与结束可以由用户显式控制。如果用户没有显式地定

义事务,则由DBMS按缺省规定自动划分事务。在SQL语言中,定义事务的语句有三条:BEGINTRANSACTIONCOMMITROLLBACK05.12.2022制作人:张宇敬2.事务的特性事务具有四个特性:原子性、一致性、隔离性和持续性。这

个四个特性也简称为ACID特性。(1)原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。(2)一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。当数据库只包含成功

事务提交的结果时,就说数据库处于一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,系统将事务中对数据库的所有已完成的操作全部撤消,滚回到事务开始时的一致状态。(3)隔离性:一个事务的执行不能被其他事务干扰。即

一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。(4)持续性:持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作

或故障不应该对其执行结果有任何影响。05.12.2022制作人:张宇敬2.数据恢复概述尽管数据库系统中采取了各种保护措施来防止数据库的安全性和完整性被破坏,保证并发事务的正确执行,但是计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏仍是不可

避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失。因此,DBMS必须具有把数据库从错误状态恢复到某一已知的正确状态的功能,这就是数据库的恢复。3.故障的种类(1)事务内部的故障事务内部的故障有的是可以通过事务程序本身发现的(见下

面转帐事务的例子),有的是非预期的,不能由事务程序处理的。(2)系统故障系统故障是指造成系统停止运转的任何事件,使得系统要重新启动。05.12.2022制作人:张宇敬4.恢复的技术恢复机制涉及的两个关

键问题是:第一,如何建立冗余数据;第二,如何利用这些冗余数据实施数据库恢复。建立冗余数据最常用的技术是数据转储和日志文件。通常在一个数据库系统中,这两种方法是一起使用的。(1)数据转储所谓转储即DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的

过程。这些备用的数据文本称为后备副本或后援副本。(2)日志文件日志文件是用来记录事务对数据库的更新操作的文件。日志文件可以用来进行事务故障恢复和系统故障恢复,并协助后备副本进行介质故障恢复。为保证数据库是可恢复的,登记日志文件时必须遵循两条原则:.登记的次序严格按并发事务执行的时间次序。.

必须先写日志文件,后写数据库。05.12.2022制作人:张宇敬5.恢复策略事务故障的恢复恢复步骤是:(1)反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。(2)对该事务的更新操作执行逆操作。即将日志记录中

“更新前的值”写入数据库。系统故障的恢复系统故障的恢复是由系统在重新启动时自动完成的,不需要用户干预。(1)正向扫描日志文件(即从头扫描日志文件),找出在故障发生前已经提交事务,将其事务标识记入重做(REDO)队列。同时找出故障发生时尚未完成的事务,将其事务标识记入撤消队列。(2)对撤消队列中的

各个事务进行撤消(UNDO)处理。进行UNDO处理的方法是,反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库。(3)对重做队列中的各个事务进行重做(REDO)处理。进行REDO处理的方法是:正向扫描日志文件

,对每个REDO事务重新执行日志文件登记的操作。即将日志记录中“更新后的值”写入数据库。回首页

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?