(数据库系统概论|王珊)第二章关系数据库-第一节:关系数据结构及其形式化定义

QQ截图20230212183636.png

@[toc]
前面说过,数据模型由以下三部分构成

  • 数据结构
  • 数据操作
  • 数据的完整性约束条件

而如今最为重要的数据模型便是关系模型。本书所学的关系数据库就是支持关系模型的数据库系统,因此本章重点研究的也是以下三个部分

  • 关系数据结构(本节介绍)
  • 关系操作集合(第二节介绍)
  • 关系完整性约束条件(第三节介绍)

然后第四节和第五节分别介绍关系代数和关系演算


一:关系

前面说过,关系模型建立在严格的数学概念之上,只包含单一的数据结构——关系,在用户看来关系就是一张二维表

(1)域

域:是一组具有相同数据类型的值的集合

  • 如自然数、整数、实数

(2)笛卡尔积

笛卡尔积:是一种域上面的集合运算,得到每个域中元素的所有可能的组合,它可以表示为一张二维表,在笛卡尔积中有

  • 元组:每一行是一个元组,比如 (张清玫,计算机专业,李勇)、(张清玫,计算机专业,刘晨)等都是元组 ;
  • 分量:每一行中每一个元素都是一个分量,比如张清玫、计算机专业、李勇、刘晨等都是分量

比如下面的D_{1}D_{2}D_{3}个域

在这里插入图片描述

如果让他们做笛卡尔积,也就是排列组合,那么就会形成下面一张二维表

在这里插入图片描述
在这里插入图片描述

由此可知,该笛卡尔积的基数为2×2×3=12,也即有12个元组

上面的笛卡尔积中很多元组是没有意义的(例如在实际情形中一个导师一般专注于一个研究方向)。所以该笛卡尔积的一个子集才是有意义的,才可以表示导师和研究生的关系,例如

在这里插入图片描述

  • 表SAP

(3)关系

A:基本概述

关系:笛卡尔积(D_{1}×D_{2},...,D_{n})的子集叫做在域D_{1}D_{2},...,D_{n}的关系,表示为R(D_{1}D_{2},...,D_{n}),其中

  • R:关系名
  • n:关系的目或度(n=1时称为单元关系,n=2时称为二元关系)

关系既然是笛卡尔积的子集(有限子集),所以关系也是一张二维表

  • 表的每一行对应一个元组,表的每一列对应一个域
  • 由于域可以相同,为了区分,必须对每列起一个名字,称为属性(比如上面的表中研究生和导师都是人,为了区分,所以才取了不同的名字)

B:码相关概念

以下面关系为例


在这里插入图片描述

候选码:若关系中的某一属性组(注意是组不是某单个属性,当然有时属性组也可能只有一个属性)能唯一地标识一个元组,而其子集不能,则该属性组称之为候选码

  • 上面关系中,学号是无法区分的,因为学号虽然不重复,但一个学生可能会对应多个课程,这就导致学号无法唯一标识一个元组。因此这里(学号,课程名)可以作为一个候选码
  • 需要注意的是候选码不一定只有一个,可能有多个,只要满足条件即可,但在本例中确实只有一个

超码:能够唯一标识一条记录的属性或属性集,超码是候选码的扩充,候选码是最小的超码

  • 上面关系中,(学号、课程名)是候选码,那么它的超集,例如(学号、课程名、姓名)、(学号、课程名、性别)就是超码

主码:某个能够唯一标识一条记录的最小属性集(候选码中的“人选之子”)

  • 候选码可能有多个,但是数据库设计者在设计时会根据实际需求选择一个候选码作为主码

外码:是本关系的属性且不是码,而是另一个关系的主码(后续会详细介绍)

全码:这是一种特殊情况:关系的所有属性组是这个关系模式的候选码

主属性和非属性:包含在候选码中的属性(注意是集合,不是某个候选码)称为主属性;不包含在候选码中的属性称为非主属性

  • 上面关系中,姓名、性别和期末分数都是非主属性

C:关系的三种类型

关系可以有三种类型

  • 基本关系(又称为基本表)实际存在的表,是实际存储数据的逻辑表示
  • 查询表查询结果对应的表
  • 视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据

其中基本关系满足以下性质(作了解即可)


在这里插入图片描述

二:关系模式

(数据库系统概论|王珊)第一章绪论-第三节:数据库系统的结构中讲过型和值的概念

  • 型(type):对某一类数据的结构和属性的说明
  • 值(value):是型的一个具体赋值

在关系数据库中,关系模式就是型,关系就是值,关系模式是对关系的描述,具体来说要描述以下方面

  • 元组集合的结构(由哪些属性构成、这些属性来自哪些域、属性与域之间的映像关系)
  • 元组语义以及完整性约束
  • 属性之间的数据依赖关系

关系模式:关系模式就是对关系的描述,可以表示为

R(U,D,DOM,F)

  • R:关系名
  • U:组成该关系的属性名集合
  • DU中属性所来自的域
  • DOM:属性向域的映像集合
  • F:属性间数据的依赖关系集合(此部分属于第六章:关系数据理论的内容)

关系模式通常可以简记为(重点用)

R(U)


R(A_{1},A_{2},...,A_{n})

  • R:关系名
  • A_{1},A_{2},...,A_{n}:属性名
  • “域名”及“属性向域的映像”常常直接说明为属性的类型长度

三:关系数据库

(1)基本概念

关系数据库:在一个给定的应用领域中,所有关系的集合构成的一个关系数据库

(2)关系数据库的型与值

关系数据库的型:也称为关系数据库模式,是对关系数据库的描述,包括

  • 若干域的定义
  • 在这些域上定义的若干关系模式

关系数据库的值:这些关系模式在某一时刻对应的关系的和,通常就叫做关系数据库

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,928评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,192评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,468评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,186评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,295评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,374评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,403评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,186评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,610评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,906评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,075评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,755评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,393评论 3 320
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,079评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,313评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,934评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,963评论 2 351

推荐阅读更多精彩内容