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

数据模型

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

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

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

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

相关推荐
AllenO.o22 分钟前
Redis五种数据结构详解
java·数据结构·数据库·redis·缓存
消失在人海中31 分钟前
数据分析基础:需要掌握的入门知识
数据库·人工智能·数据分析
闪电麦坤9534 分钟前
SQL:SELF JOIN(自连接)与CROSS JOIN(交叉连接)
数据库·sql·mysql
码农飞哥1 小时前
互联网大厂Java面试实战:从Spring Boot到微服务的技术问答与解析
java·数据库·spring boot·安全·微服务·面试·电商
周盛欢1 小时前
数据库故障排查指南
数据库·mysql
onkel in blog2 小时前
【Docker】Docker Compose方式搭建分布式内存数据库(Redis)集群
数据库·redis·分布式·docker
Minyy112 小时前
“爱生活”小项目问题总结
java·数据库·spring boot·spring·maven·intellij-idea
大G哥2 小时前
【SQL 周周练】爬取短视频发现数据缺失,如何用 SQL 填充
数据库·sql
Qdgr_2 小时前
电厂数据库未来趋势:时序数据库 + AI 驱动的自优化系统
数据库·人工智能·时序数据库
搏博2 小时前
软件工程之需求分析涉及的图与工具
数据库·软件工程·软件构建·软件需求