数据库常用名词解释

 

◆ DB:数据库(Database),DB统一管理的相关数据的集合。DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。

◆ DBMS:数据库管理系统(Database Management System),DBMS位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。

◆ DBS:数据库系统(Database System),DBS实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。

◆ 1:1联系:如果实体集E1中的每个实体最多只能和实体集E2中的一个实体有联系,反之亦然,好么实体集E1对E2的联系称为“一对一联系”,记为“1:1”。

◆ 1:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中的一个实体有联系,那么E1对E2的联系“一对多联系”,记为“1:N”。

◆ M:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1对E2的联系“多对多联系”,记为“M:N”。

◆ 数据模型:表示实体类型及实体类型间联系的模型称为“数据模型”。它可分为两种类型:概念数据模型和结构数据模型。

◆ 概念数据模型:它独门于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。

◆ 结构数据模型:它直接面向数据库的逻辑结构,现实世界的第二层抽象。这类模型涉及到计算机系统和数据库管理系统,所以称为“结构数据模型”。结构数据模型应包含:数据结构、数据操作、数据完整性约束三部分。它主要有:层次、网状、关系三种模型。

◆ 层次模型:用树型结构表示实体间联系的数据模型

◆ 网状模型:用有向图结构表示实体类型及实体间联系的数据模型。

◆ 关系模型:由若干个关系模式组成的集合,其主要特征用二维表格结构表达实体集,用外鍵表示实体间联系。

◆ 概念模式:数据库中全部数据的整体逻辑结构的描述。它由若干个概念记录类型组成。概念模式不仅要描述概念记录类型,还要描述记录间的联系、操作、数据的完整性、安全性等要求。
◆ 外模式:用户与数据库系统的接口,用户用到的那部分数据的描述。

◆ 内模式:数据库在物理存储方面的描述,定义所有的内部记录类型、索引和文件的组成方式,以及数据控制方面的细节。

模式/内模式映象:这个映象存在于概念级和内部级之间,用于定义概念模式和内模式间的对应性,即概念记录和内部记录间的对应性。此映象一般在内模式中描述。

◆ 外模式/模式映象:这人映象存在于外部级和概念级之间,用于定义外模式和概念模式间的对应性,即外部记录和内部记录间的对应性。此映象都在外模式中描述。

◆ 数据独立性:在数据库技术中,数据独立性指应用程序和数据之间相互独立,不受影响。数据独立性分成物理数据独立性和逻辑数据独立性两级。

◆ 物理数据独立性:如果数据库的内模式要进行修改,即数据库的存储设备和存储方法有所变化,那么模式/内模式映象也要进行相应的修改,使概念模式尽可能保持不变。也就是对模式的修改尽量不影响概念模式。

◆ 逻辑数据独立性:如果数据库的概念模式要进行修改(如增加记录类型或增加数据项),那么外模式/模式映象也要进行相应的修改,使外模式尽可能保持不变。也就是对概念模式的修改尽量不影响外模式和应用程序。

◆ 宿主语言:编写应用程序的语言(即高级程序设计语言)在数据库技术中称为宿主语言(host language),简称主语言。

◆ DDL:数据定义语言(Data Definition Language),用于定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映象,定义数据的完整性、安全控制等约束。

◆ DML:数据操纵语言(Data Manipulation Language),用于让用户或程序员使用,实现对数据库中数据的操作。基本的数据操作分成两类四种:检索(查询)和更新(插入、删除、修改)。DML 分成交互型DML和嵌入型DML两类。依据语言的级别,DML又可分成过程性DML和非过程性DML两种。

◆ 交互型DML:这类DML自成系统,可在终端上直接对数据库进行操作。

◆ 嵌入型DML:这类DML嵌入在主语言中使用。此时主语言经过扩充能处理DML语句的语言。

◆ 过程性DML:用户编程时,不仅需要指出“做什么”(需要什么样的数据),还需要指出“怎么做”(怎么获得数据)。层状、网状的DML属于过程性语言。

◆ 非过程性DML:用户编程时,只需要指出“做什么”,不需要指出“怎么做”。关系型DML属于非过程性语言。

◆ DD:数据字典(Data Dictionary),数据库系统中存放三级结构定义的数据库称为数据字典。(通常DD还存放数据库运行时的统计信息)

◆ DD系统:管理DD的实用程序称为“DD系统”。

◆集中式DBS:指数据库中的数据集中存储在一台计算机上,数据的处理集中在一台计算机上完成。

◆分布式DBS:指数据存放在计算机网络的不同场地的计算机中,每一场地都有自治处理能力并完成局部应用;而每一场地也参与(至少一种)全局应用程序的执行,全局应用程序可通过网络通信访问系统中的多个场地的数据。

◆分布式DB:指计算机网络环境中各场地上数据库的逻辑集合。

◆分布式DBMS:指分布式数据库系统中的一组软件,它负责管理分布环境下逻辑集成数据的存取、一致性、有效性和完备性。同时由于数据的分布性,在管理机制还必须具有计算机网络通信协议上的分布管理特性。

◆局部自治性:指有独立处理能力并能完成的局部应用。

◆数据分配(数据分布):指数据计算机网络各场地上的分配策略。

◆数据复制:指数据在每个场地重复存储。

◆数据分片:指分布式数据库中的数据可以被复制在网络场地的各个物理数据库中,数据分片通过关系代数的基本运算实现的。

◆水平分片:指按一定条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。

◆垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上做投影运算,每个投景为垂直分片。

◆分布透明性:指用户不必关系数据的逻辑分片,不必关系数据物理位置的细节,也不改善各个数据库的数据模型。

◆分片透明性:分片透明性最高层次的分布透明性,即用户或应用程序只对全局关系进行操作而不必考虑数据的分片。

◆位置透明性:指用户或应用程序应当了解分片情况,但不必了解片段的存储场地。位置透明性位于分片视图与分配视图之间。

◆局部数据模型透明性:这个透明性位于分配视图与局部概念视图之间,指用户或应用程序要了解分片及各片段存储的场地,但不必了解局部场地上使用的何种数据模型。

◆复制透明性:即用户不必关系数据库在网络中各个结点的数据库复制情况,更新操作引起的波及由系统去处理。

◆ SQL模式:基本表的集合定义为SQL模式。一个SQL模式(即"数据库模式")由模式名和模式拥有者的用户名或账号来确定,并包含模式中每一个元素(基本表、视图、索引等)的定义。

◆ SQL数据库:SQL(Structured Query

Language),即‘结构式查询语言’,采用英语单词表示和结构式的语法规则。一个SQL数据库表的汇集,它用一个或多个SQL模式定义。

◆ 基本表:在SQL中,把传统的关系模型中的关系模式称为基本表(Base

Table),基本表本身独立的表,一个关系就对应一个基本表。

◆ 存储文件:在SQL中,把传统的关系模型中的存储模式称为存储文件(Stored File)。

◆ 视图:在SQL中,把传统的关系模型中的子模式称为视图(View),视图从一个或多个基本表导出的表。

◆ 行:在SQL中,把传统的关系模型中的元组称为行(row)。

◆ 列:在SQL中,把传统的关系模型中的属性称为列(coloumn)。

◆ 实表:基本表就被称为实表,它实际存放在数据库中的表。

◆ 虚表:视图就被称为虚表,因为在数据库中只存储视图的定义而不存放视图所对应的数据。

◆ 相关子查询:在嵌套查询中,内层查询称为‘相关子查询’,子查询中查询条件依赖于外层查询中的某个值,所以子查询的处理不只一次,要反复求值,以供外层查询使用。

◆ 联接查询:查询时先对表进行笛卡尔积操作,然后再做等值联接、选择、投影等操作。联接查询的效率比嵌套查询低。

◆ 交互式SQL:在终端交互方式下使用的SQL语言称为交互式SQL。

◆ 嵌入式SQL:嵌入在高级语言的程序中使用的SQL语言称为嵌入式SQL。

◆ 共享变量:在嵌入的SQL语句中引用宿主语言的程序变量称为共享变量。

◆ 游标:游标与某一查询结果相联系的符号名,用于把集合操作转换成单记录处理方式。

◆ 卷游标:卷游标在推进时不但能沿查询结果中元组顺序从头到尾一行行推进,也能一行行返回(而游标不能返回的)。

◆ 函数依赖:FD(function dependency),设有关系模式R(U),X,YU的子集,rR的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X] 导致t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X,记为X→Y。X→Y为模式R的一个函数依赖。

◆函数依赖的逻辑蕴涵:设F关系模式R的一个函数依赖集,X,YR的属性子集,如果从F中的函数依赖能够推出X→Y,则称F逻辑蕴涵X→Y,记为F|=X→Y。

◆部分函数依赖:即局部依赖,对于一个函数依赖W→A,如果存在X W(X包含于W)有X→A成立,那么称W→A局部依赖,否则称W→A为完全依赖。

◆完全函数依赖:见上。

◆传递依赖:在关系模式中,如果Y→X,X→A,且X→(表示不决定)Y,和A X(A不属于X),那么称Y→A传递依赖。

◆函数依赖集F的闭包F+:被逻辑蕴涵的函数依赖的全体构成的集合,称为F的闭包(closure),记为F+。

◆1NF:第一范式。如果关系模式R的所有属性的值域中每一个值都不可再分解的值,则称R属于第一范式模式。如果某个数据库模式都第一范式的,则称该数据库存模式属于第一范式的数据库模式。

第一范式的模式要求属性值不可再分裂成更小部分,即属性项不能属性组合和组属性组成。

◆2NF:第二范式。如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键,则称第二范式模式;如果某个数据库模式中每个关系模式都第二范式的,则称该数据库模式属于第二范式的数据库模式。(注:如果A关系模式R的候选键的一个属性,则称AR的主属性,否则称AR的非主属性。)

◆3NF:第三范式。如果关系模式R第二范式,且每个非主属性都不传递依赖于R的候选键,则称R第三范式的模式。如果某个数据库模式中的每个关系模式都第三范式,则称为3NF的数据库模式。

◆BCNF:BC范式。如果关系模式R第一范式,且每个属性都不传递依赖于R的候选键,那么称RBCNF的模式。

◆4NF:第四范式。设R一个关系模式,DR上的多值依赖集合。如果D中成立非平凡多值依赖X→→Y时,X必R的超键,那么称R第四范式的模式。

◆推理规则的正确性和完备性:正确性指,如果X→Y从推理规则推出的,那么X→Y在F+中。完备性指,不能从F使用推理规则导出的函数依赖不在F+中。

◆依赖集的覆盖和等价:关系模式R(U)上的两个函数依赖集F和G,如果满足F+=G+,则称F和G等价的。如果F和G等价,则可称F覆盖G或G覆盖F。

◆ 最小依赖集:如果函数集合F满足以下三个条件:(1)F中每个函数依赖的右部都单属性;(2)F中的任一函数依赖X→A,其F-{X→A}与F不等价的;(3)F中的任一函数依赖X→A,Z为X的子集。(F-{X→A}∪{Z→A}与F不等价。则称F为最小函数依赖集合,记为Fmin。

◆无损联接:设R一关系模式,分解成关系模式ρ={R1,R2...,Rk},FR上的一个函数依赖集。如果对R中满足F的每一个关系r都有r=πR1(r)|X|πR2(r)|X|...|X|πRk(r)则称这个分解相对于F"无损联接分解"。

◆保持依赖集:所谓保持依赖就是指关系模式的函数依赖集在分解后仍在数据库中保持不变,即关系模式R到ρ={R1,R2,...,Rk}的分解,使函数依赖集F被F这些Ri上的投影蕴涵。

◆ 多值依赖:设R(U)属性集U上的一个关系模式,X,Y,ZU的子集,并且Z=U-X-Y,用x,y,z分别代表属性集X,Y,Z的值,只要rR的关系,r中存在元组(x,y1,z1)和(x,y2,z2)时,就也存在元组(x,y1,z2)和(x,y2,z1),那么称多值依赖 (MultiValued Dependency MVD) X→→Y在关系模式R中成立。

◆数据库设计:数据库设计指对一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,以能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。

◆数据库工程:数据库应用系统的开发就是数据库工程,它一项软件工程,但有其自身的特点。

◆评审:指为了确认某一阶段的任务是否全部完成,避免重大的疏漏或错误的评价和审查工作。其目的要尽早发现系统中设计中的错误,并在生存期的早期阶段给予纠正,以减少系统研制的成本。

◆ 数据字典:对系统中数据的详尽描述,它提供对数据库数据描述的集中管理。它的处理功能存储和检索元数据,并且为数据库管理员提供有关的报告。对数据库设计来说,数据字典进行详细的数据收集和数据分析所获得的主要成果。主要包括四个部分:数据项、数据结构、数据流、数据存储。

◆事务:事务指一个操作序列,这些操作要么什么都做,要么都不做,一个不可分割的工作单位,数据库环境中的逻辑工作单位,相当于操作系统环境下的"进程"概念。

◆封锁:封锁就是事务可以向系统发出请求,对某个数据对象加锁,此事务对这个数据对象有一定控制,而其他事务则不能更新数据直到事务释放它的锁为止。

◆X封锁:一个事务对某数据加锁后,其他事务就不得再对这个数据对象加锁,称为排他型封锁即X封锁。

◆PX协议:任何企图更新记录R的事务必须先执行LOCK X(R)操作,以获得对该记录进行寻址的能力,并对它取得X封锁。如果未获得X封锁,那么这个事务进入等待状态,一直到获准X封锁,事务继续进行。

◆PXC 协议:它由PX协议及一条规则"X封锁必须保留到事务终点(COMMIT或ROLLBACK)"组成。即任何企图更新记录R的事务必须先执行LOCK X(R)操作,以获得对该记录进行寻址的能力,并对它取得X封锁,如果未获得X封锁,那么这个事务进入等待状态,一直到上一事务到终点,事务才继续进行。

◆活锁:指某个事务永远处于等待状态,得不到执行的现象。

◆死锁:有两个或以上的事务处于等待状态,每个事务都在等待另一个事务解除封锁,它才能继续执行下去,结果任何一个事务都无法执行,这种现象就是死锁。

◆串行调度:事务的依次执行称为串行调度。

◆并发调度:利用分时的方法,同时处理多个事务,称为事务的并发调度。

◆可串行化调度:对于事务集(T<1>,T<2>,…,T),如果一个并发调度的结果与一个串行调度等价,则称此调度可串行化调度。

◆不可串行化调度:对于某事务集的一个并发调度结果如果与任一串行调度均不等价,则该调度不可串行化调度。

◆S封锁:共享型封锁,一种读操作锁,若事务T对数据加上S锁,则其他事务只能在此数据对象上加S锁,而不参加X锁,直到事务T释放了数据对象上的S锁为止。

◆PS协议:任何要更新记录R的事务必须先执行LOCK

S(R)操作,以获得对该记录寻址的能力并对它取得S封锁。如果未获准S封锁,那么这个事务进入等待状态,一直到获准S封锁,事务才继续进行下去。当事务获准对记录R的要封锁后,在记录R修改前必须把S封锁升级为X封锁。

◆PSC协议:任何更新记录R的事务必须先执行LOCK S(R)操作,以获得对该记录寻址的能力并对它取得S封锁。如果未获准S封锁,那么这个事务进入等待状态,一直到获准S封锁,事务才继续进行下去。并将S封锁保持到事务终点。

◆两段封锁协议:在对任何数据进行读写操作之前,事务首先要获得对该数据的封锁;在释放一个封锁之后,事务不再获得任何其他封锁。

◆关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。关系模型由若干个关系模式组成的集合。

◆关系模式:关系模式实际上就是记录类型。它包括:模式名,属性名,值域名以及模式的主键。关系模式仅对数据特性的描述。

◆关系实例:就是一个关系,即一张二维表格。

◆属性:在关系模型中,字段称为属性。

◆域:在关系中,每一个属性都有一个取值范围,称为属性的值域。

◆元组:在关系中,记录称为元组。

◆超键:在关系中能唯一标识元组的属性集称为关系模式的超键。(注意,超键一个属性集)

◆候选键:不含有多余属性的超键称为候选键。

◆主键:用户选作元组标识的一个候选键为主键。

◆外键:某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键,如有两个关系S和SC,其中S#关系S的主键,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外键。

◆实体完整性规则:这条规则要求关系中元组在组成主键的属性上不能有空值。如果出现空值,那么主键值就起不了唯一标识元组的作用。

◆参照完整性规则:这条规则要求“不引用不存在的实体”。其形式定义如下:如果属性集K关系模式R1的主键,K也是关系模式R2的外键,那么R2的关系中,K的取值只允许有两种可能,或者为空值,或者等于R1关系中某个主键值。

   这条规则在使用时有三点应注意:

   1)外键和相应的主键可以不同名,只要定义在相同值域上即可。

   2)R1和R2也可以同一个关系模式,表示了属性之间的联系。

   3)外键值是否允许空应视具体问题而定。

  
◆过程性语言:在编程时必须给出获得结果的操作步骤,即“干什么”和“怎么干”。如Pascal和C语言等。

◆非过程性语言:编程时只须指出需要什么信息,不必组出具体的操作步骤的语言,各种关系查询语言均属于非过程性语言。

◆无限关系:当一个关系中存在无穷多个元组时,此关系为无限关系。如元组表达式{t|┐R(t)}表示所有不在关系R中的元组的集合,这一个无限关系。

◆无穷验证:在验证公式时需对无穷多个元组进行验证就是无穷验证。如验证公式(∨u)(P(u))的真假时需对所有的元组u进行验证,这一个无穷验证的问题。

封锁协议

在运用X锁和S锁这两种基本封锁,对数据对象加锁时,还需要约定一些规则,例如应何时申请X锁或S锁、持锁时间、何时释放等。我们称这些规则为封锁协议(Locking Protocol)。对封锁方式规定不同的规则,就形成了各种不同的封锁协议。下面介绍三级封锁协议。三级封锁协议分别在不同程度上解决了丢失的修改、不可重复读和读"脏"数据等不一致性问题,为并发操作的正确调度提供一定的保证。下面只给出三级封锁协议的定义,不再做过多探讨。

    • 1级封锁协议

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

    • 2级封锁协议

2级封锁协议:1级封锁协议加上事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。2级封锁协议除防止了丢失修改,还可进一步防止读"脏"数据。

    • 3级封锁协议

3级封锁协议:1级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。3级封锁协议除防止了丢失修改和不读'脏'数据外,还进一步防止了不可重复读。

例如:

一级封锁协议

read(x);

mutux x;

write(x);

mutux x;

二级封锁协议

mutux s;

read(x)

mutux s;

mutux x;

write(x);

mutux x;

三级封锁协议

mutux s;

read(x);

mutux x;

write(x);

mutux x;

mutux s;


  • 5
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值