跳到主要内容

第2章 关系型数据库基础

关系型数据库是数据库管理领域中最常用的数据库类型之一。它以关系模型为基础,通过表来组织和管理数据。本章将介绍关系型数据库的基本概念、表的结构、主键和外键,以及关系型数据库的优缺点。


2.1 表的结构

在关系型数据库中,数据以表(Table)的形式存储。表是由行和列组成的,其中每列代表一个字段(属性),每行代表一条记录(元组)。

2.1.1 表的基本组成

  • 字段(Column):表中的一列,表示数据的属性,如"学号"、"姓名"、"年龄"等。
  • 记录(Row):表中的一行,表示具体的一条数据,如某个学生的详细信息。
  • 主键(Primary Key):用于唯一标识表中的一条记录。
  • 外键(Foreign Key):用于建立表与表之间的关联。

示例:学生表

CREATE TABLE Student (
学号 VARCHAR(10) PRIMARY KEY,
姓名 VARCHAR(20),
年龄 INT,
性别 CHAR(1)
);

解释:

  • 表名:Student
  • 字段:学号姓名年龄性别
  • 主键:学号用于唯一标识每个学生。

2.2 主键和外键

主键和外键是关系型数据库中非常重要的概念,它们用于定义数据之间的关系。

2.2.1 主键(Primary Key)

主键是表中一个或多个字段的组合,用于唯一标识表中的一条记录。一个表只能有一个主键。

示例:学生表的主键

Student表中,学号字段设置了主键,表示每个学生的学号是唯一的。

CREATE TABLE Student (
学号 VARCHAR(10) PRIMARY KEY,
姓名 VARCHAR(20),
年龄 INT,
性别 CHAR(1)
);

2.2.2 外键(Foreign Key)

外键用于建立表与表之间的关联。它引用另一个表的主键字段,确保数据的一致性和完整性。

示例:课程表和选课表

假设有一个Course表和一个Enrollment表:

CREATE TABLE Course (
课程号 VARCHAR(10) PRIMARY KEY,
课程名 VARCHAR(50),
学分 INT
);

CREATE TABLE Enrollment (
学号 VARCHAR(10),
课程号 VARCHAR(10),
成绩 INT,
FOREIGN KEY (学号) REFERENCES Student(学号),
FOREIGN KEY (课程号) REFERENCES Course(课程号)
);

解释:

  • Enrollment表通过学号字段关联Student表。
  • Enrollment表通过课程号字段关联Course表。
  • 这种关系称为实体完整性,确保数据的一致性和引用完整性。

2.3 关系型数据库的优缺点

2.3.1 优点

  1. 数据结构清晰:以表的形式存储数据,结构明确,易于管理和查询。
  2. 支持复杂的查询:通过SQL语言可以执行复杂的查询操作,满足多样的业务需求。
  3. 数据一致性:通过主键和外键约束,确保数据的一致性和完整性。
  4. 易于扩展:可以通过添加字段或表来扩展数据库。
  5. 支持事务管理:支持ACID(原子性、一致性、隔离性、持久性)特性,确保数据的可靠性。

2.3.2 缺点

  1. 复杂性:对于大型数据库,设计和管理较为复杂。
  2. 性能限制:在处理大量数据时,关系型数据库的性能可能会受到影响。
  3. 存储空间占用较大:由于数据的规范化存储,可能会占用较多的存储空间。
  4. 不适合非结构化数据:对于非结构化数据(如文本、图像、视频等),关系型数据库的处理能力较弱。

总结

本章介绍了关系型数据库的基础知识,包括表的结构、主键和外键,以及关系型数据库的优缺点。通过这些内容的学习,读者可以初步了解关系型数据库的工作原理,为后续的学习打下基础。

下一章:SQL基础入门
上一章:数据库概述