SQL RDBMS 简介
RDBMS全称为Relational Database Management System(关系型数据库管理系统)。RDBMS是SQL 以及所有现代数据库系统(如 MS SQL Server、IBM DB2、Oracle、MySQL 和 Microsoft Access)的基础。
关系数据库管理系统 (RDBMS) 是基于 E.F. Codd
引入的关系模型的数据库管理系统 (DBMS)。
什么是表?
RDBMS 中的数据存储在称为表的数据库结构中。表基本上是相关数据条目的集合,它由许多列和行组成。
要记住,表是关系数据库中最常见和最简单的数据存储形式。以下程序是 CUSTOMERS 表的示例
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
什么是字段?
每个表都被分解为称为字段的更小的实体。CUSTOMERS 表中的字段包括 ID、NAME、AGE、ADDRESS 和 SALARY。
字段是表中的一列,目的是维护有关表中每条记录的特定信息。
什么是记录或行?
记录也称为一行数据,它是表中存在的一个单独的条目。例如,上面的 CUSTOMERS 表中有 7 条记录。以下是 CUSTOMERS 表中的单行数据或记录
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
+----+----------+-----+-----------+----------+
什么是 column?
column 是表中的一列数据,也就是由同一个字段(field)描述的,包含与表中特定字段关联的所有信息。
例如,CUSTOMERS 表中的 ADDRESS 列,表示地址,如下所示
+-----------+
| ADDRESS |
+-----------+
| Ahmedabad |
| Delhi |
| Kota |
| Mumbai |
| Bhopal |
| MP |
| Indore |
+----+------+
什么是 NULL 值?
表中的 NULL 值是字段中显示为空白的值,这意味着具有 NULL 值的字段是没有值的字段。
这里要说明的是,NULL值不同于零值或包含空格的字段,这一点是非常重要的。具有 NULL 值的字段是在创建记录期间留空的字段。
SQL 约束
约束是对表中的数据列强制执行的规则。这些约束用于限定添加到表中的数据类型。这保证了数据库中数据的准确性和可靠性。
约束可以是列级别,也可以是表级别。列级约束仅应用于一列,而表级约束应用于整个表。
以下是 SQL 中可用的一些最常用的约束
- NOT NULL Constraint - 确保列不能有 NULL 值。
- DEFAULT Constraint - 当添加数据时,没有指定改列的话,则使用此约束提供的默认的值。
- UNIQUE Constraint - 确保列中的所有值都不同。
- PRIMARY Key - 主键,是数据库表中的每一行/记录的唯一标识。
- FOREIGN Key - 唯一标识任何其他数据库表中的行/记录。
- CHECK Constraint - CHECK 约束确保列中的所有值都满足某些条件。
- INDEX - 用于快速地从数据库创建和检索数据。
数据的完整性
每个 RDBMS 都存在以下种类的数据完整性。
- 实体完整性 -表中没有重复的行。
- 域完整性 -通过限制类型、格式或值范围来强制给定列的有效条目。
- 参照完整性 -不能删除其他记录使用的行。
- 用户定义的完整性 -强制执行一些不属于实体、域或参照完整性的特定业务规则。
数据库规范化
数据库规范化是在数据库中有效组织数据的过程。这种标准化过程旨在实现以下两个目的
- 消除冗余数据,例如将相同的数据存储在多个表中。
- 确保数据的依赖是有意义的。
这两个目标都是有价值的,因为它们减少了数据库消耗的空,并确保数据按逻辑存储。规范化包含一系列方式,可帮助指导我们创建良好的数据库结构。
规范化可以称为范式;范式的目的是组织数据库结构,使其符合第一范式,然后是第二范式,最后是第三范式的规则。
我们可以选择更进一步的范式,第四范式、第五范式等等,但总的来说,第三范式已经绰绰有余了。