当前位置:文档之家› 数据库复习资料

数据库复习资料

第一章绪论数据管理技术的产生和发展一、人工管理阶段时期20 世纪40 年代中--50 年代中产生的背景▪应用需求科学计算▪硬件水平无直接存取存储设备▪软件水平没有操作系统▪处理方式批处理特点数据的管理者:用户,数据不保存数据面向的对象:某一应用程序数据的共享程度:无共享、冗余度极大数据的独立性:不独立,完全依赖于程序数据的结构化:无结构数据控制能力:应用程序自己控制二、文件系统阶段时期20 世纪50 年代末--60 年代中产生的背景▪应用需求科学计算、管理▪硬件水平磁盘、磁鼓▪软件水平有文件系统▪处理方式联机实时处理、批处理特点数据的管理者:文件系统,数据可长期保存数据面向的对象:某一应用程序数据的共享程度:共享性差、冗余度大数据的结构化:记录内有结构,整体无结构数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序数据控制能力:应用程序自己控制三、数据库系统阶段时期20 世纪60 年代末以来产生的背景▪应用背景大规模管理▪硬件背景大容量磁盘、磁盘阵列▪软件背景有数据库管理系统▪处理方式联机实时处理, 分布处理, 批处理特点:数据结构化,数据的共享性高,冗余度低,易扩充,数据独立性高,数据由DBMS 统一管理和控制数据模型在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。

通俗地讲数据模型就是现实世界的模拟。

概念模型也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。

概念模型的用途用于信息世界的建模,是现实世界到机器世界的一个中间层次,是数据库设计的有力工具,数据库设计人员和用户之间进行交流的语言概念模型的基本要求较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,简单、清晰、易于用户理解信息世界中的基本概念:(1) 实体客观存在并可相互区别的事物称为实体。

可以是具体的人、事、物或抽象的概念。

(2) 属性实体所具有的某一特性称为属性。

一个实体可以由若干个属性来刻画。

(3) 码唯一标识实体的属性集称为码。

(4) 域属性的取值范围称为该属性的域。

(5) 实体型用实体名及其属性名集合来抽象和刻画同类实体称为实体型(6)实体集同一类型实体的集合称为实体集(7)联系现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。

实体-联系方法(E-R 方法)▪用E-R 图来描述现实世界的概念模型实体型用矩形表示,矩形框内写明实体名。

属性用椭圆形表示,并用无向边将其与相应的实体连接起来联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)数据库系统结构从数据库管理系统角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构。

从数据库最终用户角度看(数据库系统外部的体系结构)型”和“值”的概念型(Type)对某一类数据的结构和属性的说明值(Value)是型的一个具体赋值数据库系统的三级模式结构模式(Schema )外模式(External Schema )内模式(Internal Schema )一、模式(Schema)数据库中全体数据的逻辑结构和特征的描述,所有用户的公共数据视图,综合了所有用户的需求,一个数据库只有一个模式二、外模式(External Schema )数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述,数据库用户的数据视图,是与某一应用有关的数据的逻辑表示,一个数据库可以有多个外模式。

三、内模式(Internal Schema )是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)一个数据库只有一个内模式数据库的二级映像功能一、外模式/模式映象模式:描述的是数据的全局逻辑结构外模式:描述的是数据的局部逻辑结构同一个模式可以有任意多个外模式每一个外模式,数据库系统都有一个外模式/模式映象,定义外模式与模式之间的对应关系映象定义通常包含在各自外模式的描述中保证数据的逻辑独立性▪当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变二、模式/内模式映象模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。

数据库中模式/内模式映象是唯一的该映象定义通常包含在模式描述中保证数据的物理独立性▪当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变第二章关系数据库关系单一的数据结构---- 关系现实世界的实体以及实体间的各种联系均用关系来表示⒈域(Domain )是一组具有相同数据类型的值的集合。

2. 笛卡尔积(Cartesian Product)给定一组域D1,D2,… ,D n,这些域中可以有相同的。

D1,D2,…,D n的笛卡尔积为:D1×D2×…×D n ={(d1,d2,… ,d n)|d i D i,i=1 ,2 ,… ,n}3. 关系(Relation )D1×D2×…×D n的子集叫作在域D1,D2,… ,D n上的关系,表示为R(D1,D2,… ,D n)⏹R:关系名⏹n:关系的目或度候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码简单的情况:候选码只包含一个属性全码:最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码主码:若一个关系有多个候选码,则选定其中一个为主码主属性:候选码的诸属性称为主属性不包含在任何侯选码中的属性称为非主属性关系的三类完整性:约束实体完整性,参照完整性,用户定义的完整性实体完整性规则若属性A是基本关系R的主属性,则属性A不能取空值外码设F是基本关系R的一个或一组属性,但不是关系R的码。

如果F与基本关系S的主码K s相对应,则称F是基本关系R的外码基本关系R称为参照关系基本关系S称为被参照关系或目标关系关系R和S不一定是不同的关系目标关系S的主码Ks和参照关系的外码F必须定义在同一个(或一组)域上外码并不一定要与相应的主码同名当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别参照完整性规则若属性(或属性组)F是基本关系R的外码它与基本关系S的主码K s相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值),或者等于S中某个元组的主码值用户定义的完整性:针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求1关系代数1. 选择选择又称为限制,在关系R中选择满足给定条件的诸元组σF(R) = {t|t∈R∧F(t)= '真'}F:选择条件,是一个逻辑表达式,基本形式为:X1θY1选择运算是从关系R中选取使逻辑表达式F 为真的元组,是从行的角度进行的运算2. 投影从R中选择出若干属性列组成新的关系πA(R) = { t[A] | t ∈R }A:R中的属性列3. 连接连接也称为θ连接,从两个关系的笛卡尔积中选取属性间满足一定条件的元组R S = { | t r∈R∧t s∈S∧t r[A]θt s[B] } A和B分别为R和S上度数相等且可比的属性组,θ比较运算符第三章关系数据库标准语言SQL SELECT语句的一般格式SELECT [ALL|DISTINCT]<目标列表达式> [别名] [ ,<目标列表达式> [别名]] …FROM <表名或视图名> [别名][ ,<表名或视图名> [别名]] …[WHERE <条件表达式>][GROUP BY <列名1>[HA VING <条件表达式>]] [ORDER BY <列名2> [ASC|DESC] ORDER BY子句⏹可以按一个或多个属性列排序⏹升序:ASC;降序:DESC;缺省值为升序当排序列含空值时⏹ASC:排序列为空值的元组最后显示⏹DESC :排序列为空值的元组最先显示GROUP BY 子句GROUP BY子句分组:细化聚集函数的作用对象▪未对查询结果分组,聚集函数将作用于整个查询结果▪对查询结果分组后,聚集函数将分别作用于每个组▪作用对象是查询的中间结果表▪按指定的一列或多列值分组,值相等的为一组建立视图语句格式CREA TE VIEW <视图名> [(<列名> [,<列名>]…)]AS <子查询>[WITH CHECK OPTION];组成视图的属性列名:全部省略或全部指定子查询不允许含有ORDER BY 子句和DISTINCT 短语GRANT语句的一般格式:GRANT <权限>[,<权限>]...[ON <对象类型> <对象名>]TO <用户>[,<用户>]...[WITH GRANT OPTION];语义:将对指定操作对象的指定操作权限授予指定的用户数据的完整性和安全性是两个不同概念:▪数据的完整性防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据防范对象:不合语义的、不正确的数据▪数据的安全性保护数据库防止恶意的破坏和非法的存取防范对象:非法用户和非法操作第六章关系数据理论规范化规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。

1NF的定义如果一个关系模式R的所有属性都是不可分的基本数据项,则R↔1NF第一范式是对关系模式的最起码的要求。

不满足第一范式的数据库模式不能称为关系数据库,但是满足第一范式的关系模式并不一定是一个好的关系模式2NF 的定义若R↔1NF,且每一个非主属性完全函数依赖于码,则R↔2NF。

采用投影分解法将一个1NF的关系分解为多个2NF的关系,可以在一定程度上减轻原1NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。

将一个1NF关系分解为多个2NF的关系,并不能完全消除关系模式中的各种异常情况和数据冗余。

3NF 的定义关系模式R<U,F>中若不存在这样的码X、属性组Y及非主属性Z(Z ⊆Y), 使得X→Y,Y→Z成立,Y→X,则称R<U,F>↔3NF。

若R↔3NF,则每一个非主属性既不部分依赖于码也不传递依赖于码。

采用投影分解法将一个2NF的关系分解为多个3NF的关系,可以在一定程度上解决原2NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。

相关主题