我学数据库(8)

您所在的位置:网站首页 数据模式的三要素是 我学数据库(8)

我学数据库(8)

2024-07-11 09:40| 来源: 网络整理| 查看: 265

  前面的随笔当中也介绍了关于关系模型以及一些简单的基本术语,这次随笔呢深入的了解一下这些概念。

  关系数据结构只包含单一的数据结构,那就是关系,在我们看来就是一张和execl差不多的二维表。虽然简单但可以表示非常丰富的现实关系。在前面的随笔中简单介绍了一些术语的概念,关系模型是建立在集合的概念之上,所以呢都可以从集合论的角度对这些术语给出定义。

  域,一组具有相同数据类型的值的集合。比数据类型int,集合{1,2,3,4,5}就是一个域,一个有限的域。

  笛卡尔积,在域上进行的集合运算。给定域组D1,D2,…,Dn,可以是相同的域。这n个域的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}其中,(d1,d2,…,dn)为一个n元组,平常不这么叫,直接叫做元组。di为一个分量,mi为基数,基数就是元素的个数,即元组的个数。

关系,定义在D1×D2×…×Dn上的子集,表示为R(D1,D2,D3,…,Dn),R是关系的名字,n是关系的目或度,也就是列的个数,或者属性的个数,n关系必有n个属性。

  如果关系中的某一属性组的值能唯一地标识一个元组,则成该属性为候选码。若有多个候选码,则选择其中一个为主码。最简单的时候候选码只有一个属性,最复杂的时候候选码包括所有属性,称之为全码。不包括在任何候选码中的属性称为非主属性,当然,包括在内的就是主属性。

  关系是二维表,表的类型有三种:

  基本表:就是数据库中真是存在的表,是实际存储数据的逻辑表示。

  查询表:查选结果对应的表,也就是经常说的结果集。

  视图表:由基本表或其他视图表导出的虚表。数据库中只存储视图表的定义,而不对应实际存储的数据,数据来自基本表。

  基本关系有如下性质:

  (1)列是同质的,每一列的分量来自于同一个域;

  (2)不同列可出自同一个域,但列名不能相同;

  (3)列/行在表中出现的顺序不重要,可以任意交换;

  (4)候选码是用来唯一标识元组的,不能有任意两个元组的候选码相同;

  (5)每一个分量都是原子的,也就是不能允许表中有表,这就是三大范式中的第一范式。

  虽然每个关系有如上的性质,但有经验的同志就会知道,在许多实际的关系数据库产品中,基本表并不是都能满足,比如使用过程中为了方便还是要区分行列的顺序的;某些表中是允许存在两个或以上相同元组的,这也只是在没有约束条件下,但此表存在的意义不是很大。

  在前面也有涉及型和值的问题,关系数据库中,关系模式是型,关系是值。关系模式是对关系的描述,而关系要通过元组语义将实体表示出来。关系的描述成为关系模式,可表示为:R(U,D,DOM ,F),其中R是关系名,U表示属性集合,D表示域,DOM表示属性和域的映射集合,而F表示属性的依赖关系集合。

  关系是关系模式在某一时刻的状态和内容,关系模式是静态的,稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新数据库中的内容。比如同一个学生表,删除某一条数据的前后就是不同的关系,但都是同一个关系模式。

  其实关系数据库也有型和值之分。关系数据库的型也称关系数据库模式,是对关系数据库的表述,包括对域的定义以及对这些域基础上的关系模式的定义。关系数据库的值是这些关系模式在某一时刻对应关系的集合,就是常说的关系数据库了。

         关系模型由关系数据结构、关系操作集合和关系完整性约束三个部分组成。关系操作对于熟悉数据库的朋友们是最熟悉不过的了,包括查询、插入、删除和修改,但习惯上分为两类,查询操作和更新操作。

         查询操作表现能力很强,是操作中最主要的部分。包括选择、投影、并、差、笛卡尔积、交、连接、除,前五种为基本操作,剩余的可以用这五种操作定义或者导出。在关系模型的数据库中操作的对象和集合都是集合,即一次一集合方式,在非关系数据库模型的数据库中为一次一记录方式,这是两者比较显著地差别。

         关系的完整性规则是对关系的某种约束条件,关系的值随时间变化但必须满足约束条件,也就是必须满足对现实世界抽象的条件。这里有三种完整性约束:实体完整性约束、参照完整性约束和用户定义的完整性。前两者是成为关系的不变性,由关系系统自动支持;用户定义完整性是为了满足应用领域的要求需要遵循的约束条件。

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3