02关系模型的介绍
来源:互联网 发布:组态王软件代理 编辑:程序博客网 时间:2024/06/05 03:49
关系数据库由表的集合构成,表中一行代表了一组值之间的一种联系。元组(tuple)只是一组值的序列。
在关系模型中,关系用来指代表,元组用来指代行,属性用来指代表列,关系实例用来表示一个关系的特定实例,也就是所包含的一组特定的行
每个属性允许取值的集合称为该属性的域(domain),所有属性的域都是原子的
空值(null)是一个特殊的值,表示位置或不存在,是任意域的成员
数据库模式(schema)是数据库的逻辑设计
数据库实例(instance)是数据库数据的快照
类比
- 关系模式——类型定义
- 关系——变量
- 关系实例——变量的值
给定集合
关系的当前值(关系实例)由表指定
一个关系中没有两个元组在所有属性上的取值都是相同的
数据库由多个关系组成
不好的设计
- 重复信息
- 需要空值
数据库中的码
- 超码(superkey):一个或多个属性的集合,这些属性的组合可以在关系中唯一地标识一个元组。如果
- 候选码(candidate key):最小的超码,任意的真子集都不能称为超码
- 主码(primary key):被数据库设计者选中的,用来在一个关系中区分不同元组的候选码
- 外码(foreign key):一个关系模式
参照完整性约束要求在参照关系中任意元组在特定属性上的取值必然等于被参照关系中某个元组在特定属性上的取值
模式图(schema diagram)
关系用矩形表示
- 名字在矩形上方
- 属性在矩形下方
- 主码属性用下划线标注
- 外码依赖用从参照关系的外码到被参照属性的主码之间的箭头表示
模式
关系用名字和元组表示
- 名字表示关系名
- 元组是属性的集合
- 主码属性用下划线标注
关系查询语言(query language)
- 用户用来从数据库中请求获取信息的语言
- 纯(pure)查询语言
- 关系代数(Relational algebra)——过程化:包括一个运算的集合,这些运算以一个或两个关系为输入,产生一个新的关系作为结果
- 关系演算(Relational calculus)——非过程化:包括元组关系演算(Tuple relational calculus)和域关系演算(Domain relational calculus),使用谓词逻辑来定义所需的结果,不需给出获取结果的特定代数形式
关系运算
- 选择(
- 投影(
- 自然连接(
- 笛卡尔积(
- 并(
- 交(
- 差(
- 02关系模型的介绍
- 第二章.关系模型介绍
- 关系模型的基本概念
- 关系模型的基本概念
- 关系模型的基本概念
- 关系模型的名词
- 数据库系统概念笔记-关系模型介绍
- 第2章 关系模型介绍
- ER模型、OO模型、关系模型的关系
- jeecms系统使用介绍——jeecms中的内容、栏目、模型之间的关系
- 对象的构成模型和关系模型
- 生成模型与判别模型的关系
- 关系模型的基本术语
- 关系模型的那些事儿
- 算法、模型的介绍
- 【数据库系统概念部分习题】第二章 关系模型介绍
- 数据库系统概念(第二章:关系模型介绍)
- 关系模型
- GestureDetector简单使用
- Fiddler建好代理后,能连到手机,但手机不能上网了,求破有果
- 01引言
- 0006_20170228_【我是菜鸟】_NumberFormat虚拟类的小笔记
- 算法课第2周第1题——100. Same Tree
- 02关系模型的介绍
- 03SQL
- 04中级SQL
- 徐悲鸿赠画马车夫
- 06形式化关系查询语言
- 动态规划-波动数列
- 07数据库设计
- [LeetCode]496. Next Greater Element I(下一个更大的元素 1)
- 08关系数据库的设计