数据库原理复习Word文档下载推荐.docx
《数据库原理复习Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据库原理复习Word文档下载推荐.docx(54页珍藏版)》请在冰豆网上搜索。
1.程序管理阶段
2.文件系统阶段
3.数据库系统阶段
●数据库系统
数据库系统组成,通常由数据库(DB)、硬件、软件、数据库管理员四部分组成。
●数据库管理系统
1.数据库的定义功能。
2.数据库运行控制功能。
DBMS对数据库的控制主要通过四个方面实现:
数据安全性控制、数据完整性控制、多用户环境下的并发控制和数据库的恢复。
3.数据库的维护功能。
这一部分包括数据库的初始数据的载入、转换功能、数据库的转储功能、数据库的重组织功能和性能监视、分析功能,大都由各个实用程序来完成。
4.数据字典(DataDictionary,记为DD)。
数据字典的主要作用是:
供数据库管理系统快速查找有关对象的信息。
数据库管理系统在处理用户存取时,要经常查阅数据字典中的用户表、外模式表和模式表;
供数据库管理员查询,以掌握整个系统的运行情况;
支持数据库设计与系统分析。
●数据库系统的三级模式:
1.外模式
2.内模式
3.模式
4.模式间的映像
●数据模型
1.三个世界现实世界、信息世界、机器世界
数据描述的三个领域(现实世界、信息世界和机器世界)
信息世界中的几个概念:
(1)实体--即客观存在可以相互区别的事物
(2)
实体集--同类实体的集合
(3)
属性--实体的特性
(4)
实体标识符--唯一标识实体的属性或属性集
机器世界中的四个概念:
(1)字段--标记实体属性的命名单位称为字段或数据项
(2)记录--字段的有序集合
(3)文件--同一类记录的汇集
(4)键(关键码)--能唯一标识文件中每个记录的字段或字段集。
这个概念与实体标识符的概念相对应。
概念的内涵与外延:
类型是概念的内涵,而值是概念的外延。
数据描述的两种形式:
物理描述和逻辑描述。
前者是指数据在存储设备上的存取方式,后者是指程序员或用户用以操作的数据形式。
2.数据模型的三要素
(1)数据结构
(2)数据操作
(3)数据的约束条件
3.实体模型,两个实体间的联系可分为3类:
(1)一对一联系(1:
1)如:
学校与校长,观众与座位等。
(2)一对多联系(1:
n)如:
省与市,学校与系部等。
(3)多对多联系(n:
m)如:
学生与课程,教师与课程,师生关系,商店与商品,图书与读者,工厂与产品等。
●几种主要的数据模型
1.层次数据模型
2.网状模型
3.关系模型
●关系数据模型的数据结构
在用户看来,一个关系模型的逻辑结构是一张二维表,它由行和列组成。
例如,图2.20中的学生人事记录就是一个关系模型,它涉及下列概念。
学号
姓名
性别
系别
年龄
籍贯
1
王鹏
男
计算机系
23
北京市
2
李鹏
物理系
22
上海市
3
张贴
女
数学系
24
天津市
关系:
对应通常说的表,如图中的这张学生人事记录表;
元组:
表中的一行即为一个元组;
属性;
表中的一例即为一个属性,有6列,对应6个属性(学号,姓名,性别,系别,年龄和籍贯);
主码(KEY):
表中的某个属性组,它可以唯一确定一个元组,如图2.20中的学号,按照学生学号的编排方法,每个学生的学号都不相同,所以它可以唯一确定一个学生,也就成为本关系的码;
域(domain):
属性的取值范围,如人的年龄一般在1-100岁之间。
图2.20中学生年龄属性的域应是(14—38),性别的域是(男,女),系别的域是一个学校所有系名的集合;
分量:
元组中的一个属性值;
关系模型:
对关系的描述,一般表示为:
关系名(属性1,属性2,……,属性N)
例如,上面的关系可描述为:
学生(学号,姓名,性别,系别,年龄,籍贯)
在关系模型中,实体以及实体间的联系都是用关系来表示的。
例如,学生、课程、学生与课程之间的多对多联系在关系模型中可以表示如下:
学生(学号,姓名,性别,系别,年龄,籍贯)
课程(课程号,学分)
选修(学号,课程号,成绩)
●关系数据模型的操纵与完整性约束条件
关系数据模型的操纵主要包括查询、插入、删除和更新数据。
这些操作必须满足关系的完整性约束条件。
关系的完整性约束条件包括3大类:
实体完整性、参照完整性和用户定义的完整性。
关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合,而不像非关系模型中那样是单记录的操作方式。
另一方面,关系模型把存取路径向用户隐蔽起来,用户只要提出“干什么”或者“找什么”,不必详细说明“怎么干”或者“怎么找”,从而大大的提高了数据的独立性,提高了用户的生产率。
●关系数据模型的存储结构
关系数据模型中,实体及实体间的联系都用二维表来表示。
在数据库的物理组织中,二维表以文件形式存储,每一个二维表通常对应一个表文件。
(4)关系数据模型的优缺点
关系数据模型具有下列优点:
(1)关系模型与非关系模型不同,它是建立在严格的数学概念的基础上。
(2)关系模型的概念单一,无论实体还是实体之间的联系都用关系来表示。
对数据的检索结果也是关系(即表)。
所以其数据结构简单、清晰,用户易懂易用。
(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性,也简化了编程序的工作和数据库开发建立的工作。
●为某百货公司设计一个ER模型。
百货管辖若干个连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。
实体类型“商店”的属性有:
商店编号,店名,店址,店经理。
实体类型“商品”的属性有:
商品编号,商品名,单价,产地。
实体类型“职工”的属性有:
职工编号,职工名,性别,工资。
在联系中应反映出职工参加某商店工作的开始时间,商店销售商品的月销售量。
试画出反映商店、商品、职工实体类型及联系类型的ER图,并将其转换成关系模式集。
实体:
商店(商店编号,店名,店址,店经理)
商品(商品编号,商品名,单价,产地)
职工(职工编号,职工名,性别,工资)
联系:
SC(商店—商品之间1:
N的联系,联系属性为“职工参加商店工作的开始时间”。
SE(商店—职工之间1:
N的联系),联系属性为“月销售量”。
关系模式集:
⏹商店模式(商店编号,店名,店址,店经理)
⏹商品模式(商品编号,商品名,单价,产地,商店编号,月销售量)
⏹职工模式(职工编号,职工名,性别,工资,商店编号,开始时间)
第2章关系数据库
●关系模型概述
1.关系模型组成
关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
关系操作分为两大部分如图所示。
查询
其它
选择Select
增加Insert
投影Project
删除Delete
连接Join
修改Update
除Divide
并Union
交Intersection
差Difference
2.关系操作的特点
关系操作的特点是操作对象和操作结果都是集合。
而非关系数据模型的数据操作方式则为一次一个记录的方式。
关系数据语言分为三类:
(1)关系代数语言:
如ISBL;
(2)关系演算语言:
分为元组关系演算语言(如Alpha,Quel)、域关系演算语言(如QBE);
(3)具有关系代数和关系演算双重特点的语言:
如SQL。
●关系数据结构及其形式化定义
1.域
定义域是一组具有相同数据类型的值的集合。
2.笛卡尔积
定义设D1,D2,D3,…,Dn,为任意集合,定义Dl,D2,D3,…,Dn的笛卡尔积为
D1×
D2×
D3×
…×
Dn={(d1,d2,d3,…dn)[di∈Di,i=1,2,3…,n]
其中每一个元素(dl,d2,d3,…,dn,)叫做一个n元组(n一tuple)或简称为元组(Tuple),每一个值di叫做一个分量(Component),若Di(i=l,2,…n)为有限集,其基数(Cardinalnumber)为mi(i=l,2,3,…,n),则D1×
Dn的基数M为M=,
笛卡尔积可以用二维表来表示。
例D1={0,1},D2={a,b,c}
则:
D1×
D2={(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)}用二维表来表示,如图2—2所示。
D1
D2
a
b
c
3.关系的形式化定义及相关名词
定义D1×
Dn的子集叫做在域D1,D2,D3,…,Dn上的关系,
用R(D1,D2,D3,…,Dn),称关系R为n元关系。
目或度这里的R表示关系的名字,n是关系的目或度(Degree)。
候选码若关系中的某一属性组的值能惟一的标识一个元组,则称该属性组为候选码(CandidateKey)。
主码若一个关系有多个候选码,则选定其中一个为主码(PrimaryKey)。
主码诸属性称为主属性。
不包含在任何候选码中的属性称为非码属性(Non—Keyattribute)。
关系模型的所有属性组是这个关系模式的候选码,称为全码(All—key)
4.关系的三种类型
(1)基本关系(通常又称为基本表或基表),是实际存在的表,它是实际存储数据的逻辑表示
(2)查询表,查询结果对应的表
(3)视图表,是由基本表或其他视图表导出的表,也常称为虚表
●关系数据库与关系模式
在数据库中要区分型和值。
关系数据库中的型也称为关系数据库模式,是关系数据库的描述。
它包括若干域的定义以及在这些域上定义的若干关系模式。
关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常称之为关系数据库。
定义关系的描述称为关系模式(RelationSchema)。
可以形式化的表示为
R(U,D,dom,F)
其中,R表示关系名;
U是组成该关系的属性名集合;
D是属性的域;
dom是属性向域的映像集合;
F为属性间数据的依赖关系集合。
通常将关系模式简记为:
R(U)或R(Al,A2,A3,…,An。
)
其中R为关系名,A1,A2,A3,…,An。
为属性名,域名、属性向域的映像常常直接说明属性的类型、长度。
例定义学生与课程关系模式及主码如下:
(1)S(Sno,Sname,SD,SA)Key(Sno)
(2)