数据库基础---关系数据库简介和关系代数8种运算方法及例题

关系数据库

关系数据模型

关系是一个数学概念。
当把关系的概念引入到数据库系统作为数据模型的数据结构时,既有所限定和也有所扩充。

关系的数学定义

例:

课程={离散,C语言…..},学生={张三,李四…..}

笛卡儿积(cartesian product):设D1、...、Dn是n个域。D1、...、Dn上的笛卡尔乘积定义为集合
D1×...×Dn ={ (d1 , ..., dn ) | di ∈Di,1≤i≤n }。

解:

D1={离散,C语言…},D2={张三,李四…}
D1×D2={(离散,张三),(离散,李四),……
       (C语言,张三),(C语言,李四),……
       …….}

关系(relation):笛卡尔乘积D1×...×Dn的任意一个子集合称为一个定义在域D1、...、Dn上的关系。

对数学定义的限定和扩充

限定:无限关系在数据库系统中是无意义的。因此限定关系数据模型中的关系必须是有限集合。

数学上,(离散,张三)≠(张三,离散)
扩充:通过为关系的每个域附加一个属性名的方法取消关系元组的有序性
数据库上:(离散,张三)=(张三,离散)

基本关系具有以下六条性质:

  • 列是同质的,即每一列中的分量是同一类型的数据;
  • 不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性必须给不同的属性名;
  • 列的顺序可任意交换;
  • 任意两个元组不能完全相同;
  • 行的顺序可任意交换;
  • 分量必须取原子值,即每一个分量都必须是不可分的数据项。

完整性约束规则

几个基本概念

  • 候选键:给定关系模式R(U),K属于U,如果
    (1) R(U)的任何关系实例中的任意两个元组在属性集合K上的值都不相同----唯一性
    (2) K的任何真子集都不满足条件(1)----极小性
    称K是候选键。
    例:Student(姓名, 学生编号, 年级, 专业, 系)
    显然,学生编号是候选键。
    如果姓名不重复,姓名也是候选键。

  • 主键:一个关系模式可能具有多个候选键。
    当一个关系中具有多个候选键时,我们选择一个作为该关系模式的主键。
    候选键中的属性称为键(主)属性,其他属性称为非键(主)属性

  • 外部键:设X是关系模式R(U)的一个属性集合。如果X是另一个关系模式R’(U’)的主键,则称X是R(U)关于R’(U’)的外部键。
    例:外部键


    这里写图片描述
    这里写图片描述

关联完整性约束说明,任何关系的一个元组只能通过外部键与另一个关系中存在的元组相关联.


关系运算

  • 基于代数的定义:关系代数
    这里写图片描述
    这里写图片描述
  • 基于逻辑的定义:关系演算
    由于使用变量的不同,关系演算又分为元组关系演算和域关系演算。

关系代数

例: 两个关系实例


这里写图片描述
这里写图片描述

(1.) 并运算

设R和S是n元关系,而且两者各对应属性的数据类型也相同。R和S的并操作定义为 R∪S = { t | t∈R∨t∈S }。
白话: R和S关系合一起, 相同的不写

这里写图片描述
这里写图片描述

(2.) 差操作

设R和S是n元关系,而且两者各对应属性的数据类型也相同。R和S的差定义为 R-S ={ t | t∈R∧tS}。
白话: 因为是R-S, 找R在S关系中没有的

这里写图片描述
这里写图片描述

(3.) 笛卡尔乘积

设R是n元关系,S是m元关系,R和S的的笛卡尔积定义为
R×S={(r1,...,rn,s1,...,sm)|(r1,..., rn )∈R∧(s1, ...,sm )∈S}。
白话: 和普通的笛卡尔乘机差不多, 自己看看, 规律很好找.

这里写图片描述
这里写图片描述

(4. ) 投影操作

设R是一个n元关系,R的投影操作定义为
∏i1,i2,...,im(R) = {(ri1, ...,rim)|(r1 ,...,ri1,...,rim,...,rn)∈R}。
白话: 看横行, 如果有两个横行相同, 只写一个. 因此若是S关系投影操作的话, 也就是有b和a

这里写图片描述
这里写图片描述

(5. ) 选择操作

设R是一个n元关系,F是一个形如riθc的公式,其中θ∈{=,≠,>,<,≤,≥},R的选择操作定义为F(R)={(r1,...,ri ,...,rn )|(r1,...,ri ,...,rn )∈R∧riθc }。
白话: 把符合条件的拿出来

这里写图片描述
这里写图片描述

(6. ) 交操作

设R和S是n元关系,而且两者各对应属性的数据类型也相同。R和S的交操作定义为 R  S = { t | t∈R∧t∈S }= R-(R-S)。
白话: 相同的拿出来

这里写图片描述
这里写图片描述

(7. ) 连接操作

设R是n元关系,S是m元关系,A是R的属性,B是S的属性,A和B的值域具有相同的数据类型,θ∈{=, ≠, >, <, ≤, ≥}。R和S的连接操作定义为


这里写图片描述
这里写图片描述

其中,r[A]表示元组r在属性A上的值,s[B]表示元组s在属性B上的值。我们称A和B是连接属性。

白话: 两个关系先做笛卡尔积运算, 然后再根据条件进行比对. 留下符合条件的
例子:

这里写图片描述
这里写图片描述

(7. 1) 几个特殊的连接操作

①自然连接 设Att(R)和Att(S)分别是R和S的属性集合。连接条件为R.B=S.B,连接的结果关系的属性集合为Att(R)∪(Att(S)-{B}),即B在结果关系中只出现一次。称这样的连接操作为自然连接操作,

白话: 找相同的然后拼在一起, 例如B属性, 看看下面的例子;

这里写图片描述
这里写图片描述

②复合连接 类似于自然连接,只是连接结果不包含连接属性。

这里写图片描述
这里写图片描述

③半连接

这里写图片描述
这里写图片描述

白话: 下面的例子由于是R半链接S, 则因此拿R去和S所比较

这里写图片描述
这里写图片描述

(8. ) 商操作

设R和S是两个关系,Z是R的属性集合,X是S的属性集合,XZ,Y=Z-X。R除以S的商定义为R÷S={t|t∏Y(R)且sS, tsR},其中,ts表示由t和s的各属性值构成的一个R关系元组。

白话: 看下面的例子, 因为C, D是关系S中的两个属性, 因此在R集合对除了C, D的属性, 即A, B两属性进行投影, 得到a, b; b, c; e, d;这三组, 然后用这个结果与关系S进行笛卡尔积运算, 发现b c c d这组在关系R中没有, 其余a, b; e, d; 做的运算在R中存在. 因此最后结果为a, b; e, d;

这里写图片描述
这里写图片描述

关系代数运算例题

一个COMPANY数据库

这里写图片描述
这里写图片描述

下面介绍了一些需要用到的属性解释

NAME--员工名字
SSN--员工编号
SUPERSSN--上司编号
DNO--部门编号

DNUMBER--部门编号
MGRSSN--负责人编号

PNAME--项目名称
PNUMBER--项目编号

ESSN--员工编号
PNO--项目编号

问1: 参加了p2项目的员工号(由于符号不太好打, 我手写的)

这里写图片描述
这里写图片描述

语言解释: 在WORKS_ON表中选择PNO=P2的元组, 再对员工号即ESSN进行投影.

问2. 在“研发部”工作的所有工作人员名字

这里写图片描述
这里写图片描述

语言解释: 1. EMPLOYEE表与DEPARTMENT表在部门编号相等的条件下, 进行连接, 然后再新表中选择DNAME="研发部", 最后对NAME进行投影.
2 . 先在DEPARTMENT中选择"研发部", 然后与EMPLOYEE进行连接, 然后投影

问3. 没有参加项目p1的工作人员名字

这里写图片描述
这里写图片描述

语言解释: 在WORKS_ON中选择P1项目, 与EMPLOYEE进行连接, 然后对NAME进行投影得到参加p1工作人员的名字, 最后用所有的名字减去它.

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

推荐阅读更多精彩内容