MOOC 数据库笔记(五):关系演算
关系演算
概述
(这部分的内容大多与离散数学有关,我没有相关基础,所以现在只是简单看一下)
关系演算是以数理逻辑中的谓词演算为基础的。
关系演算是描述关系运算的另一种思维方式。
SQL语言是继承了关系代数和关系演算各自的优点所形成的。
按照谓词变量的不同,可分为关系元组演算和关系域演算:
关系元组演算是以元组变量作为谓词变量的基本对象。
关系域演算是以域变量作为谓词变量的基本对象。
关系元组演算
基本形式
关系元组演算公式的基本形式:
{t|P(t)}
上式表示:所有使谓词P为真的元组t的集合
t是元组变量
t∈r表示元组t在关系r中
t[A]表示元组t的分量,即t在属性A上的值
P是与谓词逻辑相似的公式,P(t)表示以元组t为变量的公式
定义
P(t)递归定义:
关系元组演算的基本形式:{t|P(t)}
其中公式P(t)可以递归地进行构造:
三种形式的原子公式是公式:
s∈R、s[A]θc、s[A]θu[B]
如果P是公式,那么┐P也是公式
如果P1,P2是公式,则P1∨P2,P1∧P2也是公式。
如果P(t)是公式,R是关系,则∃(t∈R)(P(t))和∀(t∈R)(P(t))也是公式。
需要时可加括弧
上述运算符的优先次序自高至底为:括弧;θ;∀;∃;┐;∧;∨
公式只限于以上形式
存在量词和全称量词∃∀
运算符∃∀,又称为量词,前者称“存在量词”,后者称“全称量词”
而被∃或∀限定的元组变量t,或者说,元组变量t前有存在量词或全称量词,则该变量被称为“约束变量”,否则被称为“自由变量”。
例如:“检索出年龄不是最小的所有同学”
{t|t∈Student∧∃(u∈Student)(t[Sage]>u[Sage])}
等价变换
P(t)公式,如谓词演算一样,也有一系列演算的等价性
关系域演算
基本形式
关系域演算公式的基本形式:{<x1,x2,...,xn>|P(x1,x2,...,xn)}
其中xi代表域变量或常量,P为以xi为变量的公式。
递归定义
公式P可以递归地进行构造:
·<x1, x2, …, xn>∈r,其中r为n个属性上的关系,x1, x2, …, xn为域变量或域常量;
·x
MOOC 数据库笔记(五):关系演算的更多相关文章
- MOOC 数据库笔记(三):关系模型之基本概念
关系模型的基本概念 关系模型简述 1.最早由E.F.Codd在1970年提出. 2.是从表(Table)及表的处理方式中抽象出来的,是在对传统表及其操作进行数学化严格定义的基础上,引入集合理论与逻辑学 ...
- MOOC 数据库笔记(四):关系代数
关系代数 关系代数概述 特点 基于集合,提供了一系列的关系代数操作:并.差.笛卡尔积(广义积).选择.投影和更名等基本操作 以及交.连接和关系除等扩展操作,是一种集合思维的操作语言. 关系代数操作以一 ...
- MySQL数据库笔记五:多表查询
1.表与表之间的关系 一对一:用户表和身份信息表,用户表是主表 例如:男人表 .女人表 create table man( mid int primary key auto_increment, mn ...
- Django开发笔记五
Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.页面继承 定义base.html: <!DOC ...
- Linux系统运维笔记(五),CentOS 6.4安装java程序
Linux系统运维笔记(五),CentOS 6.4安装java程序 用eclipse编译通的java程序,现需要实施到服务器.实施步骤: 一,导出程序成jar包. 1,在主类编辑界面点右健,选 ru ...
- HITsz 数据库笔记
这是 HITsz 数据库笔记,欢迎到我的 GitHub 上查看,有笔记说明和源码,作业和实验报告,希望对你有帮助 博客园显示图片异常 数据库基本概念 数据抽象 通过抽象来对用户屏蔽复杂性,以简化用户与 ...
- C#可扩展编程之MEF学习笔记(五):MEF高级进阶
好久没有写博客了,今天抽空继续写MEF系列的文章.有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后. 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用 ...
- SQL Server 2012 数据库笔记
慕课网 首页 实战 路径 猿问 手记 Python 手记 \ SQL Server 2012 数据库笔记 SQL Server 2012 数据库笔记 2016-10-25 16:29:33 1 ...
- 《MFC游戏开发》笔记五 定时器和简单动画
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9332377 作者:七十一雾央 新浪微博:http:// ...
随机推荐
- 第05节-BLE协议物理层(PHY)
对于软件的人来说,物理层关注的内容会少一点.在前面的博客中,我们以快递员类比物理层,对于快递员来说,道路千万条,这条不通换另外一条.对于物理层来说也是一样的,它有很多频率,这个频率有冲突了,将会切到另 ...
- libpcap工具包使用go交叉编译开发android
命令使用 libpcap交叉编译 cd /tmpwget http://www.tcpdump.org/release/libpcap-1.8.1.tar.gztar xvf libpcap-1.8. ...
- Feign 报错:No fallback instance of type class xxx found for feign client xxx
通常需要确认配置内容: 开启 Hystrix:feign.hystrix.enabled=true Fallback类需要注解@Component 出处:https://www.jianshu.com ...
- mysql命令查询语句&MTdata
1.单表查询 select * from student; 采用*效率低,不推荐,多用列名 一.单表查询的语法: SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY ...
- MacOS更改启动台(launchpad)图标大小
原文链接:https://www.jianshu.com/p/18224d191bd2作者:麦壳君 小麦有点强迫症,觉得 Mac 启动台(Launchpad)里面系统默认的应用程序图标太大,所以想让它 ...
- 2.8/4/6/8mm/12mm焦距的镜头分别能监控多大范围?
2.8/4/6/8mm/12mm焦距的镜头分别能监控多大范围? 相关介绍 一.焦距和监控距离的关系 我司IPC镜头焦距有2.8/4mm/6mm/8mm等多种选择,可以满足室内外各种环境的拍摄需求.IP ...
- ESA2GJK1DH1K升级篇: 关于升级篇数据校验
前言 鉴于大家都希望升级的时候加入数据校验,所以就满足大家的要求. 其实我也希望自己做的足够的稳定可靠,让大家使用起来放心. 上一节测试了一节加入校验以后的操作方式,这节来详细的说一下校验部分的代码. ...
- 请写出css中选择器(元素选择器、类选择器、id选择器)的优先级顺序,和当各种选择器组合时,优先级的计算规则是什么?
id选择器>类选择器>元素选择器 规则:选择器的权重值表述为4个部分,用0,0,0,0表示. 通配符*的权重为0,0,0,0 标签选择器.伪元素选择器的权重为0,0,0,1 类选择器.属性 ...
- SpringBoot之邮件服务
springboot 邮件服务 今天在看网上学习微服务的时候顺遍看到了一些关于springboot的文章,写的springboot拓展功能就顺遍学习了一下,接下来给大家分享一下springboot封装 ...
- Java代理(静态代理、JDK动态代理、CGLIB动态代理)
Java中代理有静态代理和动态代理.静态代理的代理关系在编译时就确定了,而动态代理的代理关系是在运行期确定的.静态代理实现简单,适合于代理类较少且确定的情况,而动态代理则给我们提供了更大的灵活性. J ...