SQL RDBMS 概念
RDBMS是关系数据库管理系统(Relational Database Management System)的缩写。
RDBMS是SQL的基础,也是所有现代数据库系统(如MS SQL Server、IBMDB2、Oracle、MySQL和MicrosoftAccess)的基础。
关系数据库管理系统(Relational Database Management System,RDBMS)是一种基于E.F.Codd提出的关系模型的数据库管理系统。
什么是表?
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、姓名、年龄、地址和薪资组成。
字段是表中的列,用于维护有关表中每条记录的特定信息。
什么是记录或者行数据?
记录也称为数据行,即表中存在的每个单独的条目。例如,上面的Customers表中有7条记录。下面是Customers表中的单行数据或记录。
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
+----+----------+-----+-----------+----------+
记录是表中的水平实体。
什么是列?
列是表中的垂直实体,其中包含与表中特定字段关联的所有信息。
例如,Customers表中的一列是Address,它表示位置描述,如下所示:
+-----------+
| ADDRESS |
+-----------+
| Ahmedabad |
| Delhi |
| Kota |
| Mumbai |
| Bhopal |
| MP |
| Indore |
+----+------+
什么是空值?
表中的空值是显示为空的字段中的值,这意味着具有空值的字段是没有值的字段。
非常重要的一点是空值不同于零值或包含空格的字段。具有空值的字段是在创建记录时留空的字段。
SQL约束
约束是在表上的数据列上强制执行的规则。它们用于限制可以进入表中的数据类型。
这确保了数据库中数据的准确性和可靠性。
约束可以是列级别,也可以是表级别。列级约束仅应用于一列,而表级约束则应用于整个表。
以下是sql−中可用的一些最常用的约束
- :保证列中数据不能有 NULL 值
- :提供该列数据未指定时所采用的默认值
- :保证列中的所有数据各不相同
- :唯一标识数据表中的行/记录
- :唯一标识其他表中的一条行/记录
- :此约束保证列中的所有值满足某一条件
- :用于在数据库中快速创建或检索数据
约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。
数据完整性
每个关系数据库管理系统都存在以下类型的数据完整性:
实体完整性−表中没有重复行。
域完整性−通过限制值的类型、格式或范围来强制执行给定列的有效条目。
引用完整性−不能删除其他记录使用的行。
用户定义的完整性−强制执行一些不属于实体、域或引用完整性的特定业务规则。
数据库规范化
数据库规范化是在数据库中有效地组织数据的过程。这个规范化过程有两个原因:
- 消除冗余数据,例如,将相同的数据存储在多个表中。
- 确保数据依赖关系是有意义的。
这两个原因都是值得追求的目标,因为它们减少了数据库消耗的空间量,并确保了数据的逻辑存储。
规范化由一系列指导原则组成,有助于指导您创建良好的数据库结构。
规范化指导原则称为范式,范式的目的是组织数据库结构,使其符合第一范式、第二范式和第三范式的规则。
你可以更长远的去选择第四范式,第五范式,等等,但一般来说,第三范式已经足够了。
第一范式(1NF)
第二范式(2NF)
第三范式(3NF)