三、计算机理论-关系数据库-数据模型与数据视图;关系代数、关系演算及关系模型

数据模型

具体事物-抽象化-->概念模型-数据化-->数据模型

概念模型也称信息模型,在数据库设计阶段,由设计者按照用户的观点对数据和信息建模,实现对现实世界的概念抽象;

数据模型主要包括网状模型、层次模型、关系模型、面向对象数据模型,由设计者按照计算机系统的观点对数据建模,实现概念模型到适应具体数据库管理系统的数据模型的转换;数据模型通常由数据结构、数据操作和完整性约束三个要素组成

E-R模型(实体-联系模型)

是用E-R图来描述现实世界的概念数据模型(概念模型)

实体用矩形、属性用椭圆、联系用菱形

数据视图

视图是一个虚表

建立视图、删除视图、查询视图、更新视图

CREATE、DROP、SELECT、UPDATE

视图是虚表,本身不存放数据,对视图的更新都是通过对基本表的更新来进行的

优点:简单、安全、一定程度的逻辑独立性、视图可以使不同的用户以不同的方式看待同一数据

缺点:性能差、更新限制严重
关系数据结构

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

笛卡尔积:也称为直积,可表示为一张二维表,表中的每一行对应一个元组,表中的每一列的值来自一个域

关系:

候选码:若关系中的某个属性的值能唯一标识一个元组,且又不含有多余的属性,则该属性成为该关系的候选码,简称码

主码:若关系中有多个候选码,则选取其中一个为主码

主属性:候选码的属性

非主属性:不包含在候选码中的属性

注意:不能出现两个完全相同的元组;每一个分量都是不可分的数据项

关系操作

|--------|---------------------------------|
| 关系操作包括 | 查询、插入、删除、修改 |
| 查询细分 | 选择、投影、并、差、笛卡尔积 (连接、除、交可通过前五种定义) |

关系完整性约束

实体完整性

若属性A是关系R的主属性,则A不能取空值

参照完整性

也称引用完整性,若F是基本关系R的属性,但不是R的码,且F与基本关系S的主码Ks相对应,则称F是R的外码,并称R是参照关系,S是被参照关系

若属性F是基本关系R的外码,它与基本关系S的主码Ks相对应,则对于R中的每个元组在F上的值必须取空值或者等于S中某个元组的主码值

用户自定义完整性

用户定义的完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用程序所涉及的数据必须满足的语义要求

关系代数

关系代数是一种抽象的查询语言,作为研究关系数据语言的数据工具,用对关系的运算来表达查询。关系代数的运算对象是关系,产生的结果也是关系

传统的集合运算

并、差、交、广义笛卡尔积

专门的关系运算

|----|----------------------------------------------------------------------|
| 选择 | 从行的角度进行的运算 |
| 投影 | 从列的角度进行的运算 |
| 连接 | 分为等值连接和自然连接,自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性列去掉 |
| 除 | 从行和列的角度进行的运算 |

关系演算

元组关系演算语言ALPHA

域关系演算语言QBE

相关推荐
TDengine (老段)2 分钟前
TDengine 快速体验(Docker 镜像方式)
大数据·数据库·物联网·docker·时序数据库·tdengine·涛思数据
笨笨马甲18 分钟前
附加模块--Qt SQL模块功能及架构解析
数据库·sql·qt
独爱竹子的功夫熊猫23 分钟前
数据库技巧:INSERT IGNORE的高效插入策略
数据库·后端·mysql
时序数据说41 分钟前
时序数据库IoTDB数据模型建模实例详解
大数据·数据库·开源·时序数据库·iotdb
水水沝淼㵘1 小时前
嵌入式开发学习日志(数据库II && 网页制作)Day38
服务器·c语言·网络·数据结构·数据库·学习
时序数据说1 小时前
时序数据库IoTDB结合SeaTunnel实现高效数据同步
大数据·数据库·开源·时序数据库·iotdb
云闲不收2 小时前
mysql如何快速生成测试大数据库
数据库·mysql·oracle
Cyrus_柯2 小时前
网络编程(数据库:SQLite)
linux·c语言·数据库·sqlite
2501_915374352 小时前
如何彻底删除Neo4j中的所有数据:完整指南
数据库·oracle·neo4j
老纪的技术唠嗑局3 小时前
世事洞明皆学问 — 如何理解 OB 4.x 版本中的日志流?
数据库