0052《数据库原理与应用》2013年6月期末考试指导一、考试说明(一)考试说明满分为100分,考试时间为90分钟,考试形式为闭卷。(二)可能包含的题型及各题型相应的答题技巧1.选择题答题技巧:有多选题,在每道题可能的答案中选择出正确的答案,注意有些题目答案并不唯一。2.单项选择题答题技巧:标明“单项选择”的情况下,每道题只有一个正确答案。3.简答题答题技巧:一般是一些基础的涉及概念或操作的内容,紧扣题目问题做简明回答。4.设计题答题技巧:仔细阅读题目设置的情境,把握题目背后的基本概念内容作答。5.综合应用题答题技巧:在注意题目细节的基础上,联系基本概念作答。注意题目之间的联系,寻求对答题有利的信息。说明:本考试指导只适用于201303学期期末考试使用,包括正考和重修内容。指导中的章节知识点涵盖考试所有内容,给出的习题为考试类型题,习题答案要点只作为参考,详见课程讲义或笔记。如果在复习中有疑难问题请到课程答疑区提问。最后祝大家考试顺利!二、重要知识点第一章:绪论。1.基本概念数据库:是数据的集合,它具有一定的组织形式并存放于统一的存储介质上,它是多种应用数据的集成,并可被多个应用所共享。数据库特点:.数据完整性、数据冗余很高、数据独立性高数据库管理系统(DBMS):数据库管理系统是一种负责数据库的定义、建立、操纵、管理和维护的系统软件。数据库系统:是一个以对海量的、具有复杂数据结构的、可以持久保存的、可供多用户共享的数据进行统一管理为目标的计算机应用系统。数据模型:数据模型用于描述数据的结构,定义在其上的操作以及约束条件,是数据库系统的核心和基础。数据模型的三要素是数据结构、数据操作和数据的约束条件。数据控制语言:DCL。在数据库方式下,信息处理中占据中心位置的是数据。数据操纵语言及其翻译:DBMS提供了数据操纵语言(DML)实现对数据库的检索、插入、修改、删除等操作。DML分为宿主型DML和自含型DML两类。宿主型DML本身不能独立使用,必须嵌入主语言中,例如,嵌入C,COBOL,FORTRAN等高级语言中。自含型DML是交互式命令语言,语法简单,可以独立使用。数据库管理系统的功能包括:数据定义、数据操纵、数据库运行管理、数据组织存储和管理、数据库建立和维护、数据通讯。SQL语言是关系型数据库系统典型的数据库语言,它是结构化查询语言。2.数据与程序的物理独立性当数据库的存储结构改变了(例如选用了另一种存储结构),由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了程序与数据的物理独立性,简称数据的物理独立性。映像是抽象层次之间的联系和转换。3.关系模式(1)关系模型的基本结构与操作关系模型的基本结构是由行和列组成的二维表格。关系模型上的数据操纵,其操作对象与操作结果都是关系。关系模型向用户提供了四种类型的操纵功能:查询、插入、删除与修改,它们又可以被划分成五种基本操作:属性指定,元组选择,关系的合并,元组插入,元组删除。选择运算指从给定的关系中选择出若干满足条件的元组组成新的关系。修改表的一般格式为:ALTERTABLE表名[ADD新列名数据类型〔完整性约束〕][DROP完整性约束名][MDDIFY列名数据类型];其中表名是要修改的基本表,ADD子句用于增加新列和新的完整性约束条件,DRDP子句用于删除指定的完整性约束条件,MODIFY子句用于修改原有的列定义,包括修改列名和数据类型。查询表的一般格式:SELECT目标表//投影出欲查询的属性FROM基本表或视图//从给定的关系中[WHERE条件表达式]//选择[GROUPBY字段名]//将结果进行分组,显示汇总结果。[HAVING内部函数条件式]//只要满足内部函数条件式的组才输出[ORDERBY字段名[ASC|DESC]//结果按升或降序排列。[COMPUTER内部函数名字段名[,BY字段名[,字段名]…..]]//既显示记录细节,又显示汇总结果。BY选项是用来说明分组的,若省略将对整个表进行汇总。规定有BY选项,必有ORDERBY选项,并且两个选项的字段顺序相同,但COMPUTER中的字段数可以少于ORDERBY中的字段数。(2)层次、网状、关系模型之优缺点比较层次模型网状模型关系模型数据结构复杂,受到的限制较多结构灵活,但实现困难结构简单,实现方便数据操纵数据的查询定位具有严格的方向性,操作复杂,只能提供低级的、过程性数据操纵子语言操作复杂,只能提供低级的、过程性数据操纵子语言操作方便,标准化程度高,具有高级的、非过程化数据子语言理论基础不足不足具有扎实的数学理论与关系规范化理论易使用性差差好4.关系数据库的特点:数据结构简单用户使用方便功能强数据独立性高理论基础深5.数据库系统的三级模式结构数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。数据库系统中三级模式结构定义存放在数据字典中。DBMS提供内模式描述语言{内模式DDL,或者存储模式DDL}来严格地定义内模式。数据库系统的三级模式是对数据的三个抽象级别.它把数据的具体组织留给DHMS管理,使用户能逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映象:外模式/模式映象:模式/内模式映象6.码(Key)有的属性是起关键作用,有这个属性可以区分一个实体与另一个实体,假如我知道一个人的身份证好就可以知道这个人是谁,因为身份证号是唯一的,同样年龄是十九岁的,我们不能区分,因为十九岁的有很多。只有身份证号,工作证号唯一能够区分和标识实体的,这样的属性它叫码。第二章:关系数据库。1.关系数据库(1)关系模型的组成关系模型由以下三部分组成:关系数据结构、关系操作集合、关系完整性约束。(2)单一的数据结构:关系(3)关系操作关系操作的特点:集合操作方式,也即操作的对象和结果都是集合。2.常用关系操作:(1)查询操作,包括:集合运算:并、差、交传统的集合运算是二目运算,包括并、差、交、广义笛卡尔积四种运算。专门的关系运算:广义笛卡尔积、选择、投影、连接、除选择:从给定的关系中选择出若干满足条件的元组组成新的关系。连接:从两个关系的笛卡尔积中选取属性间满足一定条件的元组。(2)增加、删除、修改操作3.关系的三类完整性约束(1)实体完整性;(2)参照完整性;(3)用户定义的完整性。实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。所谓的参照完整性是指两个表取值时,一个表要参照另一个表的信息来完成本表的数据任务。4.关系代数与关系演算表示方法的区别关系代数是使用数学中的集合论来表示关系模型,其中,关系用元组的集合来表示,关系模型上的数据操纵用集合上的运算来表示。而关系演算则使用数理逻辑中的一阶谓词逻辑来表示关系模型,其中,关系用谓词来表示,关系模型上的数据操纵用一阶谓词公式来表示。5.关系和表的区别关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域.由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(attribute)。n目关系必有n个属性。若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidatekey)。6.关系数据库中的基本概念域:是一组具有相同数据类型的值的集合,笛卡尔积的有限子集称作对应域上的关系。元组:二维表的行称为关系的元组,列中的元素为该属性值的分量,关系中元组的个数称为基数。域(Domain)——值的集合,即:可能取值的范围。域中数据个数称为域的基数。如{男、女}(性别域,基数2){已婚、未婚、离异、丧偶}(婚姻状况域,基数是4)在关系模型中,关系的“元数”(arity)是指列数。7.若一个关系有多个候选码,则选定其中一个为主码。主码的诸属性称为主属性(Primeattribute)。不包含在任何侯选码中的属性称为非码属性(Non-keyattribute)。在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)。8.关系的逻辑结构是二维表,对关系最基本的限制就是:表的每一个分量都必须是不能再分的基本数据项。9.关系可以有三种类型:基本关系(通常又称为基本表或基表》、查询表和视图表。基本表是实际存在的表,它是实际存储数据的逻辑表示。查询表是查询结果对应的表。视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。10.关系模式在数据库中要区分型和值。关系数据库中,关系模式是型,关系是值。关系模式是对关系的描述,那么一个关系需要描述哪些方面呢?二维表既可以表示实体,也可以表示联系,两个二维表之间,相同的属性或属性组就表示了两个实体之间的联系,一张二维表,可以同时与多张二维表建立联系。首先,应该知道,关系实质上是一张二维表,表的每一行为一个元组,每一列为一个属性。一个元组就是该关系所涉及的属性集的笛卡尔积的一个元素。关系是元组的集合,因此关系模式必须指出这个元组集合的结构,即它由哪些属性构成,这些属性来自嘛些域,以及属性与域之间的映象关系。关系模式是在数据库逻辑结构设计阶段产生的,逻辑设计的主要工作就是将E-R图转换成关系模式。第三章:关系数据库标准语言——SQL。1.SQL的特点有:SQL是一种基于关系代数的数据语言,其理论基础坚实;SQL是一种非过程化程度很高的语言,用户只要指出“干什么”二无需指出“怎么干”;SQL集数据定义,操纵与控制于一体,构成一个具有独特风格的一体化语言,此外它还集联机交互与嵌入于一体,使语言能适应广泛的使用环境;SQL语言功能强,它不但能表示关系代数的所有功能,还具有统计,计算,视图等其它功能;SQL数据独立性强,它所涉及的物理概念少;SQL语言简洁,易学易用。2.基表:关系数据库中的关系在SQL中又称为基表。视图:由若干张表(包括基表与视图)经映像语句构筑而成的表被称为视图。基表与视图都采用二维表格结构,都统称为表。3.SQL的功能包括:数据定义、数据操纵、数据控制、与主语言的接口四个部分。SQL定义基本表包括下面三个语句:数据定义、数据操作、数据控制。4.SQL的数据操纵功能包括数据的查询、增加、修改、和删除等。其中查询功能包括:(1)单表查询(2)带有集函数并对结果分组的查询(3)连接查询和嵌套查询①连接查询前面的查询都是针对一个表进行的。若一个查询同时涉及两个以上的表,则称之为连接查询,连接查询是关系数据库中最主要的查询,包括等值连接、自然连接、非等值连接查询、自身连接查询、外连接查询和复合条件连接查询。②嵌套查询在SQL语言中,一个SELECT-FROM-WHERE语句称为一个查询块。将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询称为嵌套查询。(4)集合查询SELECT语句的查询结果是元组的集合,所以多个SELECT语句的结果可进行集合操作。集合操作主要包括并操作UNION、交操作INTERSECT和差操作MINUS.5.事务:用户为完成一次任务所进行的一系列操作(一段用户程序)或为完成某种任务在机器上单独执行的一个程序.事务具有:原子性、一致性、隔离性、持续性。6.游标SQL语言与主语言具有不同的数据处理方式。SQL语言是面向集合的,一条SQL语句原则上可以产生或处理多条记录。而主语言是面向记录的,一组主变量一次只能存放一条记录。游标的操作:定义游标:为查询开辟一个缓冲区EXECSQLDECLAREC1CURSORFOR打开游标:把查询结果放到缓冲区并把游标指向第一条记录EXCECSQLOPENC1推进游标:把游标指向的记录数据存进主变量,游标向下(后前、上)推进一条(或多条)记录。EXELSQLFETCHC1INTO:学号,:姓名,:性别关闭游标:释放缓冲区及其他使用游标时占用的资源。EXELSQLCLOSEC17.建立与删除索引建