数据库系统考博复习提要 下载本文

第一章 绪论

1.1 数据库系统概述

1、数据(Data):数据库中存储的基本对象(文字、图形、图像、声音) 例:(李明,男,1972,江苏,计算机系,1990)

语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间

解释:李明是个大学生,1972年出生,江苏人,1990年考入计算机系

2、数据库(Database):长期储存在计算机内、有组织的、可共享的大量数据集合 3、数据库管理系统(DBMS):位于用户与操作系统之间的一层数据管理软件。

功能:数据定义(DDL)、数据操纵(DML) (查询、插入、删除和修改)、数据库的运行管理、数据库的建立和维护功能(实用程序)

4、数据库系统(DBS):由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(和用户)构成。

5、数据管理:对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题

发展:人工管理阶段(40年代中--50年代中)、文件系统阶段(50年代末--60年代中)、数据库系统阶段(60年代末--现在)

6、数据独立性

? 物理独立性:指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改

变了,应用程序不用改变。

? 逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程

序也可以不变。

1.2 数据模型

数据的结构用数据模型描述,无需程序定义和解释。数据的最小存取单位是数据项。 1、两个层次

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

数据模型:包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。 2、组成要素:数据结构、数据操作、数据的约束条件 3、信息世界中的基本概念:

(1) 实体(Entity)(2) 属性(Attribute)(3) 码(Key)(4) 域(Domain)(5) 实体型(Entity Type)(6) 实体集(Entity Set)(7) 联系(Relationship) 一对一联系(1:1)、一对多联系(1:n)、多对多联系(m:n) ? 一个班级只有一个正班长,一个班长只在一个班中任职 ? 一个班级中有若干名学生,每个学生只在一个班级中学习

? 一门课程同时有若干个学生选修,一个学生可以同时选修多门课程 4、 概念模型的表示方法:实体-联系方法(E-R方法)

5、关系模型

? 关系(Relation):一个关系对应通常说的一张表。 ? 元组(Tuple):表中的一行即为一个元组。 ? 属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名。

1

? ? ? ?

主码(Key):表中的某个属性组,它可以唯一确定一个元组。 域(Domain):属性的取值范围。 分量:元组中的一个属性值。

关系模式:对关系的描述,关系名(属性1,属性2,…,属性n),学生(学号,姓名,年龄,性别,系,年级)

? 实体型:直接用关系(表)表示。 ? 属性:用属性名表示。

? 一对一联系:隐含在实体对应的关系中。 ? 一对多联系:隐含在实体对应的关系中。 ? 多对多联系:直接用关系表示。 1.3 数据库系统结构

1、模式(也称逻辑模式)

(1)数据库中全体数据的逻辑结构和特征的描述,所有用户的公共数据视图,综合了所有用户的需求。一个数据库只有一个模式。

(2)地位:是数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关。

(3)定义:数据的逻辑结构(数据项的名字、类型、取值范围等)、数据之间的联系、数据有关的安全性、完整性要求

2、 外模式(也称子模式或用户模式)

(1)数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述,数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。

(2)地位:介于模式与应用之间,模式与外模式的关系:一对多。外模式通常是模式的子集,一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求,对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同,外模式与应用的关系:一对多,同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。 3、内模式(也称存储模式)

(1)是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。 (记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)、索引的组织方式、数据是否压缩存储、数据是否加密、数据存储记录结构的规定) (2)一个数据库只有一个内模式 三级模式是对数据的三个抽象级别

二级映象在DBMS内部实现这三个抽象层次的联系和转换 4、外模式/模式映象

(1)定义外模式与模式之间的对应关系、每一个外模式都对应一个外模式/模式映象、映象定义通常包含在各自外模式的描述中。

2

(2)用途:保证数据的逻辑独立性

? 当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变。

? 应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称

数据的逻辑独立性。 5、模式/内模式映象

(1)模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的、数据库中模式/内模式映象是唯一的、该映象定义通常包含在模式描述中。 (2)用途:保证数据的物理独立性

? 当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模

式保持不变。

? 应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。

第二章 关系数据库

2.1 关系模型概述 1、常用的关系操作:

查询:选择、投影、连接、除、并、交、差 数据更新:插入、删除、修改

查询的表达能力是其中最主要的部分

2、关系的三类完整性约束:实体完整性、参照完整性、用户定义的完整性 2.2 关系数据结构 1. 域(Domain):一组具有相同数据类型的值的集合 2. 笛卡尔积(Cartesian Product)

给定一组域D1,D2,…,Dn,这些域中可以有相同的。D1,D2,…,Dn的笛卡尔积为: D1×D2×…×Dn={(d1,d2,…,dn)|di?Di,i=1,2,…,n} 元组:笛卡尔积中每一个元素(d1,d2,…,dn)。 分量(Component):笛卡尔积元素(d1,d2,…,dn)中的每一个值di叫作一个分量。

若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…×Dn的基数M为:

M??mii?1n

3. 关系(Relation

D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn) 关系模式可以形式化地表示为: R(U,D,dom,F) R 关系名

U 组成该关系的属性名集合 D 属性组U中属性所来自的域 dom 属性向域的映象集合

F 属性间的数据依赖关系集合

关系模式通常可以简记为R (U) 或 R (A1,A2,…,An) (R 关系名 A1,A2,…,An 属性名) 2.3 关系的完整性

1、实体完整性:若属性A是基本关系R的主属性,则属性A不能取空值。

2、参照完整性:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为: ? 或者取空值(F的每个属性值均为空值) ? 或者等于S中某个元组的主码值。

例如:学生关系中每个元组的“专业号”属性只取下面两类值: (1)空值,表示尚未给该学生分配专业

3

(2)非空值,这时该值必须是专业关系中某个元组的“专业号”值,表示该学生不可能分配到一个不存在的专业中。

3、用户定义的完整性

2.4 关系代数

1、传统的集合运算:并、差、交、广义笛卡尔积 R∪S = { t | t ? R∨t ?S } R - S = { t | t?R∧t ?S }

R∩S = { t | t ? R∧t ?S } R∩S = R –(R-S)

广义R×S :R:n目关系,k1个元组。S:m目关系,k2个元组 列:(n+m)列的元组的集合,元组的前n列是关系R的一个元组,后m列是关系S的一个元组。 行:k1×k2个元组

2、专门的关系运算:选择、投影、连接、除 σF(R) = {t|t?R∧F(t)= '真'} σSdept = 'IS' (Student) πA(R) = { t[A] | t ?R } πSname,Sdept(Student) 连接:

4