1数据库系统概论复习总结第一章绪论一、基本概念(1)数据:描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音等。数据与其语义是不可分的。(2)数据库:数据库是长期储存在计算机内的、有组织的、可共享的数据集合。(3)数据库管理系统:DBMS是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取数据和维护数据。DBMS的主要功能:数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。(4)数据库系统:数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。(5)数据库系统的特点:数据结构化;数据共享性高,冗余度低,易扩充;数据独立性高二、数据管理技术的发展过程1.数据库管理技术发展的三个阶段:人工管理阶段、文件管理阶段和数据库系统阶段.2.文件系统与数据库系统区别和联系:a.数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。b.数据库系统存储数据的方式灵活,可以存储数据库中的某一个数据项,一组数据项,一组记录或一个纪录,而文件系统中数据的存取单位是记录。c.数据库系统的数据共享性高,易扩充;而文件系统中的文件是为某一特定的应用服务的,系统也不宜扩充。三、数据模型1.定义:数据模型也是一种模型,它是对现实世界的一种抽象。也就是说,数据模型是用来描述数据、组织数据和对数据进行操作的。2.组成三要素:数据结构、数据操作和完整性约束。(1)数据结构:是所研究的对象类型的集合,是对系统静态特性的描述。(2)数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作集合,包括操作及有关的操作规则,是对系统动态特性的描述。(3)数据的约束条件:是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。3.概念模式中常见术语:(1)实体(Entity):指客观存在并可相互区别的事物。比如学生、学生的一次选课、学生与系的关系等。(2)实体型(Entitytype):指用实体名及其属性集合来抽象和刻画同类实体。如部门(部门号、部门名称)就是一个实体型。(3)实体集(Entityset):指同类实体的集合。如全体部门就是一个实体集。(4)属性(Attribute):指实体所具有的某一特性。若干属性可以刻画一个实体,例如部门实体可以由部门号、部门名称等属性组成。(5)码(Key):指唯一标识实体的属性集。比如部门号是部门实体的码。(6)域(Domain):指某一属性的取值范围。如部门名称的域为字符串集合。(7)实体—联系图(E-R):是一种用来在数据库设计过程中彼时数据库系统结构的方法,是一种可视化图形方法。(8)联系(Relationship):反映为实体(型)内部的联系和实体(型)之间的联系。两个实体型之间的联系分为三类:(1)一对一(1:1);(2)一对多(1:n);(3)多对多(m:n)4.概念模型的表示方法(实体-联系方法)数据库的总体概念结构可以用E-R模型中的E-R图来表示。E-R图由以下基本元素构成:(1)矩形:代表实体集;(2)椭圆:代表属性;(3)菱形:代表实体间的联系集;(4)线段:将属性与实体集相连或将实体集与联系集相连。除线段以外,每个元素上都标有它所代表的实体、属性或联系。5.常用的数据库模型:层次、网状、关系模型层次模型与网状模型的优缺点:层次数据模型的优点是:1.层次数据结构比较简单清晰。2.层次数据库的查询效率高。3.层次数据模型提供了良好的完整性支持。缺点主要有:1.现实世界中很多联系是非层次性的,如结点之间具有多对多联系。2.一个结点具有多个双亲等,层次模型表示这类联系的方法很笨拙,只能通过引入冗余数据或创建非自然的数据结构来解决。对插入和删除操作的限制比较多,因此应用程序的编写比较复杂。3.查询子女结点必须通过双亲结点。4.由于结构严密,层次命令趋于程序化。可见用层次模型对具有一对多的层次联系的部门描述非常自然,直观容易理解,这是层次数据库的突出优点。网状模型的优点主要有:1.能够更为直接地描述现实世界,如一个结点可以有多个双亲。结点之间可以有多种上联第。2.具有良好的性能,存取效率较高。缺点主要有:1.结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。2.网状模型的DDL,DML复杂,并且要嵌入某一种高级语言中,用户不容易掌握,不容易使用。6四、数据库系统结构1.数据库系统的三级模式结构:外模式、模式和内模式。模式也称逻辑模式,是数据库中全体数据的逻辑结构和牲的描述,是所有用户的公共数据视图。外模式也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图是与某一应用有关的数据的逻辑表示。2内模式也称存储模式,是一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。2.三级模式之间的二级映像:外模式/模式映像、模式/模式映像.3.数据库管理系统的主要功能有(1)数据库定义功能;(2)数据组织、存储和管理;(3)数据操纵功能;(4)数据库的事务管理和运行管理;(5)数据库的建立和维护功能等等DDL:数据定义语言DML:数据操纵语言DCL:数据控制语言4.什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?数据与程序的物理独立性:当数据库的存储结构改变了(例如采用了更先进的存储结构),数据库管理员修改模式/内模式映像,使模式保持不变,当数据库的存储结构改变时,由数据库管理员对模式/内模式映像做相应改变,以保持模式不变,从而应用程序也不必改变,保证了数据与程序的物理独立性。数据与程序的逻辑独立性:当模式改变时,数据库管理员修改有关的外模式/模式映像,使外模式保持不变,应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性重难点:画E—R图,实体、联系、实体联系的属性,以及实体间的对应关系重点掌握1、书19页工厂物资管理E-R图示例第二章关系数据库一、关系模型的基本概念1.关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。2.基本术语:域:域是一组具有相同数据类型的值的集合。元组:关系中的每个元素是关系中的元组。属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码主码:若一个关系有多个候选码,则选定其中一个为主码(Primarykey)。外部码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外部码(Foreignkey),简称外码。关系模式:关系的描述称为关系模式)。关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系。关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。关系数据库:关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。3.关系的三类完整性约束(1)实体完整性;(2)参照完整性;(3)用户定义的完整性。二、关系代数1.关系代数是一种抽象的查询语言,它是用关系的运算来表达查询的。2.运算符种类:集合运算符(∪-∩)、专门的关系运算符(×σ∏∞÷)、算术比较符(>≥<≤=≠)和逻辑运算符(┑∧∨)。3.关系代数的运算按运算符的不同可分为传统的集合运算和专门的关系运算两类。4.传统的集合运算是二目运算,包括交、并、差和笛卡尔积四种运算。并(Union):R∪S={t|t∈R∨t∈S},t属于R或t属于S。差(Difference):R-S={t|t∈R∧t不属于S}。交(Intersection):R∩S={t|t∈R∧t∈S}。广义笛卡尔积:r1×r2专门的关系运算包括选择、投影、连接、除运算等。1)选择(Selection)选择运算给出满足给定谓词(条件)的元组。用小写希腊字母σ来表示选择运算,而将谓词写作σ的下标,并在σ后的括号中给出作为参数的关系。记作:σF(R)={t|t∈R∧F(t)='True'}例如,我们要找出职员表中所有广东省的员工,则写作:σ籍贯='广东'(职员表)。通常允许在选择谓词中进行比较,使用的比较运算符是=、≠、、≤、和≥。另外,还可以用连词and(∧)和or(∨)将多个谓词合并成一个较大的谓词。2、投影(Projection)关系R上的投影是从R中选择出若干属性列组成新的关系,投影后会取消原有关系中的某些列或玩组。记作:ΠA(R)={t[A]|t∈R}例如,查询职员所在的姓名和部门:Π姓名,部门(职员表)。3、连接(Join)从两个关系的笛卡尔积中选取属性间满足一定条件的元组。常用的有等值连接和自然连接两种。这里要记住,自然连接需取消重复列,其它连接操作只须考虑行。等值连接与自然连接的区别和联系:3等值连接是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。自然连接是一种特殊的等值连接,它要求两个关系到中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。4.关系代数的基本运算有哪些?在八种关系代数运算中:并、差、笛卡尔积、投影、选择五种运算为基本的运算。其他三种运算,即交、连接和除均可用这五种基本运算来表达。三、关系演算1.关系演算分为元组关系演算和域关系演算。典型例题:1、有关图书发行的关系模型如下:书店S(书店号SNo,书店名SN,地址A)图书B(书号BNo,书名BN,价格P)图书馆L(馆号LNo,馆名LN,城市C)图书发行LBS(LNo,BNo,SNo,发行量Q)分别用关系代数和SQL语言表达如下查询:图书馆L4(馆号)收藏图书的书名和出售该书的书店名。(12分)1)πBN,SN(σLNo=L4(BLBSS))2)SELECTBN,SNFROMB,LBS,SWHEREB.BNo=LBS.BNoANDLBS.SNo=S.SNoANDLBS.LNo=L4;2、参照课本P55---60页的学生—课程数据库示例。第三章系数据库标准语言SQL一、SQL概貌,特点及其相关基本概念1.SQL(StructuredQueryLanguage),即结构化查询语言,是关系数据库的标准语言。2.SQL包括:数据查询、数据操纵、数据定义和数据控制。3.SQL语言的特点:(1)综合统一(2)高度非过程化(3)面向集合的操作方式(4)以同一种语法结构提供两种使用方式(5)语言简洁,易学易用。4.基本表是本身独立存在的表,在SQL中一个关系就对应一个表。视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可如同基本表那样使用视图,可以在视图上再定义视图。在数据库的三级模式中,外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件。二SQL数据定义功能1.SQL的数据定义功能包括定义表、定义视图和定义索引。SQL语言使用CREATETABLE语句建立基本表,ALTERTABLE语句修改基本表,DROPTABLE语句删除基本表;使用CREATEINDEX语句建立索引,DROPINDEX语句删除索引;使用CREATEVIEW语句建立视图,DROPVIEW语句删除视图。三、SQL数据查询功能1.SQL提供了SELECT语句进行数据库的查询。有