数据库系统关系模型概念
2016-07-28 17:30
507 查看
关系模型简述
关系模型就是处理TABLE,它由三部分组成:
描述DB各种数据的基本结构形式(Table/Relation)
描述Table与Table之间所可能发生的各种操作(关系运算)
描述这些操作所应遵循的约束条件(完整性约束)
关系模型的三个要素
完整性约束: 实体完整性、参照完整性和用户自定义的完整性
实体完整性
关系的主码中的属性值不能为空值;
空值:不知道或无意义的值;
意义:关系中的元组对应到现实世界相互之间可区分的一个个个
体,这些个体是通过主码来唯一标识的;若主码为空,则出现不可标识
的个体,这是不容许的。
参照完整性
如果关系R1的外码Fk与关系R2的主
码Pk相对应,则R1中的每一个元组的
Fk值或者等于R2 中某个元组的Pk 值,
或者为空值
意义:如果关系R1的某个元组t1参照
了关系R2的某个元组t2,则t2必须存在
例如关系Student在D#上的取值有两
种可能:
空值,表示该学生尚未分到任何系中
若非空值,则必须是Dept关系中某个
元组的D#值,表示该学生不可能分到一
个不存在的系中。
用户自定义完整性
用户针对具体的应用环境定义的完整性约束条件
如S#要求是10位整数,其中前四位为年度,当前年度与他们的
差必须在4以内。
域:“列”的取值范围
基数:属性中 元素的个数
主键
外键
候选键
关系模型就是处理TABLE,它由三部分组成:
描述DB各种数据的基本结构形式(Table/Relation)
描述Table与Table之间所可能发生的各种操作(关系运算)
描述这些操作所应遵循的约束条件(完整性约束)
关系模型的三个要素
完整性约束: 实体完整性、参照完整性和用户自定义的完整性
实体完整性
关系的主码中的属性值不能为空值;
空值:不知道或无意义的值;
意义:关系中的元组对应到现实世界相互之间可区分的一个个个
体,这些个体是通过主码来唯一标识的;若主码为空,则出现不可标识
的个体,这是不容许的。
参照完整性
如果关系R1的外码Fk与关系R2的主
码Pk相对应,则R1中的每一个元组的
Fk值或者等于R2 中某个元组的Pk 值,
或者为空值
意义:如果关系R1的某个元组t1参照
了关系R2的某个元组t2,则t2必须存在
例如关系Student在D#上的取值有两
种可能:
空值,表示该学生尚未分到任何系中
若非空值,则必须是Dept关系中某个
元组的D#值,表示该学生不可能分到一
个不存在的系中。
用户自定义完整性
用户针对具体的应用环境定义的完整性约束条件
如S#要求是10位整数,其中前四位为年度,当前年度与他们的
差必须在4以内。
域:“列”的取值范围
基数:属性中 元素的个数
主键
外键
候选键
相关文章推荐
- oracle学习笔记 SQL语句解析类型_硬解析_软解析
- ‘Can't connect to MySQL server on localhost (10061)‘导致一下午白忙活
- 20个数据库设计最佳实践 - Thinking In Jdon
- 数据库的分类
- Oracle pl/sql 出现"PLS-00103: 出现符号""在需要下列之一时" 错误
- spring如何集成一主多从的redis
- Memcache 监控
- Memcache 优化建议
- 使用SQLyog将sqlserver的数据及表结构迁移到mysql中
- Teigha .dwg文件开发——数据库结构
- Memcache 分布式高可用集群介绍
- Memcache CAS协议介绍及使用
- Memcache的安装和使用
- Memcache 服务管理脚本
- Memcache介绍与应用场景
- Mysql子查询分析一
- msyql sql优化一列
- 数据库表简单优化
- Windows Server 2012 虚拟化实战:SCVMM的安装和部署
- SQL四种语言:DDL,DML,DCL,TCL