关系数据库(ch.2)
2.1.1 关系
域
笛卡儿积
关系
candiate key 如果一组属性值可以唯一的标识一个元祖,但是他的子集不行,那么这是一个候选码
关系可以由三种类型
基本关系
查询关系
视图
为关系附加如下两条定义
无限关系是无意义的,
通过为关系附加一个属性名的方式取消 关系的有序性
基本关系有如下6条性质
列是同质的
不同的列可以取自同一个域
行的顺序无所谓
任意两个元祖的候选码不可以相同
分量必须是原子化的
2.1.2 关系模式
关系模式可以形式化的表现为
R(U,D,ROM,F)
U 是 组成关系的属性集合
D 是 属性所取值的域
ROM 是属性向域的映射集合
F 是属性之间依赖关系的集合
关系模式可以简记成R(U) R(A1,A2..) An 是属性名 , 其他的部分省略
2.2 关系操作
2.2.1 基本关系操作
选择 投影 连接 除 差 并 交 笛卡儿积
基本操作有: 选择 投影 并 差 笛卡儿积 五种
2.2.2 关系语言的分类
代数方式或者逻辑关系来表示
分别称为 关系代数和关系演算
关系代数用对关系的运算来表达查询需求
关系演算用谓词来表示 查询需求
关系演算又按照基本对象是 元组变量还是域变量 分为 元祖关系演算语言 和 域关系演算语言
和具有以上两种关系的语言 SQL
SQL 是集查询, 数据定义语言 数据操作语言, 数据控制语言 DCL 于一体的语言
2.3 关系的完整性
2.3.1 实体完整性
就是null 主属性都不可以为 NULL
2.3.2 参照完整性
就是如果F 是 R的 外码
与 S中的 Ks 相对应
那么 F 可以取空值
非空值要等于S中某一个主码的值
2.4 关系代数
关系代数分为 传统的集合运算和关门的关系运算符两种
2.4.1 传统的集合运算
差 并 交 笛卡儿积(广义的) 4种
2.4.2 专门的关系运算符号
包括 选择 投影 连接 除运算等
选择
选择表达式实际上是从关系 R种选择使得 F 为真的元组
σF(R) ={t | t属于R 并且F(t)='真'}
投影
投影是从R中选出若干属性列组成新的关系。
ΠA(R)={t[a] |t 属于R}
连接
也成为 θ 连接,从两个关系的笛卡尔积中选出满足一定条件的元祖来
θ 是= 的连接被称为等值连接
自然连接是一种特殊的等值连接 ,这要求 进行比较的两个关系中 属性名相等,并且在结果中 除去重复的列
关系R 中有些元组因为对应的 S 中不存在,所以有可能被放弃,变成悬浮元组,(dangline tuple)
保留悬浮元组并且 填上NULL 称为外连接 。 只保留左边和右边 分别是左连接 右连接
除运算
R / S ={Tr[X] | Tr 属于 R 并且Πy(S) 属于Yx}
关系演算
2.5.1 元组关系演算语言 ALPHA
1 检索操作
2.5.2元组关系演算
暂略
关系数据库(ch.2)的更多相关文章
- java基础学习总结——GUI编程(一) 还未仔细阅读
一.AWT介绍
- 关系数据库理论 ch.6
6.1 问题的提出 关系模式是一个5元组 R U,D,DOM,F U 属性 D 域 DOM 属性到域的映射 F 依赖 在本章中将关系模式看作 三元组 R U,D 属性-依赖 1NF 每一个分量是不可分 ...
- 关系数据库标准语言 SQL (ch.3)
3.1 SQL 概述 3.1.2 特点 1 综合统一 非关系型语言 的数据语言都分为 DDL Scheme Data Definitin Language, 模式DDL SubScheme Data ...
- sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
1:sqoop的概述: (1):sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具.(2):导入数据:MySQL,Oracle导入数据到Hadoop的HDFS.HIV ...
- 关系数据库SQL之可编程性触发器
前言 前面关系数据库SQL之可编程性函数(用户自定义函数)一文提到关系型数据库提供了可编程性的函数.存储过程.事务.触发器及游标,前文已介绍了函数.存储过程.事务,本文来介绍一下触发器的使用.(还是以 ...
- 前端开发必学技能之一———非关系数据库又像关系数据库的MongoDB快速入门第一步下载与安装
数据库总的来说,分为两个方向:关系数据库和非关系数据库.我们常见的MySQL.Oracle.SQLSerever以及IBMDB2都是属于关系数据库,这里的关系值得是二维表的结构,但是由于随着web的应 ...
- CH模拟赛 皇后游戏
/* 做的时候手推了一下n=2的四种情况,再排一下序就可以了,证明不是很严谨,但我想这就行了,毕竟全是套路 */ #include<iostream> #include<cstdio ...
- CH模拟赛 还教室
/* 区间操作,可以推一推式子,方差为平方的平均数-平均数的平方,维护区间和与区间平方和,平方和的维护方法类似,式子推一推就行了,注意约分 */ #include<iostream> #i ...
- CH模拟赛 拆地毯
/* MST,注意只能加K条边,但是备选是M条边 */ #include<iostream> #include<cstdio> #include<string> # ...
随机推荐
- HTTP的九种请求方法
HTTP1.0定义了三种请求方法:GET.POST.HEAD HTTP1.1定义了六种请求方法:PUT.DELETE.PATCH.OPTIONS.CONNECT.TRACE 1.get 请求指定页面的 ...
- php日期
PHP Date() 函数 PHP date() 函数用于格式化时间/日期. 该函数可把时间戳格式化为可读性更好的日期和时间. 时间戳是一个字符序列,表示一定的事件发生的日期/时间. 语法 date( ...
- Linux的基本原则
Linux的基本原则:1.由目的单一的小程序组成,一个程序只做一件事,且做好: 2.’组合小程序完成复杂任务: 3.一切皆文件: 4.尽量避免捕获用户接口: 5.配置文件保存为纯文本格式: 6.提供机 ...
- 删除文件夹时提示“You need permission to perform this action。。。”,如何解决?
Win10系统,有时,要删除某个文件夹,却提示“You need permission to perform this action...” 以下是我Google之后找到的解决方案 1.创建一个文本文 ...
- VC控件DateTimePicker使用方法
出自http://www.cnblogs.com/52yixin/articles/2111299.html 使用DateTimePicker控件一般是获 取其时间替代手工输入带来的不便,而DateT ...
- vue-admin-template模板添加tagsview
参考: https://github.com/PanJiaChen/vue-admin-template/issues/349 一.从vue-element-admin复制文件: vue-admin- ...
- TZ_03_mybatis的xml开发
1.通过Student.xml编写sql来操作数据库 1>insert语句插入后返回主键 加入标签useGeneratedKeys=“true” keyProperty=“oid” 中 keyP ...
- JavaSE_06_Collection、泛型
1.Collection集合 1.1 集合概述 数组的长度是固定的.集合的长度是可变的. 数组中存储的是同一类型的元素,可以存储基本数据类型值.集合存储的都是对象.而且对象的类型可以不一致.在开发中一 ...
- C语言学习笔记 函数式宏
不学C光搞PHP不知道还有这种东西-函数式宏,宏前面学过了Macro,编译器在对代码进行编译时会对宏表达式进行展开替换,这样宏就起到了全局变量的作用,这里函数式宏也是类似,编译器进行编译时按函数表达是 ...
- 【agc019f】AtCoder Grand Contest 019 F - Yes or No
题意 有n个问题答案为YES,m个问题答案为NO. 你只知道剩下的问题的答案分布情况. 问回答完N+M个问题,最优策略下的期望正确数. 解法 首先确定最优策略, 对于\(n<m\)的情况,肯定回 ...