二、DB的抽象与演变

2.1 DB的标准结构

DBMS管理数据的三个层次
● (局部模式)Entrenal Level 外部层次 = User Level 用户层次
○ 用户能够看到雨处理的数据,全局数据中的某一部分
● (全局模式)Conceptual Level 概念层次 = Logic Level 逻辑层次
○ 从全局角度理解、管理的数据、含响应的关联约束
● (存储模式)Internal Level 内部层次 = Physical Level

数据与模式
模式(Schema) :
对DB中的数据所进行的一种结构化的描述,所观察到的数据的结构信息
视图(View)/数据(Data):
表现形式下的数据


两层映像
EC Mapping (External Schema-Conceptual Schema Mapping)
将外模式映射为概念模式,从而支持实现数据概念视图—> 外部视图的转换 ,便于用户观察和使用

CI Mapping (Conceptual Schema-Internal Schema Mapping)
将概念模式映射为内模式,从而支持实现数据概念视图向内部视图的转换,便于计算机进行存储处理

两个独立性
逻辑数据独立性:
概念模式变化时,可以不改变外部模式(只修改EC-mapping),从而不需要改应用程序
物理数据的独立性:
内模式变化时,可以不改变概念模式(只修改CI-mapping),从而不改变外部模式

2.2 数据模型

数据模型:规定统一描述方式的模型,(数据结构、操作、约束)
数据模型是对模式本身结构的抽象,模式是数据本身结构形式化的抽象

三大经典数据模型
关系模式:表
层次模型:树
网状模型:图

三、DB发展史



1.文件系统,直接利用OS的接口
2.数据库系统(层次 图 )
3.数据库系统(表 )
4.关系数据库—>对象关系数据库、面相对象数据库

关系数据库的约束

  • 行列组织数据,关系的第一范式
  • 数据项不可再分
  • 关系运算:关系代数、元祖演算、域演算---->标准SQL
  • 关系数据库设计理论

对象关系数据库

  • 可以有效支持不满足关系第一范式的数据项
  • 以对象来封装需分解的数据项
  • 行对象&列对象:聚集对象&结构对象

    面向对象DB
  • 面相对象技术(O-O) 与 集合/聚集操作技术(SQL)的结合
  • 支持复杂的数据类型,数据封装&抽象数据结构
  • 支持面向对象的一特性:类 、继承、封装、多态


多数据库的互联

3.2 新型数据库

OA:DB + Management Infomation System
DB Machine = DB + Computer Architecture
Intelligent DB = DB + Aritificial Intelligence
Distrubuted DB(DDB分布式数据库) = Computer Network + DB
Image DB、Mulitimedia DB
Temporal DB = DB + 时态技术处理
Mobile DB = DB + 移动计算技术
Active DB = DB + 产生式 、触发技术
Ruzzy DB = DB + 模糊处理技术
Real_Time DB = DB + 实时技术
Engineering DB = DB + CAD/CAPP/CAM
Geographical DB = DB + 数字地图 + 定位系统 + 空间分析
Statiscical DB = DB + 统计学
Internat DB = DB + Internet/(www网页、html)
DW、DM = DB + OLAP + 统计学
NoSQL =

四、关系模型

关系模型发展

  1. 从表&表的处理方式中抽象出来,是在对传统表以及操作进行数学化严格定义基础上,引入集合理论&逻辑理论提出的
  2. 三大经典数据模型(关系数据模型、网状模型、层次模型)
  3. SQL是建立在关系数据模型之上的

关系模型研究什么?

  • 形象的说,一个关系relation就是一个table
  • 关系模型就是处理table的,三部分构成
    • DB各种数据基本结构形式(Table/Realtion)
    • Table&Table之间所有可能发生的各种操作(关系运算)
    • 描述这些操作所应该遵守的约束条件(完整性约束)

三要素:

  • 基本结构 Relation、Table

  • 基本操作 Relation Operator

    • 并 Union
    • 差 Difference
    • 广义积 Product
    • 选择 selection
    • 投影 projection
    • 交 intersection
    • 连接 join
    • 除 division
  • 实体完整性、参照完整性、用户自定义完整性

域Domain

一组值的集合,这组值拥有相同的数据类型
一个列的取值范围,相当于列的枚举

域中元素的个数为:基数Cardinality

笛卡尔积:域 * 域
表达了所有可能的所有元祖

关系Relation

一组域 的 笛卡尔积的 子集,有意义的组合



关系中的概念:

  • 候选码 候选键
    关系中的一个属性组,能够唯一标识元祖 一行
  • 主码 主键PK
    候选码可以有多个,需要指定一个
  • 主属性 非主属性
    包含在任何一个候选码中的属性:主属性
    其他属性:非主属性
  • 全码All key
    所有的属性构成这个关系的候选码
  • 外码 外键 FK
    属性组是其他关系的候选码

4.2 关系模式的完整性

实体完整性

关系的主码中的属性值不能为空值

参照完整性

可以为空值

五、关系代数

5.1 关系代数

并相容性

5.2 关系代数 基本操作

5.2.1 并union


不区分大小写,去重

5.2.2 差different

5.2.3 广义笛卡尔积 (Cartesian Product)


5.2.4 选择select

对行的选择


5.2.4 投影Project

对列的选择

5.3 关系代数 扩展操作

5.3.1 交 Intersection

5.3.2 连接 join

5.3.3 等值连接

join的一种特例

5.3.4 自然连接

join的一种特例,去除重复的col

5.4 关系代数 复杂扩展操作

5.4.1 除Division


5.4.2 外连接

自然连接的时候,会出现 后面表找不到key 丢失的问题

六、关系演算

6.1 原子公式

前面关系代数的操作中已经出现了关系演算

6.2 量词公式

6.3 等价变化

6.4 复杂例子

全都学过


全部 李明老师的课程 都进行验证,该同学都 存在 一条学过的记录

全都没学过

至少学过一门

至少有一没学过


存在 一条李明老师的课程,该同学 存在 一条没有学过的记录

6.5 关系代数转换元祖演算

6.6 关系域演算

元祖演算是 元祖变量 为操作单位,域演算是以 域变量为操作的单位


元祖演算 & 域演算 是可以等价互换的

6.7 QBE

Query By Example

6.8 关系运算的安全性

“不产生无线关系&无穷验证的运算被称为是安全的”

6.8.1 关系代数安全

  • 关系代数:是一种集合运算,是安全的:集合本身是安全的,有限元素集合的有限次运算也是有限的

6.8.2 关系演算不一定

  • 关系演算:不一定是安全的



关系演算安全性需要施加一个约束,任何公式都需要在一个集合范围内操作,而不是无限范围内操作,才能保证安全性

安全约束有限集合DOM

DOM()是一个有限集合,其中的每个符号要么是()中明显出现的符号,要么是出现在()中的某个关系R的某元组的分量

6.8.2 关系元祖表达式

6.9 三种关系运算

  • 关系代数:集合为操作对象
  • 元祖演算:以元祖为对象的操作思维,取出关系的每一个元祖进行验证,每一个元组就一次循环
  • 域演算:以域变量为对象的抽象思维,域的每一个变量进行验证

6.9.1 三种关系的比较

  • 等价的
    关系代数 = 安全的元组演算 = 安全的域演算
  • 非过程性的(执行的时候不一定按次序)
    过程性比较:域演算 > 元祖演算 > 关系代数
  • 数据库语言完备性的基础
    • 能实现这三种关系,那么语言是完备的
    • 多数数据库都能实现这三种运算,还能赋值、聚集

数据库系统-关系模式相关推荐

  1. 【数据库系统】关系模式

      数据库系统学习第六篇:关系模式. 文章目录 前言 数据库模式和关系模式基本概念 关系模式深入了解 码 合理设计关系模式 前言   关系模型是常用的数据模型,它主要包括三方面的内容,即: 数据结构: ...

  2. 2.1 《数据库系统概论》关系数据结构及形式化定义(关系、关系模式、关系数据库)

    文章目录 0.思维导图 1. 关系 (1)域(Domain) (2)笛卡尔积(Cartesian Product) (3)关系(Relation) (4)三类关系 2.关系模式 (1)什么是关系模式 ...

  3. ER图转为关系模式(超详细,超简单)

    相关系列: ER图转为关系模式 无损分解和保持依赖 3NF分解与BCNF分解 正则覆盖与候选码 如何设计ER图(弱实体集) 如何设计ER图(映射基数) 目录 1.简单属性的强实体集 2.派生属性不出现 ...

  4. 求关系模式r的所有候选码_关系数据理论基础概念

    数据库系统最基础的就是关系数据理论这一块,简单来讲,为了数据使用更加高效.快捷,必须用规范化理论对关系模式进行改造.不多说了,直接列重点: 1.关系模式的表示R<U,F>,其实R指的是关系 ...

  5. DBMS-数据库设计与E-R模型:E-R模型、约束、E-R图、E-R扩展特性、E-R图转换为关系模式、UML建模...

    设计过程概览 1. 设计阶段 ·最初阶段:刻画未来数据库用户的数据需求,产品为用户需求规格说明: ·概念设计阶段(conceptual-design phase):(关注描述抽象数据及其联系,通常使用 ...

  6. 【数据库系统设计】关系数据库简介(关系模型、关系模式、关系完整性、关系代数)

    关系数据库 笔记目录 关系模型 关系数据结构 域 关系 关系模式 关系的三类完整性 实体元整性(Entity Integrity) 参照完整性 用户定义的完整性 关系代数 关系代数运算符 传统的集合运 ...

  7. 数据库:ER图↔关系模式

    常考题目: ①如何画ER图 ②如何将ER图转化为关系模式 1,ER图 概念: 实体关系图 (Entity-Relationship,E-R),有三个组成部分:实体.属性.联系.用来进行关系型数据库系统 ...

  8. 数据库 关系模式和关系的区别

    定义 关系(Relation) D1 × D2 × ··· × Dn 的子集叫做在域D1,D2,···,Dn 上的关系,表示为 R(D1,D2,···,Dn ),其中R就是关系名,n就是目或度. 一个 ...

  9. 关系;关系模式;关系数据库

    为了更好的描述这三个概念,必须对关系模型的一些概念进行解释. 表Student 在关系模型的术语中,关系用来指代表,而元组用来指代行.类似地,属性指代的是表中的列. 在表Student中有五个属性:S ...

最新文章

  1. LL1分析构造法_数学建模算法--最优赋权法(含代码)
  2. [Golang]一道考察defer与命名返回值的题目
  3. VSCode主题:Dracula Official
  4. js 中的console.log有什么作用
  5. 贝加尔湖,冰雪奇缘之旅
  6. python默认参数不能定义为可变对象类型
  7. 算法题:(1) 有一个集合R = [a, b, c, d, e, f, g, h, i, j, k, l, m, n, ],....请写出求解这样的一个子集的通用算法。
  8. android百度经纬度转gps坐标,GPS经纬度怎么转百度经纬度
  9. oracle财务软件凭证打印,ORACLE财务软件简明操作文档.doc
  10. Abaqus 空间管路 自动化建模与分析
  11. IDL多进程批处理遥感数据
  12. mysql 给库赋权,Mysql数据库安装、赋权
  13. Grafana 短信报警
  14. 证券行业的数字化转型:数字新基建 (云、中台、数字化解决方案)
  15. 所有程序员会面临的问题:程序员只能吃青春饭?
  16. 结合Java和机器学习技术,如何驾驭大数据提升业务效率和竞争力?
  17. Luminati动态住宅IP使用教程_AdsPower防关联浏览器软件教程(二)
  18. Django实现微电影网站
  19. Matlab常见错误---带有下标的赋值维度不匹配。
  20. Android P 外置 SD 卡写入权限问题

热门文章

  1. 理解镜像、容器和存储驱动
  2. inventor安装未完成,某些产品无法安装的解决方法
  3. 笛卡尔坐标系中八个卦限对应的位置
  4. ubuntu 中文拼音输入法
  5. 使用react+redux+react-redux+react-router+axios+scss技术栈从0到1开发一个applist应用
  6. alwayson的同步提交和异步提交
  7. 检查excel指定列中是否有错别字存在
  8. html和css实现透明div上的div不透明,也可说父div透明,子div不透明
  9. Libevent 学习七:Libevent 两个实例
  10. MATLAB 声音文件分析、处理。