数据库系统
第一章绪论
本章属于基础知识,主要是对一些概念的理解和记忆。没有难点,相对的重点在于ER模型的设计和关系模型的掌握。
一、数据管理技术的发展阶段(识记)
数据管理技术共经历了三个阶段:人工管理阶段、文件系统阶段、数据库阶段:
1、人工管理阶段的特点:
(1)数据不保存在机器中
(2)没有专用软件对数据进行管理
(3)只有程序的概念,没有文件的概念。
2、文件系统阶段的特点与缺陷:
(1)数据可长期保存在磁盘上。
(2)数据的逻辑结构与物理结构有了区别
(3)文件组织呈现多样化
(4)数据不再属于某个特定程序,可以重复使用。
其缺陷是:
数据冗余性
数据不一致性
数据联系弱
3、数据库阶段的特点
采用复杂的数据模型表示数据结构
有较高的数据独立性(数据结构分成用户的逻辑结构、整体逻辑结构和物理结构三级)
数据库系统为用户提供方便的用户接口,可以使用查询语言、终端命令或程序方式操作数据库。
系统提供了四个方面的数据控制功能:数据库的恢复、并发控制、数据完整性和数据安全性。
对数据的操作不一定以记录为单位,还可以数据项为单位。
数据库技术中的四个名词:DB、DBMS、DBS、数据库技术。其概念是不同的,要分清。
DB:数据库(Database),DB是统一管理的相关数据的集合。
DBMS:数据库管理系统(Database Management
System),DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。
DBS:数据库系统(Database System),DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。
数据库技术:是一门研究数据库结构、存储、管理和使用的软件学科。
二、数据描述的术语(领会)
1、数据描述的三个领域:现实世界、信息世界和机器世界。
信息世界中的几个概念:实体(即客观存在可以相互区别的事物)、实体集(同类实体的集合)、属性(实体的特性)、实体标识符(唯一标识实体的属性(集))。
机器世界中的四个概念:字段、记录、文件、键(关键码)。
2、数据描述的两种形式:物理描述和逻辑描述。前者是指数据在存储设备上的存取方式,后者是指程序员或用户以用以操作的数据形式。
3、数据联系的描述:
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、 概念数据模型(领会):
它是独立于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。(掌握ER模型)
3、 结构数据模型:它是直接面向数据库的逻辑结构,是现实世界的第二层抽象。这类模型涉及到计算机系统和数据库管理系统,所以称为"结构数据模型"。结构数据模型应包含:数据结构、数据操作、数据完整性约束三部分。
层次模型(识记):用树型结构表示实体间联系的数据模型
关系模型(领会):是由若干个关系模式组成的集合,其主要特征是用二维表格结构表达实体集,用外鍵表示实体间联系。
四、数据库的体系结构(领会)
1、三级结构模式:数据库的体系结构分为三级:内部级、概念级和外部级:
外部级:单个用户所能看到的数据特性,称外模式。
概念级:涉及到所有用户的数据定义,是全局的数据视图,称"概念模式"。
内部级:最接近于物理存储,涉及到实际数据存储的结构,称"内模式"。
2、两级映象:
模式/内模式映象:用于定义概念模式和内模式之间的对应性。一般在内模式中描述。
外模式/模式映象:用于定义外模式和概念模式间的对应性。一般在外模式中描述。
3.两级数据独立性:
物理数据独立性:修改内模式时尽量不影响概念模式及外模式,则达到物理数据独立性。
逻辑数据独立性:修改概念模式时尽量不影响外模式和应用程序。
五、数据库管理系统(DBMS 领会)
1、DBMS的主要功能:
(1)数据库的定义功能
(2)数据库的操纵功能
(3)数据库的保护功能
(4)数据库的存储管理
(5)数据库的维护功能
(6)数据字典
2、DBMS的组成:
由两大部分组成:查询处理器和存储管理器,前者包括DDL编译器、DML编译器、嵌入型DML预编译器、查询运行核心程序。后者包括授权和完整性管理器,事务管理器、文件管理器,缓冲区管理器。
六、数据库系统(DBS 领会)
DBS由四部分组成:数据库、硬件、软件、数据库管理员。
DBS的全局结构及DBS的效益,了解一下。
第二章 关系数据库
本章为次重点章,我们经常使用的数据库均采用关系模型,本章主要介绍了关系模型的关系运算理论,主要在于对关系演算运算的理解,为后面章节的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))
首先把查询涉及到的关系取来,执行笛卡尔积或自然联接操作得到一张大的表格,然后对大表格执行水平分割(选择)和垂直分割(投影)操作。但是注意当查询涉及到否定或全部值时,就不能用上述形式,而要用到差或除法操作。
第三章关系数据库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的组成(识记)
SQL由三部分组成:
(1)数据定义:SQL DDL。定义SQL模式,基本表、视图和索引。
(2)数据操纵:SQL DML。包括数据查询和数据更新(增、删、改)。
(3)数据控制:包括对基本表和视图的授权、完整性规则的描述,事务控制等。
二、SQL的数据定义(简单应用)
1、SQL模式的创建和撤消:
SQL模式的创建可简单理解为建立一个数据库,定义一个存储空间,其句法是:
CREAT SCHEMA
AUTHORIZATION
撤消SQL模式的句法为:
DROP SCHEMA
[CASCADE|RESTRICT]
方括号中的选项参数CASCADE表示连锁方式,执行时将模式下所有基本表、视图、索引等元素全部撤消。RESTRICT表示约束式,执行时必须在SQL模式中没有任何下属元素时方可撤消模式。
2、SQL提供的基本数据类型
数值型:包括 integer、smallint、real、double precision 、float(n),numeric(p,d)
字符串型:char(n)、varchar(n),前者是定长,后者为变长串
位串型:bit(n),bit varying(n),同上。
时间型:date、time。
3、基本表的创建、修改和撤消