跳到主要内容

关系数据库基础

介绍

关系数据库是一种基于关系模型的数据库管理系统(DBMS),它使用表格(称为“关系”)来存储和管理数据。每个表格由行(记录)和列(字段)组成,行表示数据条目,列表示数据的属性。关系数据库的核心思想是通过表格之间的关系来组织数据,从而实现高效的数据存储和查询。

关系数据库广泛应用于各种场景,如电子商务、金融、医疗等领域。理解关系数据库的基础知识是学习数据库管理和开发的关键。


关系数据库的核心概念

1. 表格(Table)

表格是关系数据库的基本结构,用于存储数据。每个表格有一个唯一的名称,并由行和列组成。例如,以下是一个名为 Students 的表格:

IDNameAgeGrade
1Alice20A
2Bob21B
3Charlie19A
  • 列(Column):表示数据的属性,如 IDNameAgeGrade
  • 行(Row):表示一条记录,如 1, Alice, 20, A

2. 主键(Primary Key)

主键是表格中唯一标识每一行的列或列组合。例如,在 Students 表格中,ID 列可以作为主键,因为每个学生的 ID 是唯一的。

sql
CREATE TABLE Students (
ID INT PRIMARY KEY,
Name VARCHAR(50),
Age INT,
Grade CHAR(1)
);

3. 外键(Foreign Key)

外键用于建立表格之间的关系。它是一个表格中的列,引用另一个表格的主键。例如,假设有一个 Courses 表格,其中包含学生选修的课程信息:

sql
CREATE TABLE Courses (
CourseID INT PRIMARY KEY,
CourseName VARCHAR(100),
StudentID INT,
FOREIGN KEY (StudentID) REFERENCES Students(ID)
);

4. 关系(Relationship)

关系数据库通过外键建立表格之间的关系。常见的关系类型包括:

  • 一对一:一个表格中的一行对应另一个表格中的一行。
  • 一对多:一个表格中的一行对应另一个表格中的多行。
  • 多对多:需要通过中间表格实现。

关系数据库的操作

1. 创建表格

使用 CREATE TABLE 语句创建表格。例如:

sql
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50),
DepartmentID INT,
FOREIGN KEY (DepartmentID) REFERENCES Departments(DepartmentID)
);

2. 插入数据

使用 INSERT INTO 语句向表格中插入数据。例如:

sql
INSERT INTO Students (ID, Name, Age, Grade)
VALUES (4, 'David', 22, 'B');

3. 查询数据

使用 SELECT 语句查询数据。例如:

sql
SELECT Name, Grade FROM Students WHERE Age > 20;

4. 更新数据

使用 UPDATE 语句更新数据。例如:

sql
UPDATE Students SET Grade = 'A' WHERE Name = 'Bob';

5. 删除数据

使用 DELETE 语句删除数据。例如:

sql
DELETE FROM Students WHERE ID = 3;

实际案例

假设我们正在为一个学校管理系统设计数据库。我们需要存储学生、课程和成绩信息。以下是数据库的设计:

  1. Students 表格:存储学生信息。
  2. Courses 表格:存储课程信息。
  3. Grades 表格:存储学生的成绩信息。
sql
CREATE TABLE Students (
StudentID INT PRIMARY KEY,
Name VARCHAR(50),
Age INT
);

CREATE TABLE Courses (
CourseID INT PRIMARY KEY,
CourseName VARCHAR(100)
);

CREATE TABLE Grades (
GradeID INT PRIMARY KEY,
StudentID INT,
CourseID INT,
Grade CHAR(1),
FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);

通过这种设计,我们可以轻松查询某个学生的所有课程成绩,或者某门课程的所有学生成绩。


总结

关系数据库是现代数据管理的核心工具。通过表格、主键、外键和关系,我们可以高效地组织和查询数据。掌握这些基础知识是进一步学习数据库设计、SQL 编程和数据库管理的关键。


附加资源与练习

练习

  1. 创建一个名为 Books 的表格,包含 BookIDTitleAuthorPublishedYear 列。
  2. Books 表格中插入至少 3 条记录。
  3. 编写一个查询,查找所有在 2000 年之后出版的书籍。

资源