目录

一、关系模型概述

二、关系及关系模式的概念

三、候选键和外键

四、关系模型的完成性约束


一、关系模型概述

二、关系及关系模式的概念

1、笛卡尔积

给定一组域D1、D2、....Dn,这n个域的笛卡尔积为:

例如:

2、关系的定义

满足一定语义的D1*D2*...*Dn的子集叫做域在D1、D2、...、Dn上的关系R(D1,D2,...Dn)

R:关系的名字        n:关系的目或度

在关系模型中只包含单一的数据结构——关系

关系既可以表示概念模型中的实体,也可以用来描述实体间的各种关系

3、关系的相关概念

 4、关系模式 

R(U,D,Dom,F)
R 关系名 关系的名称通常与实体的名称,或者实体间联系的名称相一致
U 组成该关系的属性集合

属性:

关系中元组分量的描述,与定义关系的一组域对应

关系所描述的实体的属性,或实体间联系的属性

在同一关系中,属性名不能相同

D 属性组U中属性所来自的域

域:

属性的取值范围

不同的属性可以有相同的域

域都是原子数据的集合——第一范式条件

Dom 属性向域的映像的集合 属性的类型和长度
F 属性间数据的依赖关系集合

属性间数据的依赖关系:

关系的属性与属性之间的一种约束关系

现实世界事物特征间的一种依赖关系

数据内在的性质,是语义的体现

关系模式是关系的型的描述,是静态的、稳定的

5、关系实例

关系R的实例 r(R)

一个给定关系的某一时刻的元组的集合,即当前关系的值

关系实例是动态的、随时间不断变化的

6、关系数据库

关系数据库:应用领域中所有实体及实体之间的联系所形成的的关系的集合

关系数据库模式:数据库中关系模式集合,是数据库的概念模式,对关系数据库的型的描述

关系数据库实例:关系模式在某一时刻对应关系实例的集合

7、概念辨析

(1)集合的关系:关系可以是一个无限的集合,关系中每个元组是“序组”

(2)关系模型中的关系:关系必须是有限集合,为关系的每个属性附加一个属性名取消分量的有序性

关系

关系是n个域上的一个n元组的集合

关系中属性的次序和元组的次序都是任意的

关系中不能有相同的元组

表是关系的“二维”呈现

在表中各列从左到右是有序的,各行从上到下也是有序的

在表中,可能包含重复的行

三、候选键和外键

1、候选键

R(A1,A2...An)

关系中能唯一标志一个元组的最小属性集(关系实例上任何两个元组的值在候选键的属性集上取值不同)

若一个关系有多个候选键,可选择其中的一个作为主键

包含候选键的属性集称为超键

若关系只有一个候选键,且这个候选键包含了关系的所有属性,称该候选键为全键

构成候选键的每个属性称为主属性

不包含在任何候选键中的属性称为非主属性

例题:

2、外键

若关系R的一个属性(集)F与关系S的主键Ks对应,即关系R中的元组在F上的取值与关系S中元组的Ks上的值对应,则称该属性(集)F为关系R的外键

例题:

四、关系模型的完成性约束

1、实体完整性

  实体完整性规则:若属性A是关系R的主属性,则属性A的值不能为控制(NULL)

约束规则体现了关系模型的键约束特性

约束规则针对基本关系(存储的关系表),并不对查询的结果关系、视图等进行约束

2、参照完整性

参照完整性规则:若属性(或属性集)F是关系R的外键,它与关系S的主键Ks对应,则R中元组在F上的取值只有两种可能:取控制或等于S中某个元组的Ks值

3、用户定义的完整性

关系数据库满足一些特殊的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求

  • 对属性的类型约束
  • 对属性值的取值范围进行约束
  • 对同一关系的不同元组进行约束
  • 对同一关系的各属性进行约束
  • 对同一数据库中各关系进行约束

4、小结

完整性约束是为了防止关系数据库中存在不符合语义的数据

DBMS必须提供定义、检查和控制数据完整性的机制

完整性约束的定义作为数据库模式设计的一部分

DBMS发现有违背了完整性约束的数据操作,则采取拒绝执行等操作

关系数据模型(一)——关系模型相关推荐

  1. 关系型数据库(一)---关系数据模型与关系

    文章目录 前言 一.数据模型 1.什么是数据模型 2.数据模型的基本要素 (1)数据结构 (2)数据操作 (3)数据的约束条件 二.关系数据模型 1.关系数据模型的基本概念 (1)关系实例 (2)关系 ...

  2. 关系数据模型与关系运算(一)

    文章目录 一.域 二.笛卡尔积 三.关系的性质 四.关系的键与关系的完整性 4.1 总的关系 4.2 超键 4.3 候选键 4.4 主键 4.5 外键 五.关系的完整性 5.1 实体完整性 5.2 参 ...

  3. 计算机系统层次模型,中常用的数据模型层次模型网格模型关系模型

    定义: 分层数据模型是使用树状结构组织数据的数据模型. 满足以下两个条件的基本层次关系集是层次模型 1. 只有一个节点,没有父节点,该节点称为根节点 2. 除根节点外,只有一个父节点 实际上,分层数据 ...

  4. 数据库系统概念 - 数据模型,关系模型,关系,候选码,主码,外码

    目录 什么是数据模型 什么是关系模型 什么是关系 候选码 Candidate Key 主码 Primary Key 外码 Foreign Key 什么是数据模型 模式是对数据的结构的抽象,模型是对模式 ...

  5. 关系数据模型、基本概念、关系模型的基本术语、关系代数

    关系数据模型 关系数据模型 关系模型由关系模型的数据结构.关系模型的操作集合和关系模型的完整性约束三部分组成,这三部分也称为关系模型的三要素. 数据结构 关系数据模型源于数学,它用二维表来组织数据,而 ...

  6. 数据库中的常用的数据模型 层次模型 网状模型 关系模型

    层次数据模型     定义:层次数据模型是用树状<层次>结构来组织数据的数据模型.     满足下面两个条件的基本层次联系的集合为层次模型     1. 有且只有一个结点没有双亲结点,这个 ...

  7. 计算机二级access知识点6,2019年计算机二级ACCESS考试知识点:关系数据模型

    [导语]2019年计算机二级考试备考正在进行中,为了方便考生及时有效的备考,那么,无忧考网为您精心整理了2019年计算机二级ACCESS考试知识点:关系数据模型,欢迎大家的关注.如想获取更多计算机二级 ...

  8. 第3章 关系数据模型

    数据模型 数据模型的三要素 数据结构 数据操作 数据的完整性约束 关系模型 1. 关系.关系模式.关系数据库 关系模式,关系的逻辑结构和特征描述,对应于二维表格的表头 关系,关系模式的实例,即二维表( ...

  9. 第三章 关系数据模型

    3.1 关系数据模型和关系数据库 关系数据模型:由关系数据结构.关系操作集合和关系完整性约束三大要素组成. 1.关系数据结构:关系模型把数据库表示为关系的集合(关系模型中数据的逻辑结构是一张二维表). ...

最新文章

  1. cpp 条件判断 大于等于_07.合意就执行,不行就拉倒-if/else条件控制(一)
  2. 树莓派教程 - 1.0 树莓派GPIO库wiringPi 点亮LED
  3. cmd 出现The system cannot write to the specified device问题时如何解决
  4. Atitit freemarker模板总结 D:\workspace\springboothelloword\src\com\attilax\util\TempleteFreemarkerUtil.
  5. python电子书合集
  6. Web开发常用代码:背投广告
  7. 二级计算机考试什么最难,计算机二级考试难吗 考试内容是什么
  8. Linux的自动装机服务器搭建(持续优化)
  9. Windows安装mysql8并设置开机自启动
  10. 汉字转拼音 python_python实现将汉字转换成汉语拼音的库
  11. 实现多个文件夹名同时重命名的操作
  12. 计算机基础知识截屏,电脑截屏技巧 截图快捷键是什么
  13. 防止首网页篡改 html,网站web前端的加密方式 防止数据被篡改
  14. jupyter的使用
  15. 关于斐波那契数列那些事儿~
  16. 【AU】单链表就地逆置
  17. ai作文批改_AI批改作文到底靠不靠谱
  18. 探秘小米集团首个自建智慧园区的“智能大脑”
  19. 【CAN模块】解决主控内部无终端电阻两路CAN外部回环通信问题
  20. html中display属性含义,css中display是什么意思?

热门文章

  1. RPA教学——TypeError: ‘_Folders‘ object is not callable
  2. 实验6 在应用程序中播放音频和视频
  3. rabbitmq基础10——消息追踪、Shovel插件的web端使用和命令使用
  4. Linux之文件系统和根文件系统
  5. 詹姆斯拿下三双 本赛季第六次 个人生涯第105次
  6. 21 LCD1602
  7. webpack大拷问
  8. Python3判断字母串中有多少单词
  9. npm install vue@next 是报错npm WARN registry Unexpected warning for https://registry.npmjs.org/: Miscel
  10. win2003修改Administrator用户名的方法