一、关系数据结构及形式化定义

1. 关系模式的相关概念:

域: 域是一组具有相同数据类型的值的集合


笛卡尔积: 域上的一种集合运算

其中每一个元素(d1,d2,d3,……dn)叫做一个元祖,元祖中的每一个值叫做一个分量。
【一个域允许的不同取值个数称为这个域的基数】

关系: D1D2…*Dn的子集叫做在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn)

这里的n是关系的目或度(n=1时,单元关系/一元关系;n=2时,两元关系)

候选码(候选关键字): 若在一个关系中,某一属性或 属性组的值能唯一的识别一个关系的元祖,其子集不能,则该属性组称为候选码

——属性组是候选码吗?
属性组也可以为候选码

主码(主关键字): 主码一定是候选码中的一个,且只能有一个

候选码的属性称为主属性
不包含在任何候选码中的属性称非主属性
【不能取空值】

外部码(外码): 若F是基本关系R的一个或一组属性,但不是关系R的码,KS是关系S的主码,如果F与KS相应,则称F是关系R的外码

【限制主表中没有次表中不能出现的】
基本关系R称为参照关系
基本关系S称为被参照关系
【外码可以为空】

全码: 关系模式的全部属性是这个关系的候选码

2. 关系类型:

基本关系: 实际存在的表,是实际存储数据的逻辑表示
查询表: 查询结果对应的表,是实际根本不存在的表
视图表(虚表): 由基本表或其他视图表导出的表,是虚表,值存放定义但不存储对应的数据,其对应的数据仍存储在基本表中

3. 基本关系的性质:

  • 列是同性质的
  • 不同的列属性必须有不同的属性名(不同的列可来自同一个域)
  • 任意两个元祖不能完全相同
  • 行的次序无所谓,可以任意交换
  • 不允许“表中套表”,即分量必须取原子值,每一个分量必须是不可分割的数据项

4.对关系的描述:


描述: R为关系名,U为组成该关系的属性名集合,D为U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合

关系模式必须指出这个元祖集合的结构
关系模式应当划出完整性约束条件

5. 关系与关系模式:

关系: 是关系体,关系模式某一时刻的状态和内容,随数据更新不断变化
关系模式: 是关系头,是对关系结构的描述,静态,稳定,固定不变

6. 关系数据库与关系数据库模式:

关系数据库模式:【型】是对关系数据库的描述。包括若干域的定义以及在这些域上定义的若干关系模式
关系数据库:【值】关系模式在某一时刻的关系的集合,随数据更新不断变化

7. 关系数据库的存储结构:

  1. 以表为单独的文件方式存储,交由操作系统进行管理
  2. 以大文件的方式存储,有DBMS与OS共同管理

二、关系操作

2.1. 常用关系操作:

查询(query): 选择(select)、投影(project)、连接(join)、笛卡尔积、除(divide)、并(union)、交(intersection)、差(except)
常见的关系操作: 查询(query),插入(insert)、删除(delete)、修改(update)
【选择、投影、并、差、笛卡尔积是5种基本的查询操作】
操作的对象和结果都是集合

2.2. 关系操作的特点:

  1. 关系操作语言一体化
  2. 关系操作方式一次一集合方式
  3. 关系操作语言是高度非过程化的语言
    关系代数语言: 用对关系的运算来表达查询要求的语言
    关系演算语言: 用查询得到的元祖应满足的谓词条件来表达查询要求的语言
    基于映像的语言: 具有关系代数和关系演算双重特点的语言(SQL语言)

2.3. 关系数据语言的分类


三、关系的完整性

3.1.关系的三类完整性约束

实体完整性和参照完整性: 关系模型必须满足的完整性约束条件称为关系的两个不变性,应该由关系系统自动支持
用户定义完整性: 应用领域需要遵循的约束条件,体现了具体领域中的语义约束

3.2.实体完整性

关系的主属性不能取空值
空值就是“不存在”或“不知道”无实际意义的值

实体完整性规则说明:
(1)实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。
(2)现实世界中的实体是可区分的,即它们具有某种唯一性标识。
(3)关系模型中以主码作为唯一性标识。 (4)主码中的属性即主属性不能取空值。
主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(2)点相矛盾,因此这个规则称为实体完整性

3.3.参照完整性

若属性F是基本关系R的外码,它与基本关系S的主码KS相对应,则对于R中的每一个元组在F上的取值满足:
空值&等于S中某个元祖的主码值
在关系模型中实体及实体间的联系都是用关系来描述的

3.4.用户定义完整性

针对某一具体关系数据库的约束条件,反应某一具体应用所涉及的数据必须满足的语义要求
关系模式应提供定义和检验这类完整的机制,一遍用同一的系统的方法处理他们,而不需有应用程序撑到这一切


四、关系代数

关系代数是一种抽象的查询语言,它对关系的运算来表达查询
运算对象三要素: 运算对象,运算符,运算结果

4.1. 传统的集合运算

二目运算:并,差,交,笛卡尔积

  • 并(union)


其结果仍为n目关系,由属于R或属于S的元组组成

  • 差(except)


由属于R二不属于S的所有元组组成

  • 交(intersection)

由属于R而不属于S的所有元组组成,可用差来表示,R∩S=R-(R-S)

  • 笛卡尔积

若R有K1个元组,S有K2个元组,则关系R和关系S的笛卡尔积有K1×K2个元组

4.2. 专门的关系运算

选择: 又称为限制【选择是从行角度进行的运算】

F:选择条件,是一个逻辑表达式,取值为真或假。
【集合结构并没有变化,只是个数上的减少】

投影:【是从列角度进行的运算】
从R中选择出若干属性列组成新的关系,取消重复元素

连接: 也称为Θ连接【具体连接由关系Θ决定】
连接运算的含义:从两个关系的笛卡尔积中选取属性间满足一定条件的元祖


自然连接:自然连接是一种特殊的等值连接
两个关系中进行比较的分量必须是相同的属性组
在结果中把重复的属性列去掉

自然连接的含义:
R和S具有相同的属性组B

悬浮元组: 两个关系做自然连接时,关系R中某些元祖有可能在S中不存在公共属性上值相等的元组,从而造成R中这些元组在操作时被舍弃,被舍弃的元组称为悬浮元组。

外连接: 把悬浮元组也保存在结果关系中,而在其他属性上填空值(null)
左外连接:只保留左边关系R中的悬浮元组
右外连接:只保留右边关系S中的悬浮元组


除运算:


设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性的及其值,且T的元组与S的元组的所有组合都在R中。

数据库:第二章 《关系模式》概念总结相关推荐

  1. 数据库——第二章关系运算题整理

    设有一个SPJ数据库,包括S.P.J和SPJ4个关系模式: 供应商-零件-工程项目数据库由以下四个关系模式构成: S(SNO,SNAME,STATUS,CITY) P(PNO,PNAME,COLOR, ...

  2. 数据库系统概念总结:第二章 关系模型介绍

    周末无事水文章,期末备考的总结资料 第二章 关系模型介绍 2.1 关系数据的结构 关系数据库由表(table)组成,每个表有唯一的名字.一般来说,表中一行代表了一组值之间的一种联系 表中一行代表了一组 ...

  3. 23种设计模式(第二章创建者模式5种)

    第二章创建者模式 单例模式 单例模式有 3 个特点: 单例类只有一个实例对象: 该单例对象必须由单例类自行创建: 单例类对外提供一个访问该单例的全局访问点. 单例模式的实现 单例设计模式分类两种: ​ ...

  4. 【设计模式】第二章 代理模式

    第二章 代理模式 文章目录 第二章 代理模式 一.简介 一.静态代理 二.动态代理 1.JDK 代理 2.CGLib 代理 三.总结 一.简介 你可能会对这个设计模式感到陌生,但是你对 Spring ...

  5. 点阵图像与矢量图像的计算机记录原理,第二章像素地概念,分辨率地概念,点阵及矢量图象地特点。第四节:图像格式地选择.docx...

    实用标准文案 实用标准文案 精彩文档 精彩文档 第二章 像素的概念,分辨率的概念,点阵及矢量图象的特点.第四节:图像格 式的选择 图像格式,矢量,图片,格式,jpg 从上面点阵与矢量两者的对比中,似乎 ...

  6. 第二章 关系模型和关系运算理论 3类完整性

    1.关系模型的基本概念 用二维表格(关系)作为数据结构的数据模型,称为关系模型,其中实体及实体之间的联系均用关系表示. 1.关系模型的三大要素 1)关系模型的结构 -关系 2)关系模型的操作-关系运算 ...

  7. 数字图像处理第二章:基本概念

    文章目录 第二章 1.成像机制和视觉现象 1.1.亮度适应,视觉鉴别 1.2.马赫带效应,同时对比,错觉 1.3.亮度视觉,颜色视觉,彩色成像 2.光和电磁波谱 3.图像采集 4.采样和量化 5.图像 ...

  8. 【数据库理论】关系模式的规范化与查询优化

    本系列为<数据库系统原理与应用(刘先锋等著)>的读书笔记. 一,问题的提出 1,关系模式 关系模式定义:一个关系模式是一个系统,它是有一个五元组R(U,D,DOM,I,F)R(U, D, ...

  9. 第二章 寄存器基础概念

    第二章 寄存器 1.一个典型的CPU由运算器,控制器,寄存器等器件组成. 内部总线实现CPU内部各个器件之间的联系. 外部总线实现CPU和主板上其它器件的联系. 2.8086是Intel系列中16位微 ...

  10. 第二章 关系数据结构及关系的完整性习题解析

    1.某关系R的外键是指 A.(正确答案)解析:其它关系的候选键,可以是R中的主属性或非主属性 B.(错误答案)解析:外键是另一个关系的主键 C.(错误答案)解析:其它关系的候选键,可以是R中的主属性或 ...

最新文章

  1. 基于NHibernate的UnitOfWork+Repository模式(AutoFac)–Part2
  2. 2d的公式_西师大版六年级数学上册全册必背公式+高清版电子课文,收藏预习
  3. 转:10个常见的 Android 新手误区
  4. 计算机学习的基本形式,电脑基础知识学习方法
  5. shutdown小程序
  6. oracle导数卡死,oracle-审计导数
  7. UVA 11452 Dancing the Cheeky-Cheeky
  8. 【转载】三角形测试用例
  9. python列表字典元祖_python列表,字典,元组常用方法和集合
  10. Linux 中的 DTrace :BPF 进入 4.9 内核
  11. php做一个微信退款,php实现微信支付之退款功能
  12. “清华同方同传”By软件:同方易教管理平台 V2.4
  13. 软件测试简历常见问题
  14. 前端新手小白必看--最全静态网页模板网站
  15. 电脑计算机未输出任何信号 键盘没亮,戴尔计算机不显示信号,为什么计算机屏幕不显示...
  16. 金融计算器--麦考利久期(Macaulay_Duration)
  17. Springboot项目javax.validation使用方法详解
  18. html实心圆圈,html5使用canvas画空心圆与实心圆
  19. CentOS7L2TP/IPSec
  20. Python_微博热搜保存数据库

热门文章

  1. smart lock蓝牙解锁失效
  2. 共享文件服务器实施方案,企业文件共享服务器搭建思路
  3. hd630核显相当于什么显卡
  4. TypeError: not supported between instances of 'treeNode' and 'treeNode'
  5. 房子让80后成为垮掉的一代
  6. Linux系统中的文件归档压缩
  7. php中局部变量和全局变量
  8. 2020android主流机型,2020安卓旗舰机排行榜-2020超高品质的安卓旗舰机推荐
  9. “3A之旅,逐梦之人”CGU 2018看点大揭秘!
  10. 【华为机试真题 Python实现】2023年1、2月高频机试题