第一章数据库概论本章属于基础知识,主要是对一些概念的理解和记忆。没有难点,相对的重点在于ER模型的设计和关系模型的掌握。一、数据管理技术的发展阶段(识记)数据管理技术共经历了三个阶段:人工管理阶段、文件系统阶段、数据库阶段:1、人工管理阶段的特点:(1)数据不保存在机器中(2)没有专用软件对数据进行管理(3)只有程序的概念,没有文件的概念。2、文件系统阶段的特点与缺陷:(1)数据可长期保存在磁盘上。(2)数据的逻辑结构与物理结构有了区别(3)文件组织呈现多样化(4)数据不再属于某个特定程序,可以重复使用。其缺陷是:数据冗余性数据不一致性数据联系弱3、数据库阶段的特点采用复杂的数据模型表示数据结构有较高的数据独立性(数据结构分成用户的逻辑结构、整体逻辑结构和物理结构三级)数据库系统为用户提供方便的用户接口,可以使用查询语言、终端命令或程序方式操作数据库。系统提供了四个方面的数据控制功能:数据库的恢复、并发控制、数据完整性和数据安全性。对数据的操作不一定以记录为单位,还可以数据项为单位。数据库技术中的四个名词:DB、DBMS、DBS、数据库技术。其概念是不同的,要分清。DB:数据库(Database),DB是统一管理的相关数据的集合。DBMS:数据库管理系统(DatabaseManagementSystem),DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。DBS:数据库系统(DatabaseSystem),DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。数据库技术:是一门研究数据库结构、存储、管理和使用的软件学科。二、数据描述的术语(领会)1、数据描述的三个领域:现实世界、信息世界和机器世界。信息世界中的几个概念:实体(即客观存在可以相互区别的事物)、实体集(同类实体的集合)、属性(实体的特性)、实体标识符(唯一标识实体的属性(集))。机器世界中的四个概念:字段、记录、文件、键(关键码)。2、数据描述的两种形式:物理描述和逻辑描述。前者是指数据在存储设备上的存取方式,后者是指程序员或用户以用以操作的数据形式。3、物理描述用到的术语有:位、字节、字、块、桶、卷4、数据联系的描述: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。三、数据模型1、数据模型的概念(领会):表示实体类型及实体类型间联系的模型称为数据模型。它可分为两种类型:概念数据模型和结构数据模型。2、概念数据模型(简单应用):它是独立于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。(应当掌握教材例1.1,设计简单的ER模型)3、结构数据模型:它是直接面向数据库的逻辑结构,是现实世界的第二层抽象。这类模型涉及到计算机系统和数据库管理系统,所以称为结构数据模型。结构数据模型应包含:数据结构、数据操作、数据完整性约束三部分。它主要有:层次、网状、关系三种模型。层次模型(识记):用树型结构表示实体间联系的数据模型网状模型(识记):用有向图结构表示实体类型及实体间联系的数据模型。关系模型(领会):是由若干个关系模式组成的集合,其主要特征是用二维表格结构表达实体集,用外鍵表示实体间联系。4、面向对象模型(识记):通过对象和类的概念来建立的数据库模型,是面向对象技术与数据库技术结合的产物,本节了解一下即可。四、数据库的体系结构(领会)1、三级结构模式:数据库的体系结构分为三级:内部级、概念级和外部级:外部级:单个用户所能看到的数据特性,称外模式。概念级:涉及到所有用户的数据定义,是全局的数据视图,称概念模式。内部级:最接近于物理存储,涉及到实际数据存储的结构,称内模式。2、两级映象:模式/内模式映象:用于定义概念模式和内模式之间的对应性。一般在内模式中描述。外模式/模式映象:用于定义外模式和概念模式间的对应性。一般在外模式中描述。3.两级数据独立性:物理数据独立性:修改内模式时尽量不影响概念模式及外模式,则达到物理数据独立性。逻辑数据独立性:修改概念模式时尽量不影响外模式和应用程序。4.用户及用户界面:这里插一句,数据库模式可以理解为数据库结构。五、数据库管理系统(DBMS领会)1、DBMS的主要功能:(1)数据库的定义功能(2)数据库的操纵功能(3)数据库的保护功能(4)数据库的存储管理(5)数据库的维护功能(6)数据字典2、DBMS的组成:由两大部分组成:查询处理器和存储管理器,前者包括DDL编译器、DML编译器、嵌入型DML预编译器、查询运行核心程序。后者包括授权和完整性管理器,事务管理器、文件管理器,缓冲区管理器。六、数据库系统(DBS领会)DBS由四部分组成:数据库、硬件、软件、数据库管理员。DBS的全局结构及DBS的效益,了解一下。2楼一闪发表于:2005-3-1611:03:22第二章关系模型本章为次重点章,我们经常使用的数据库均采用关系模型,本章主要介绍了关系模型的关系运算理论,主要在于对关系演算运算的理解,为后面章节的SQL作准备。一、关系模型的基本概念(识记)1、关系模型的基本术语:用二维表格结构表示实体集、外键表示实体间联系的数据模型称为关系模型。基本术语有:字段(属性)、字段值(属性值)、记录(元组)、二维表格(元组集合、关系或实例)。在这里,括号中的表述为关系模型中的术语。它与表格中术语可以一一对应。还有,关系中属性个数称为元数,元组个数为基数。键:由一个或几个属性组成。(注意键不一定是唯一的一个属性)。超键:在关系中能唯一标识元组的属性集称为关系模式的超键。(注意,超键也是一个属性集,不一定只是一个属性)候选键:不含有多余属性的超键称为候选键。主键:用户选作元组标识的一个候选键为主键。外键:某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键,如有两个关系S和SC,其中S#是关系S的主键,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外键。2、关系模式、关系子模式和存储模式关系模式:关系模式实际上就是记录类型。它包括:模式名,属性名,值域名以及模式的主键。关系模式仅是对数据特性的描述。(这通常在数据库中表现为一个数据表的结构)关系子模式:就是用户所用到那部分数据的描述。存储模式:关系存储时的基本组织方式是文件,元组是文件中的记录。3、关系模型的三类完整性规则实体完整性规则:要求关系中组成主键的属性上不能有空值。参照完整性规则:要求不引用不存在的实体。用户定义完整性规则:由具体应用环境决定,系统提供定义和检验这类完整性的机制。4、关系模型的形式定义:数据结构、数据操作和完整性规则。二、关系代数运算(简单应用)1、关系代数的五个基本操作:并、差、笛卡尔积、投影和选择。并(∪):两个关系需有相同的关系模式,并的对象是元组,由两个关系所有元组构成。差(-):同样,两个关系有相同的模式,R和S的差是由属于R但不属于S的元组构成的集合。投影(σ):对关系进行垂直分割,消去某些列,并重新安排列的顺序。选择(π):根据某些条件关系作水平分割,即选择符合条件的元组。2、关系代数的四个组合操作:交、联接、自然联接和除法交(∩):R和S的交是由既属于R又属于S的元组构成的集合。联接包括θ联接和F联接,是选择R×S中满足iθ(r+j)或F条件的元组构成的集合,特别注意等值联接(θ为等号=)。自然联接(R|X|S):在R×S中,选择R和S公共属性值均相等的元组,并去掉R×S中重复的公共属性列。如果两个关系没有公共属性,则自然联接就转化为笛卡尔积。除法(÷):首先除法的结果中元数为两个元数的差,以例2.6为例,我们可以直接用观察法来得到结果,把S看作一个块,拿到R中去和相同属性集中的元组作比较,如果有相同的块,且除去此块后留下的相应元组均相同,那么可以得到一条元组,所有这些元组的集合就是除法的结果。对于上述的五个基本操作和组合操作,应当从实际运算方面进行理解和运用,对其形式定义可不必深究。注意课本上的例子。3、关系代数表达式及应用在关系代数表达式中,复合了上述五个基本操作,在给出相应的表格(关系)中,应该能够根据给出的关系代数表达式计算关系值,也要能根据相应查询要求列出关系表达式。在列关系表达式时,通常有以下形式:π...(σ...(R×S))或者π...(σ...(R|X|S))首先把查询涉及到的关系取来,执行笛卡尔积或自然联接操作得到一张大的表格,然后对大表格执行水平分割(选择)和垂直分割(投影)操作。但是注意当查询涉及到否定或全部值时,就不能用上述形式,而要用到差或除法操作。三、关系演算(领会)关系演算分为元组关系演算或域关系演算,前者以元组为变量,后者以域为变量。元组演算表达式的一般形式为:{t|P(t)},其含义为:这是一个元组集合,其中的每个元组t(t是元组变量)满足公式P所规定的条件。所以在书写演算表达式时,应该注重理解公式P如何表达。域演算表达式的一般形式为:{t1...tk|P(t1...,tk)},其含义为:这是一个域集合,其中每个域变量的取值关系满足公式P所规定的条件。也是注意公式P的表达。以上两类演算需要一定的离散数学基础,如果不能很深刻的掌握,问题也不大,主要应看懂表达式即可,对于给定的表达式和给定的关系,应当能计算表达式的结果(得到一个关系)四、查询优化查询优化的目的就是为了系统在执行时既省时间又能提高效率,在关系代数运算中,通常是先进行笛卡尔积或联接运算,再进行选择和投影,恰当地安排选择、投影和联接的顺序,就可实现查询优化。优化的策略主要有以下几点:(1)在关系代数表达式中尽可能早地执行选择操作(早选择).(2)把笛卡尔积和随后的选择操作合并成F联接运算(F联接)(3)同时计算一连串的选择和投影操作(同时算)(4)保留同一子表达式的结果(5)适当对关系文件进行预处理(6)计算表达式之前先估计一下怎么计算合算。以上几点需要理解。根据表达式优化的算法步骤对给定表达式进行优化3楼一闪发表于:2005-3-1611:03:55第三章关系数据库SQL语言本章为重点章,应熟悉和掌握SQL的数据定义、数据查询、数据更新的句法及其应用,特别是数据查询的应用。结合上机操作进行理解和掌握。一、SQL概述。1、SQL发展历程(识记)SQL从1970年美国IBM研究中心的E.F.Codd发表论文到1974年Boyce和Chamberlin把SQUARE语言改为SEQUEL语言,到现在还在不断完善和发展之中,SQL(结构式查询语言)虽然名为查询,但实际上具有定义、查询、更新和控制等多种功能。2、SQL数据库的体系结构(领会)SQL数据库的体系结构也是三级结构,但术语与传统关系模型术语不同,在SQL中,关系模式称为基本表,存储模式称为存储文件,子模式称为视图,元组称行,属性称列。SQL数据库体系的结构要点如下:(1)一个SQL数据库是表的汇集。(2)一个SQL表由行集构成,行是列的序列,每列对应一个数据项。(3)表或者是基本表,或者是视图。基本表是实际存储在数据库中的表,视图由是由若干基本表或其他视图构成的表的定义。(4)一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。存储文件与物理文件对应。(5)用户可以用SQL语句对表进行操作,包括视图和基本表。(6)SQL的用户可以是应用程序,也可以是终端用户。3、SQL的组成(识记)