关于数据库中关系代数的一些理解(一)
目录
- 一、首先我们来了解一下什么是关系代数
- 二、关系代数的分类
- 三、常用的关系代数的使用以及含义
一、首先我们来了解一下什么是关系代数
关系代数是以关系为运算对象的一组高级运算集合,显然这样的解释 较难理解;简单的说,关系代数是一种用于关系数据查询的一种抽象查询语句,主要是通过对关系的运算来表达查询。
二、关系代数的分类
传统的集合操作:
- 并、差、交、笛卡尔积
专门的关系运算:
- 投影(对关系进行垂直分割——对列的操作)
- 选择(对关系进行水平分割——对行的操作)
- 连接(关系之间的结合)
- 除法(笛卡尔积的逆运算)
下面的表格更加直观的介绍关系代数的分类,并对其进行了简单的分类
三、常用的关系代数的使用以及含义
为了便于理解我将结合实例进行解释;其中R 、S分别为两个独立的关系,关系R和S具体属性如下:
- 关系R
A | B | C |
---|---|---|
a | b | c |
d | a | f |
c | b | d |
- 关系S
A | B | C |
---|---|---|
b | g | a |
d | a | f |
- 并:R和S的并是由属于R或S的元组构成的集合(元组是指二维表中的行)
例: R U S
A | B | C |
---|---|---|
a | b | c |
d | a | f |
c | b | d |
b | g | a |
R U S ={t | t ∈ R ∨ t ∈ S}
在这里有一个问题,那就是为什么要删除重复的元组,而不是简单的将两个关系直接加在一起,而这是因为关系是一种规范化了的二维表,所以在关系模型中,需要对关系作出一些限制:
- 关系中的每一个属性值都不可分(属性——二维表的列)
- 关系中不可出现重复列
- 由于关系是一个集合,因此不考虑元组间的顺序,即没有行序
- 列的顺序无所谓,即列的顺序可以任意交换
- 差:R和S的差属于R不属于S的元组组成(对行进行操作同时是在R的基础上剪出S里的元组)
例: R - S
A | B | C |
---|---|---|
a | b | c |
c | b | d |
- 交:R和S的交,是由属于R又属于S的元组构成
例: R ∩ S
A | B | C |
---|---|---|
d | a | f |
- 笛卡尔积:R和S的笛卡尔积,简单来说为R的每一个元组与S的每一个元组相互组合形成一个新的关系,而这个新的关系则为R和S的笛卡尔积的结果
由于R和S的属性相同(行名相同)这里用RA表示R中的A…
例: R X S
R.A | R.B | R.C | S.A | S.B | S.C |
---|---|---|---|---|---|
a | b | c | b | g | a |
a | b | c | d | a | f |
d | a | f | b | g | a |
d | a | f | d | a | f |
c | b | d | b | g | a |
c | b | d | d | a | f |
希望路过的大神多多指点错误之处!
关于数据库中关系代数的一些理解(一)相关推荐
- 从职责归属看数据库中关系设计
今天和领导讨论组织结构中的职责归属的时候,讨论到TMT(技术委员会)和CTT(公共技术小组)中(TMT是CTT的上层组织),如果有大的攻关技术任务,是将职责归属到CTT好呢,还是将职责归属到TMT好. ...
- MySQL的关系模式集是什么_数据库中“关系模式”的定义是什么?
展开全部 数据库中"关系模式"的定义是对关系的描述,其必须指出这个元组集合的结构,也就是它32313133353236313431303231363533e4b893e5b19e3 ...
- mysql如何建立索引workbench_MySQL数据库中如何正确的理解与使用索引?
索引是存储引擎用于快速查找记录的一种数据结构,我们可以通过合理的使用数据库索引以提高数据库的访问效率.接下来主要介绍在MySQL 数据库中索引类型,以及如何创建出更加合理且高效的索引技巧. MySQL ...
- 数据库中对存储过程的理解
1.存储过程的概念 存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集.经编译后存储在数据库中. 存储过程是数据库中的一个重要对象,用户通过指定存储过程的名字并给出参数( ...
- 怎样根据字段域查找到其在数据库中关系与属性
Infor SyteLine ERP中,很多时候需要做维护,我们需要从打开的window窗口的form中某一个输入Textbox域或是DropDownList域,去找到它是绑定了数据库中的哪一张表,哪 ...
- 数据库中数据长度(理解)和几种int数据类型的区别
MySQL数据库中几种int数据类型的区别 整数类型 整数类型在这里显示的宽度和数据类型的取值范围是没有任何关系的,这里的宽度指的是你数据显示的最大的宽度个数.如果插入的长度大于你所显示的值,只要该值 ...
- 微信小程序云开发如何实现读取和下载excel文件导入数据到云数据库中?简单好理解
一般我们在开发中会遇到通过excel文件一键导入数据的模板操作,我们在微信小程序中可以使用node-xlsx插件来解析excel文件的内容变成以json格式的数据返回. 在处理该操作的云函数中下载安装 ...
- 数据库中关系有哪些性质(结合例子自己理解)
本博文源于<数据库原理及应用>,旨在讲述关系的性质.加入,面试官突然问这种问题,是不是有点诚惶诚恐,我可能会.所以我就记录回答了. 1.列是同质的,即每列中的数据必须来自同一个域,具有相同 ...
- 关于数据库中FK的简单理解以及应用
问题来源:思考如果有两张表,应该以什么样的方式将两者关联起来?直接用两个表中的字段进行关联,还是使用第三张关系表进行关联? 说明:FK(foreign key).PK(primary key) (注: ...
最新文章
- vscode 新建php模板,使用VSCode快速创建vue文件模版的方法介绍
- mysql 主从复制
- 如何成为简历界的“老司机”?这些简历技能你get到了吗?
- Mac OSX中memcached安装测试
- leetcote34. 在排序数组中查找元素的第一个和最后一个位置
- 一个微软面试题--关于位结构体
- nginx 部署_部署 hexo 到 nginx
- 112654 个招聘数据告诉你,程序员 2019 年该去哪!
- 官服好吗_【知否的唯美手绘图】看到齐衡身穿“官服”时,网友:好帅啊!
- 云迁移实践:VMware虚拟机迁移到AWS
- 激光导航agv常见的三大应用场景是什么?
- oracle数据库mgmt,19c rac数据库如何添加mgmt
- Ambari集群里操作时典型权限问题put: `/home/bigdata/1.txt‘: No such file or directory的解决方案(图文详解)
- 设计模式原则之依赖倒转(倒置)原则
- 【电商】电商后台---商品管理系统
- 伍伦贡大学计算机科学与技术好吗,伍伦贡大学怎么样?伍伦贡大学值得申请吗?...
- Vue使用微信录音并上传服务端
- ObjectARX类库简介
- FL中隐私和安全性问题
- 29 Linux 防火墙
热门文章
- C#--virtual,abstract,override,new,sealed修饰符学习
- 天猫粉丝嘉年华:粉丝精准营销的无限赋能
- #2020.02.04训练题解#背包入门(E题)
- 研究fastdds v2.8.0 2之 Domain 模块 4
- c语言合并排序算法_合并排序算法
- C++贪心——陶陶摘苹果(升级版)
- 指针之保姆级教程10分钟就能收获这个神秘的大宝贝
- 如何解决航空企业数字化转型中的痛点?
- java jodd_java jodd框架介绍及使用示例
- python下载到本地的script_python 站点爬虫 下载在线盗墓笔记小说到本地的脚本