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班,所以学生表的多条记录对应班级表的一条记录,这种关系就是“多对一”。反之,班级表的一条记录对应学生表的多条记录,这种关系就是“一对多”。


总结


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

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


相关文章
|
1天前
|
SQL 关系型数据库 MySQL
|
7天前
|
SQL 存储 移动开发
HTML5 Web SQL 数据库详解
Web SQL 数据库是 HTML5 中的一种本地存储技术,允许在浏览器中使用 SQL 语言操作本地数据,支持离线访问和事务处理,适用于缓存数据和小型应用。然而,其存储容量有限且仅部分现代浏览器支持,标准已不再积极维护,未来可能被 IndexedDB 和 localStorage 等技术取代。使用时需谨慎考虑兼容性和发展前景。
|
1月前
|
SQL 存储 数据管理
SQL Server数据库
SQL Server数据库
43 11
|
1月前
|
SQL 安全 数据库
基于SQL Server事务日志的数据库恢复技术及实战代码详解
基于事务日志的数据库恢复技术是SQL Server中一个非常强大的功能,它能够帮助数据库管理员在数据丢失或损坏的情况下,有效地恢复数据。通过定期备份数据库和事务日志,并在需要时按照正确的步骤恢复,可以最大限度地减少数据丢失的风险。需要注意的是,恢复数据是一个需要谨慎操作的过程,建议在执行恢复操作之前,详细了解相关的操作步骤和注意事项,以确保数据的安全和完整。
69 0
|
2月前
|
前端开发 C# 设计模式
“深度剖析WPF开发中的设计模式应用:以MVVM为核心,手把手教你重构代码结构,实现软件工程的最佳实践与高效协作”
【8月更文挑战第31天】设计模式是在软件工程中解决常见问题的成熟方案。在WPF开发中,合理应用如MVC、MVVM及工厂模式等能显著提升代码质量和可维护性。本文通过具体案例,详细解析了这些模式的实际应用,特别是MVVM模式如何通过分离UI逻辑与业务逻辑,实现视图与模型的松耦合,从而优化代码结构并提高开发效率。通过示例代码展示了从模型定义、视图模型管理到视图展示的全过程,帮助读者更好地理解并应用这些模式。
61 0
|
2月前
|
SQL 数据处理 数据库
|
2月前
|
SQL 存储 调度
|
2月前
|
SQL 安全 数据库
|
2月前
|
Java 数据库连接 数据库
告别繁琐 SQL!Hibernate 入门指南带你轻松玩转 ORM,解锁高效数据库操作新姿势
【8月更文挑战第31天】Hibernate 是一款流行的 Java 持久层框架,简化了对象关系映射(ORM)过程,使开发者能以面向对象的方式进行数据持久化操作而无需直接编写 SQL 语句。本文提供 Hibernate 入门指南,介绍核心概念及示例代码,涵盖依赖引入、配置文件设置、实体类定义、工具类构建及基本 CRUD 操作。通过学习,你将掌握使用 Hibernate 简化数据持久化的技巧,为实际项目应用打下基础。
75 0
|
2月前
|
SQL 存储 监控