SQL关系模型与关系数据库

简介: 前言回忆一下我们之前了解过的,SQL语言控制的数据库是建立在哪个数据模型上的?——答案很显然,是“关系模型”。SQL是访问关系数据库的计算机标准语言,而关系数据库正是建立在各系模型上的。

前言


回忆一下我们之前了解过的,SQL语言控制的数据库是建立在哪个数据模型上的?

——答案很显然,是“关系模型”。SQL是访问关系数据库的计算机标准语言,而关系数据库正是建立在各系模型上的。


关系数据表


关系模型本质就是若干个二维数据表,每个表的每一行称为记录(Record)代表的是我们平常说的数据;每一列称为字段(Column)储存了每一条记录含有相同类型相同意义的数据值。

这就建立了一个数据表:


意义1 意义2
记录1的第一个值 记录1的第二个值
记录2的第一个值 记录2的第二个值
……


可能这样说还是没那么好理解,其实我们代入一个具体的范例就好理解了:


学生姓名 学生成绩
张三 99
李四 97


在这样一个学生成绩表中,我们建立了学生姓名和学生成绩这两个数据的关系。

而前面这个这个仅仅只是关系数据表,若要称为数据库,表与表之间也需要有关系


关系数据库


比如我们再建立一个表,储存的是每位同学的学号信息和姓名的对应关系:


学生姓名 学生学号
张三 2022120101
李四 2022120102
……
显然,这第二张表的每个记录都可以对应一个第一张表的记录,可以理解成一个学生有一个学号和一个分数。


这就是关系数据库中两个表“一对一”的关系

思考:那么一对多、多对一怎么理解呢?可以试着举举例子。

这里我也可以给出一个例子。还是基于上面提到的学生学号表,我们可以再加一列班级:

学生姓名 学生学号 班级
张三 2022120101 高三1班
李四 2022120102 高三1班
王五 2022120103 高三2班
……


再来一个班级表:


班级 班主任
高三1班 M先生
高三2班 L女士
……

我们发现张三和李四都是来自高三1班,所以学生表的多条记录对应班级表的一条记录,这种关系就是“多对一”。反之,班级表的一条记录对应学生表的多条记录,这种关系就是“一对多”。


总结


一张表中,每条记录中值的排列按照列名以一定关系排列,我们可以通过一条记录的值定位到这条记录(或者筛选出一些符合条件的记录),并可能查找到这条记录别的值

一个关系数据库中,我们可以建立表与表的关系,通过连接、子查询等操作,对庞大的数据进行管理,让他们井井有条地为我们服务


相关文章
|
20天前
|
SQL 关系型数据库 MySQL
MySQL数据库基础第一篇(SQL通用语法与分类)
MySQL数据库基础第一篇(SQL通用语法与分类)
|
20天前
|
SQL IDE Java
Java连接SQL Server数据库的详细操作流程
Java连接SQL Server数据库的详细操作流程
|
3天前
|
SQL 自然语言处理 网络协议
【Linux开发实战指南】基于TCP、进程数据结构与SQL数据库:构建在线云词典系统(含注册、登录、查询、历史记录管理功能及源码分享)
TCP(Transmission Control Protocol)连接是互联网上最常用的一种面向连接、可靠的、基于字节流的传输层通信协议。建立TCP连接需要经过著名的“三次握手”过程: 1. SYN(同步序列编号):客户端发送一个SYN包给服务器,并进入SYN_SEND状态,等待服务器确认。 2. SYN-ACK:服务器收到SYN包后,回应一个SYN-ACK(SYN+ACKnowledgment)包,告诉客户端其接收到了请求,并同意建立连接,此时服务器进入SYN_RECV状态。 3. ACK(确认字符):客户端收到服务器的SYN-ACK包后,发送一个ACK包给服务器,确认收到了服务器的确
|
8天前
|
SQL 存储 Java
SQL数据库学习指南:从基础到高级
SQL数据库学习指南:从基础到高级
|
9天前
|
SQL 弹性计算 数据管理
数据管理DMS产品使用合集之sql server实例,已经创建了数据库,登录时提示实例已存在,该怎么处理
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
23 1
|
14天前
|
SQL druid Java
传统后端SQL数据层替代解决方案: 内置数据源+JdbcTemplate+H2数据库 详解
传统后端SQL数据层替代解决方案: 内置数据源+JdbcTemplate+H2数据库 详解
15 1
|
18天前
|
SQL 监控 安全
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
|
17天前
|
存储 SQL 关系型数据库
SQL 用于各种数据库的数据类型
SQL 用于各种数据库的数据类型
17 2
|
20天前
|
SQL 存储 数据库
SQL 撤销索引、撤销表以及撤销数据库
SQL 撤销索引、撤销表以及撤销数据库
23 4
|
16天前
|
SQL 数据库
零基础学习数据库SQL语句之操作表中数据的DML语句
零基础学习数据库SQL语句之操作表中数据的DML语句
18 0
零基础学习数据库SQL语句之操作表中数据的DML语句