Sql 简明教程
SQL - RDBMS Concepts
What is RDBMS?
RDBMS 代表 *R*elational *D*atabase *M*anagement *S*ystem。RDBMS 是 SQL 和所有现代数据库系统(例如 MS SQL Server、IBM DB2、Oracle、MySQL 和 Microsoft Access)的基础。
关系数据库管理系统 (RDBMS) 是一种数据库管理系统 (DBMS),它基于 E. F. Codd 在 1970 年引入的关系模型。
What is a Table?
RDBMS 中的数据存储在称为 tables 的数据库对象中。此表基本上是相关数据条目的集合,由多列和多行组成。
请记住,表是关系数据库中最常见且最简单的数据存储形式。以下是一个 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 |
What is a Field?
每个表都分解为称为字段的较小实体。字段是表中的一列,旨在维护表中每个记录的特定信息。
例如,我们的 CUSTOMERS 表包含不同的字段,如 ID、姓名、年龄、工资、城市和国家/地区。
What is a Record or a Row?
记录也称为数据行,是表中存在的每个单独条目。例如,上方的 CUSTOMERS 表中有 7 条记录。以下是 CUSTOMERS 表中的一行数据或记录:
ID |
Name |
Age |
Salary |
City |
Country |
1 |
Ramesh |
32 |
2000.00 |
Hyderabad |
India |
记录是表中的水平实体。
What is a NULL Value?
表中的 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 Constraints
约束是对表上的数据列实施的规则。它们用于限制可以进入表的类型。这确保了数据库中数据的准确性和可靠性。
约束可以是列级别或表级别。列级别约束仅应用于一列,而表级别约束应用于整个表。
以下是 SQL 中一些最常用的约束:
S.No. |
Constraints |
1 |
NOT NULL Constraint 确保列不能具有 NULL 值。 |
2 |
DEFAULT Constraint 在未指定时为列提供默认值。 |
3 |
UNIQUE Key 确保列中的所有值都不同。 |
4 |
PRIMARY Key 唯一标识数据库表中的每一行/记录。 |
5 |
FOREIGN Key 唯一标识任何其他数据库表中的一行/记录。 |
6 |
CHECK Constraint 确保一列中的所有值都满足某些条件。 |
7 |
INDEX Constraint 用于从数据库非常快速地创建和检索数据。 |
Data Integrity
每个 RDBMS 都有以下数据完整性类别 −
-
Entity Integrity − 这可确保表中没有重复的行。
-
Domain Integrity − 通过限制值类型、格式或范围来强制执行给定列的有效条目。
-
Referential integrity − 无法删除由其他记录使用的行。
-
User-Defined Integrity − 强制执行某些特定业务规则,这些规则不属于实体完整性、域完整性或参照完整性。