学习数据库概论第二天

1.3数据库系统的结构

在数据模型中有“型(type)”和“值(value)”的概念。
型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。
例:学生记录定义为(学号,姓名,性别,系别,年龄,籍贯)这样的记录型,而(201315130,李明,男,计算机系,19,江苏南京市)则是该记录型的一个记录值。

模式是数据库中全体数据的逻辑结构和特性的描述,它仅仅涉及型的描述,不涉及具体的值。模式的一个具体值称为模式的一个实例。同一模式可以有很多实例。
例:在学生选课数据库模式中包含学生记录、课程记录和学生选课记录,现有一个具体的学生选课数据库实例,该实例包含了2013年学校中所有学生的记录、学校开设的所有课程的记录和所有学生选课的记录。2012年学生选课数据库模式对应的实例和2013年学生选课数据库模式对应的实例是不同的。

模式是相对稳定的,而实例是相对变动的。模式反应的是数据的结构及其联系,而实例反应的是数据库某一时刻的状态。

所有的数据库管理系统产品在体系结构上通常都具有相同的特征,即三级模式结构并提供两级映像功能。
三级模式结构是指外模式、模式、内模式三级。
1.模式
模式(逻辑模式),是数据库中全体数据的逻辑结构和特征的描述,是所有用户公共数据视图。是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,又与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关。
模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一种模式。
数据库管理系统提供模式数据定义语言(模式DDL)来严格地定义模式。

2.外模式
外模式(子模式或用户模式)是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据和特征的描述,是数据库用户的数据视图,是与某一种应用有关的数据的逻辑表示。
外模式通常是模式的子集,一个模式可以有多个外模式。由于它是各个用户的数据视图,如果不同的用户在应用需求、看待数据的方式、对数据保密的要求等方面存在差异,则其外模式描述就是不同的。即使对模式同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同。同一模式可以为某一用户的多个应用系统所使用,但一个用户程序只能使用一个外模式。(外模式与用户是一对多)
外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其他数据是不可见的。
数据库管理系统提供外模式数据定义语言(外模式DDL)来严格地定义外模式。
3.内模式
内模式(存储模式),一个数据库只有一种内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。例:记录的存储方式,索引按照什么方式组织,等等。

数据库管理系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。
保证了数据库系统中的数据具有较高的逻辑独立性和物理独立性。
1.外模式/模式映像
模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同一模式可以任意有多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。这些映像通常包含在各自外模式的描述中。
当模式 改变时,由数据库管理员对各个外模式/模式映像作出相应改变,可以是外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
2.模式/内模式
数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据全体逻辑结构与存储结构之间的对应关系。该映像通常包含在模式描述中。当数据库的存储结构改变时,由数据库管理员对模式/内模式映像作出相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性。
在数据库的三级模式结构中,数据库模式即全局逻辑结构是数据库的中心与关键,它独立于数据库的其他层次,因此设计数据库模式结构时应首先确定数据库的逻辑模式。

第二章关系数据库

2.1关系数据结构及形式化定义

1.域
域是一组具有相同数据类型的值的集合。例:自然数
2.笛卡尔积
笛卡尔积是域上的一种集合运算。
一个域允许的不同取值个数称为这个域的基数。
3.关系
关系是笛卡尔积的有限子集,所以关系也是一张二维表,表的每行对应一个元组,表的每列对应一个域。

若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码。
若一个关系有多个候选码,则选定其中一个为主码。
候选码的诸属性称为主属性。不包含在任何候选码中的属性称为非主属性或非码属性。
在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模式的所有属性是这个关系模式的候选码,称为全码。

关系可以有三种类型:基本关系,(基本表或基表)、查询表和视图表。
基本表是实际存在的表,它是实际存储数据的逻辑表示。查询表是查询结果对应的表。视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。

当关系作为关系数据模型的数据结构时,需要给予如下的限定和扩充。
(1)无限关系在数据库系统中是无意义的。因此,限定关系数据模型中的关系必须是有限集合。
(2)通过为关系的每个列附加一个属性名的方法取消关系属性的有序性。
基本关系具有以下6个性质。
(1)列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。
(2)不同的列可出自同一个域,称其中的每一个列为一个属性,不同的属性要给予不同的属性名。
(3)列的顺序无所谓,即列的次序可以任意交换。
(4)任意两个元组的候选码不能取相同的值。
(5)行的顺序无所谓,即行的次序可以任意交换。
(6)分量必须取原子值,即每一个分量都必须是不可分的数据项。

关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。

关系数据库也有型和值之分。关系数据库的型也称关系数据库模式,是对关系数据库的描述。关系数据库模式包含若干域的定义,以及在这些域上定义的若干关系模式。
关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。

2.2关系操作

关系模型中常用的关系操作包括查询操作和插入、删除、修改操作两大部分。
关系的查询表达能力很强,是关系操作中最主要的部分。查询操作又可分为选择、投影、连接、除、并、差、交、笛卡尔积等。其中选择、投影、并、差、笛卡尔积是5种基本操作。

关系操作的特点是集合操作方式,即操作的对象和结果都是集合。

2.3关系的完整性

关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称为关系的两个不变性,由关系系统自动支持。

实体完整性规则
若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值。
对于实体完整性规则说明如下:
(1)实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个是实体集。
(2)现实世界中的实体是可区分的,即它们具有某种唯一性标识。
(3)相应地,关系模型中以主码作为唯一性标识。
(4)主码中的属性即主属性不能取空值。

发布了38 篇原创文章 · 获赞 38 · 访问量 2736

猜你喜欢

转载自blog.csdn.net/l13kddd/article/details/104522012