一、数据库的基本概念
1、四个基本概念
数据(data)
数据库(database DB):长期存储在计算机内、有组织、可共享的大量的数据集合。
数据库管理系统(DBMS):位于用户与操作系统之间的一层数据管理软件
数据库系统(DSB)
2、数据库系统特点
数据结构化、数据共享性高,冗余度低且容易扩充、数据独立性高、数据由数据库管理系统统一管理和控制
3、概念模型
3.1信息世界中的基本概念
(1)实体:客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。比如:学生
(2)属性:实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。比如:姓名
(3)码:唯一标识实体的属性集称为码。比如:学号
(4)实体型:用实体名及其属性名集合来抽象和刻画同类实体称为实体型。比如:整个下图
(5)实体集:同一类型的实体的集合称为实体集。比如:所有的学生
(6)联系:包括实体型内部的联系和实体型之间的联系。内部的联系是指组成实体的各属性之间的联系。实体之间的联系指不同实体集之间的联系,有一对一、一对多和多对多等。
3.2、表示方法(E-R)图
3.2.2例
4、逻辑模型(由概念模型转化而来)
组成要素:
(1)数据结构:描述数据库的组成对象以及对象之间的联系
(2)数据操作:对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则
(3)数据库的完整性约束条件:一组完整性规则,给定的数据模型中数据及其联系所具有的制约和依存规则
4.1层次模型
4.1.1条件
有且只有一个结点没有双亲结点,这个节点为根节点。根以外的其他结点有且只有一个双亲结点
4.1.2特点
结点的双亲是唯一的;只能处理一对多的实体联系;任何记录只有按其路径查看才能显出全部意义;没有一个子女记录能脱离双亲记录而独立存在。
4.1.3完整性约束条件
无相应的双亲结点值就不能插入子女结点值;如果删除双亲节点值,则相应的子女结点值也被同时删除。
4.1.4例:
4.1.5优缺点
优点:层次模型的数据结构比较简单清晰。
缺点:结点之间的多对多联系表示不自然;对插入和删除操作的限制多,应用程序的编写比较复杂;查询子女结点必须通过双亲结点。
4.2网状模型
4.2.1条件
1.允许一个以上的结点无双亲;2.一个结点可以有多于一个的双亲。
4.2.2优缺点
优点:能够更为直接地描述现实世界,如一个结点可以有多个双亲;良好的性能,存取效率较高。
缺点:结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握;DDL、DML语言复杂,用户不容易使用。
4.2.3例
4.3关系模型
4.3.1相关术语
关系:一个关系对应通常说的一张表。
元组:表中的一行即为一个元组。
属性:表中的一列即为一个属性,给每一个属性起一个名称即属性名。
码:表中的某个属性组,它可以唯一确定一个元组。
域:—组具有相同数据类型的值的集合。属性的取值范围来自某个域。
分量:元组中的一个属性值。
4.3.2优缺点
优点:建立在严格的数学概念的基础上:集合代数。关系模型的概念单一:关系。关系模型的存取路径对用户隐藏:更好的安全保密性。
缺点:存取路径对用户隐藏,查询效率往往不如格式化数据模型。为了提高性能,数据库管理系统必须对用户的查询请求进行优化,因此增加了开发数据库管理系统的难度。
4.3.3例
5、数据库体系结构
从数据库开发人员角度,通常采用**三级模式结构,**是数据库系统内部的系统结构。从数据库最终用户角度看,数据库系统的结构分为:客户/服务器结构(Client/Server)、浏览器/服务器结构(Browser/Server)和分布式结构
5.1数据库系统的三级模式结构
5.1.1.模式
也称逻辑模式,数据库中全体数据的逻辑结构和特征的描述,所有用户的公共数据视图。一个数据库只有一个模式。
地位:是数据库系统模式结构的中间层。与数据的物理存储细节和硬件环境无关。与具体的应用程序、开发工具及高级程序设计语言无关。
定义模式:定义数据的逻辑结构(数据项的名字、类型、取值范围等)。定义数据之间的联系。定义数据有关的安全性、完整性要求。
5.1.2外模式
也称子模式或用户模式,数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
地位:介于模式与应用之间。
模式与外模式的关系:一对多。外模式通常是模式的子集。一个数据库可以有多个外模式。
5.1.3内模式
也称存储模式,一个数据库只有一个内模式。是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
作用:记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储);索引的组织方式;数据是否压缩存储;数据是否加密;数据存储记录结构的规定。
5.2两级映像
5.2.1外模式/模式映像
概念:
定义外模式与模式之间的对应关系。每一个外模式都对应一个外模式╱模式映象。映象定义通常包含在各自外模式的描述中。
功能:保证数据的逻辑独立性
当模式改变时,数据库管理员修改有关的外模式╱模式映象,使外模式保持不变;
应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
5.2.2模式/内模式映像
概念:
模式╱内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。数据库中模式╱内模式映象是唯一的。
该映象定义通常包含在模式描述中。
功能:保证数据的物理独立性
当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式╱内模式映象,使模式保持不变;
应用程序不受影响,保证了数据与程序的物理独立性,简称数据的物理独立性。
5.3客户/服务器结构
数据库服务器:存放数据,提供数据访问服务。
客户端:运行应用程序,·处理业务逻辑。
5.4浏览器/服务器结构
数据库服务器:存放数据,提供数据访问服务。
WEB服务器:运行应用程序,处理业务逻辑。
客户端:浏览器
5.5分布式结构
6、总结
二、关系数据库
1、相关定义
1.1域:是一组具有相同数据类型的值的集合。
1.2笛卡尔积:给定一组域D1、D2、…、Dn,这些域中可以有相同的。D1、D5、 …Dn的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…dn)di∈Di,i=1,2,…n}。其中每一个元素( d,d,…,d,)叫作一个n元组或简称元组,元素中的每一个值d叫作一个分量。
1.2.1笛卡尔积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。
1.2.2例:
1.3、超码:若关系中的某一个或多个属性的集合能唯一地标识一个元组,则称该属性或属性组
1.4、候选码:如果构成超码属性组的任意真子集都不能成为超码,这样的最小超码
1.5、主码:若一个关系有多个候选码,则选定其中一个为主码。
例:
超码只要包含学号即可
2、基本关系具有的性质
(1)列是同质的,每一列中的分量是同一类型的数据,来自同一个域。
(2)不同的列可出自同一个域,其中的每一列称为一个属性,不同的属性要给予不同的属性名。
(3)列的顺序无所谓,列的次序可以任意交换。
(4)任意两个元组的候选码不能相同。
(5)行的顺序无所谓,行的次序可以任意交换。
(6)分量必须取原子值,每一个分量都必须是不可分的数据项。
3、关系模式
3.1、定义:
关系的描述称为关系模式。
它可以形式化地表示为:R (U,D,DOM,F)
其中,R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映象集合,F为属性间数据的依赖关系集合。
3.2、简写
关系模式简记为 :R(U)或R(A,A,…,A,)其中R为关系名,A1,A2,…,An,为属性名。
3.3、关系模式与关系的区别
(1)关系模式是型,关系是值。
(2)关系是关系模式在某一时刻的状态或内容。
(3)关系模式是静态的、稳定的。关系是动态的、随时间变化的。
4、关系操作
5、关系的完整性
5.1、概念
(1)数据库的完整性是指数据的正确性和有效性。是指数据是符合现实世界语义、反映当前实际状况的。
(2)通过对关系(二维表)中取值的约束,可以保证数据库的完整性,保证数据的正确性。
5.2、分类
实体完整性、参照完整性、用户定义的完整性
5.2.1实体完整性
实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。空值表示:不知道、不存在、无意义。
注意:实体完整性规则规定基本关系的所有主属性都不能取空值。
说明
(1)实体完整性规则是针对基本关系而言的。
(2)现实世界中的实体是可区分的,即它们具有某种唯一性标识。
(3)相应地,关系模型中以主码作为唯一性标识。
(4)主码中的属性即主属性不能取空值。
5.2.2参照完整性
外码:设F是基本关系R的一个或一组属性,但不是关系R的主码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码。
参照完整性规则:若属性F是基本关系R的外码,它与基本关系S的主码K相对应,则对于R中每个元组在F上的值必须为:或者取空值或者等于s中某个元组的主码值。
5.2.3用户定义完整性
用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。
用户定义的完整性没有统一的规则,由数据库设计人员根据具体应用中数据的语义要求来创建。
6、关系代数
6.1、定义
一种抽象的查询语言;用对关系的运算来表达查询。
6.2、关系代数运算的三个要素
运算对象:关系
运算结果:关系
运算符:四类
6.3、关系运算符
6.3.1分类
(1)集合运算符(∩ — U ×)(交 差 并 广义笛卡尔积)
将关系看成元组的集合;
运算是从关系的“水平”方向即行的角度来进行。
(选择、投影、连接、除)
(3)比较运算符(< > ≥ ≤ = ≠)
辅助专门的关系运算符进行操作。
6.4、关系代数运算分类
传统的集合运算:并、差、交、广义笛卡尔积
专门的关系运算:选择、投影、连接、除
6.4.1并差交
条件:具有相同的目n(即两个关系都有n个属性),相应的属性取自同一个域。
并—RUS:仍为n目关系,由属于R或属于s的元组组成。
差—R-S:仍为n目关系,由属于R而不属于s的所有元组组成。
交—RnS:仍为n目关系,由既属于R又属于s的元组组成。
6.4.2广义笛卡尔积
R:n目关系,k1个元组
s: m目关系,k2个元组
R×S
列: (n+m)列的元组的集合
·元组的前n列是关系R的一个元组·后m列是关系S的一个元组
行:k1×k2个元组
6.4.3选择(行角度)
选择操作是在关系R中选择满足给定条件的诸元组
[例2]查询年龄小于20岁的男同学的信息。
6.4.4投影(列角度)
从关系R中选择出若干属性列组成新的关系。
6.4.5连接
从两个关系的笛卡尔积中选取属性间满足一定条件的元组。
等值连接
自然连接(一种特殊的等值连接)
自然连接比等值连接的特殊之处
·首先,要求两个关系进行比较的分量必须是同名属性组;
·最后,在等值连接的结果中去掉重复的属性列。
外连接
悬浮元组:把两个关系在做自然连接时被舍弃的元组称为悬浮元组。
外连接:如果把悬浮元组也保存在R和S自然连接(RXS)的结果关系中,而在其它属性上填空值,那么这种连接就叫做外连接(outer join) 。
左外连:如果只保留左边关系R中的悬浮元组就叫做左外连(left outer join) 。
右外连:如果只保留右边关系S中的悬浮元组就叫做右外连(right outer join) 。
6.4.6除
除法运算是二目运算
设有关系R(X,Y)与关系S(Y,z),其中X,Y,Z为属性集合。R中的Y与S中的Y可以有不同的属性名,但对应属性必须出自相同的域。
R与S的除法运算得到一个新的关系P(X);
P是R中满足下列条件的元组在×属性列上的投影:元组在X上分量值x的象集Y,包含S在Y上投影的集合,记作:
分析:
在关系R中,A可以取四个值{a1,a2,a3,a4}
a1的象集为{(b1,c2),(b2,c3),(b2,C1)}
a2的象集为{(b3,c7),(b2,c3)}
a3的象集为{(b4,c6)}
a4的象集为{(b6,c6)}
(象集:当A取a1时对应的BC值)
S在(B,C)上的投影为
{(b1,c2),(b2,c1),(b2,c3)}
只有a,的象集包含了S在(B,C)属性组上的投影所以R÷S={a1}
7、总结
下一篇:复试数据库系统概论(2)