SQL RDBMS概念

SQL RDBMS概念

什么是RDBMS

RDBMS代表关系数据库管理系统。RDBMS是SQL的基础,也是包括微软SQL Server、IBM DB2、Oracle、MySQL和微软Access在内的所有现代数据库系统的基础。

关系数据库管理系统(RDBMS)是一种基于关系模型的数据库管理系统(DBMS),由E. F. Codd在1970年提出。

什么是表

RDBMS中的数据存储在称为表的数据库对象中。这个表基本上是一组相关的数据条目,由多个列和行组成。

记住,表是关系数据库中最常见和最简单的数据存储形式。以下是一个名为CUSTOMERS的表的示例,存储了顾客的ID、姓名、年龄、工资、城市和国家信息。

ID Name Age Salary City Country
1 Ramesh 32 2000.00 Hyderabad India
2 Mukesh 40 5000.00 New York USA
3 Sumit 45 4500.00 Muscat Oman
4 Kaushik 25 2500.00 Kolkata India
5 Hardik 29 3500.00 Bhopal India
6 Komal 38 3500.00 Saharanpur India
7 Ayush 25 3500.00 Delhi India
8 Javed 29 3700.00 Delhi India

什么是字段

每个表都被分解成称为字段的小实体。字段是表中的一列,用于维护关于表中每个记录的特定信息。

例如,我们的CUSTOMERS表由不同的字段组成,如ID、姓名、年龄、工资、城市和国家。

什么是记录或行

记录也被称为数据行,是存在于表中的每个单独条目。例如,上述CUSTOMERS表中有7条记录。以下是CUSTOMERS表中的一条数据或记录:

ID Name Age Salary City Country
1 Ramesh 32 2000.00 Hyderabad India

记录是表中的水平实体。

什么是列

列是表中的垂直实体,包含与表中特定字段相关的所有信息。

例如,我们的CUSTOMERS表有不同的列来表示ID,姓名,年龄,工资,城市和国家。

什么是NULL值

表中的NULL值是一个字段中的空值,意味着具有NULL值的字段是没有值的字段。

非常重要的是要理解NULL值与零值或包含空格的字段不同。具有NULL值的字段是在记录创建过程中留空的字段。以下表格具有三个记录,其中第一条记录的工资字段有NULL值,第二条记录的工资字段有零值。

ID Name Age Salary City Country
1 Ramesh 32 Hyderabad India
2 Mukesh 40 00.00 New York USA
3 Sumit 45 4500.00 Muscat Oman

SQL约束

约束是对表中数据列强制执行的规则。它们用于限制可以进入表的数据类型。这确保了数据库中数据的准确性和可靠性。

约束可以是列级约束或表级约束。列级约束仅应用于一列,而表级约束应用于整个表。

以下是SQL中常用的一些约束:

序号 约束条件
1 NOT NULL约束 确保列不能为空值。
2 DEFAULT约束 在未指定时为列提供默认值。
3 UNIQUE键 确保列中的所有值不同。
4 PRIMARY键 在数据库表中唯一标识每一行/记录。
5 FOREIGN键 在其他数据库表中唯一标识一行/记录。
6 CHECK约束 确保列中的所有值满足一定条件。
7 INDEX约束 用于快速创建和检索数据库中的数据。

数据完整性

每个RDBMS存在以下数据完整性类别 –

  • 实体完整性 - 确保表中没有重复的行。

  • 域完整性 - 通过限制类型、格式或值的范围来强制执行给定列的有效条目。

  • 引用完整性 - 不能删除其他记录使用的行。

  • 用户定义完整性 - 强制执行一些不属于实体、域或引用完整性的特定业务规则。

数据库规范化

数据库规范化是在数据库中高效组织数据的过程。此规范化过程有以下两个原因 –

  • 消除冗余数据,例如,在多个表中存储相同的数据。

  • 确保数据依赖关系是有意义的。

这两个原因都是值得追求的目标,因为它们减少了数据库占用的空间并确保数据是以逻辑方式存储的。规范化由一系列准则组成,这些准则帮助您创建一个良好的数据库结构。

规范化准则被分为几个正规化形式;将正规化形式视为数据库结构的格式或布局方式。正规化的目标是组织数据库结构,使其符合第一正规化形式、第二正规化形式和最后第三正规化形式的规则。

您可以选择进一步采取行动,进入第四正规化,第五正规化等等,但是通常,第三正规化形式对于普通的数据库应用足够了。

  • 第一正规化形式(1NF)

  • 第二正规化形式(2NF)

  • 第三正规化形式(3NF)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程