美文网首页
SQL初认识——5:关系模型

SQL初认识——5:关系模型

作者: 软件测试学习笔记 | 来源:发表于2019-08-22 17:25 被阅读0次

我们已经知道,关系数据库是建立在关系模型上的。而关系模型本质上就是若干个存储数据的二维表,可以把它们看作很多Excel表。

表的每一行称为记录(Record),记录是一个逻辑意义上的数据。

表的每一列称为字段(Column),同一个表的每一行记录都拥有相同的若干字段。

字段定义了数据类型(整型、浮点型、字符串、日期等),以及是否允许为NULL。注意NULL表示字段数据不存在。一个整型字段如果为NULL不表示它的值为0,同样的,一个字符串型字段为NULL也不表示它的值为空串''。

通常情况下,字段应该避免允许为NULL。不允许为NULL可以简化查询条件,加快查询速度,也利于应用程序读取数据后无需判断是否为NULL。

和Excel表有所不同的是,关系数据库的表和表之间需要建立“一对多”,“多对一”和“一对一”的关系,这样才能够按照应用程序的逻辑来组织和存储数据。

例如,一个班级表:

ID 名称 班主任

201 二年级一班 王老师

202 二年级二班 李老师

每一行对应着一个班级,而一个班级对应着多个学生,所以班级表和学生表的关系就是“一对多”:

ID 姓名 班级ID 性别 年龄

1 小明 201 M 9

2 小红 202 F 8

3 小军 202 M 8

4 小白 201 F 9

反过来,如果我们先在学生表中定位了一行记录,例如ID=1的小明,要确定他的班级,只需要根据他的“班级ID”对应的值201找到班级表中ID=201的记录,即二年级一班。所以,学生表和班级表是“多对一”的关系。

如果我们把班级表分拆得细一点,例如,单独创建一个教师表:

ID 名称 年龄

A1 王老师 26

A2 张老师 39

A3 李老师 32

A4 赵老师 27

班级表只存储教师ID:

ID 名称 班主任ID

201 二年级一班 A1

202 二年级二班 A3

这样,一个班级总是对应一个教师,班级表和教师表就是“一对一”关系。

在关系数据库中,关系是通过主键和外键来维护的。我们在后面会分别深入讲解。

相关文章

  • SQL初认识——5:关系模型

    我们已经知道,关系数据库是建立在关系模型上的。而关系模型本质上就是若干个存储数据的二维表,可以把它们看作很多Exc...

  • Mysql基础

    数据库类型: 层次模型; 网状模型; 关系模型;(常用) Sql(Structured Query Languag...

  • SQL关系模型

    1、主键 关系表,有个很重要的约束,就是任意两条记录不能重复。不能重复不是指两条记录不完全相同,而是指能够通过某个...

  • Spark SQL

    Spark SQL 该模型允许你使用SQL或者DataFrame或DataSet进行关系型查询 Spark SQL...

  • 三篇文章了解 TiDB 技术内幕-说计算

    关系模型到 Key-Value 模型的映射 在这我们将关系模型简单理解为 Table 和 SQL 语句,那么问题变...

  • 数据库设计(〇)计划

    1. 数据库概述 2. 数据模型 3. 数据库系统结构 4. 关系模型和关系数据库 5. SQL 6. 数据库完整...

  • 数据模型和查询语言 -- 关系模型与文档模型(一)

    在今天,最著名的数据模型莫过于SQL了吧。这是一个Codd在1970年提出的关系模型:数据被组织成关系(称为SQL...

  • SQL简介

    SQL简介SQL是structure Query Language的缩写,它是使用关系模型的数据库应用语言。SQL...

  • SQL初认识——4:安装SQL

    1: 安装MySQL 要在Windows或Mac上安装MySQL,首先从MySQL官方网站下载最新的MySQL C...

  • mysql复习-理论

    选择归纳 关系模型理论出现:1970年-Codd(IBM) SQL语言最早提出的公司:IBM 关系模型三要素: 1...

网友评论

      本文标题:SQL初认识——5:关系模型

      本文链接:https://www.haomeiwen.com/subject/imlosctx.html