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


总结


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

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


相关实践学习
体验RDS通用云盘核心能力
本次实验任务是创建一个云数据库RDS MySQL(通用云盘),并通过云服务器ECS对RDS MySQL实例进行压测,体验IO加速和IO突发带来的性能提升;并通过DMS执行DDL,将数据归档到OSS,再结合云盘缩容,体验数据归档带来的成本优势。
目录
打赏
0
0
0
0
1
分享
相关文章
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)
本文深入介绍 MySQL 数据库 SQL 语句调优方法。涵盖分析查询执行计划,如使用 EXPLAIN 命令及理解关键指标;优化查询语句结构,包括避免子查询、减少函数使用、合理用索引列及避免 “OR”。还介绍了索引类型知识,如 B 树索引、哈希索引等。结合与 MySQL 数据库课程设计相关文章,强调 SQL 语句调优重要性。为提升数据库性能提供实用方法,适合数据库管理员和开发人员。
数据库编程:在PHP环境下使用SQL Server的方法。
看看你吧,就像一个调皮的小丑鱼在一片广阔的数据库海洋中游弋,一路上吞下大小数据如同海中的珍珠。不管有多少难关,只要记住这个流程,剩下的就只是探索未知的乐趣,沉浸在这个充满挑战的数据库海洋中。
104 16
如何优化SQL查询以提高数据库性能?
这篇文章以生动的比喻介绍了优化SQL查询的重要性及方法。它首先将未优化的SQL查询比作在自助餐厅贪多嚼不烂的行为,强调了只获取必要数据的必要性。接着,文章详细讲解了四种优化策略:**精简选择**(避免使用`SELECT *`)、**专业筛选**(利用`WHERE`缩小范围)、**高效联接**(索引和限制数据量)以及**使用索引**(加速搜索)。此外,还探讨了如何避免N+1查询问题、使用分页限制结果、理解执行计划以及定期维护数据库健康。通过这些技巧,可以显著提升数据库性能,让查询更高效流畅。
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
600 3
【SQL技术】不同数据库引擎 SQL 优化方案剖析
不同数据库系统(MySQL、PostgreSQL、Doris、Hive)的SQL优化策略。存储引擎特点、SQL执行流程及常见操作(如条件查询、排序、聚合函数)的优化方法。针对各数据库,索引使用、分区裁剪、谓词下推等技术,并提供了具体的SQL示例。通用的SQL调优技巧,如避免使用`COUNT(DISTINCT)`、减少小文件问题、慎重使用`SELECT *`等。通过合理选择和应用这些优化策略,可以显著提升数据库查询性能和系统稳定性。
164 9
【潜意识Java】MyBatis中的动态SQL灵活、高效的数据库查询以及深度总结
本文详细介绍了MyBatis中的动态SQL功能,涵盖其背景、应用场景及实现方式。
618 6
使用访问指导(SQL Access Advisor)优化数据库业务负载
本文介绍了Oracle的SQL访问指导(SQL Access Advisor)的应用场景及其使用方法。访问指导通过分析给定的工作负载,提供索引、物化视图和分区等方面的优化建议,帮助DBA提升数据库性能。具体步骤包括创建访问指导任务、创建工作负载、连接工作负载至访问指导、设置任务参数、运行访问指导、查看和应用优化建议。访问指导不仅针对单条SQL语句,还能综合考虑多条SQL语句的优化效果,为DBA提供全面的决策支持。
168 11
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
SQL Servers审核提高数据库安全性
SQL Server审核是一种追踪和审查SQL Server上所有活动的机制,旨在检测潜在威胁和漏洞,监控服务器设置的更改。审核日志记录安全问题和数据泄露的详细信息,帮助管理员追踪数据库中的特定活动,确保数据安全和合规性。SQL Server审核分为服务器级和数据库级,涵盖登录、配置变更和数据操作等事件。审核工具如EventLog Analyzer提供实时监控和即时告警,帮助快速响应安全事件。
136 1
canal-starter 监听解析 storeValue 不一样,同样的sql 一个在mybatis执行 一个在数据库操作,导致解析不出正确对象
canal-starter 监听解析 storeValue 不一样,同样的sql 一个在mybatis执行 一个在数据库操作,导致解析不出正确对象

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问