数据库系统概论第六版第三章
时间: 2024-12-31 17:16:39 浏览: 24
### 数据库系统概论第六版第三章内容概述
#### 3.1 关系模型的概念
关系模型是数据库领域中最常用的数据模型之一。该模型基于集合论和谓词逻辑,具有严格的数学基础。在关系模型中,所有的操作都是建立在一个或多个表上的[^1]。
#### 3.2 关系的定义及其形式化表示
- **域**:一组具有相同数据类型的值。
- **笛卡尔积**:给定若干个域D1,D2,...,Dn,则这些域的笛卡尔积为{(d1,d2,…,dn)|di∈Di}。
- **关系**:迪卡尔积的一个子集称为一个n元关系,记作R(D1,D2,...,Dn),其中R代表关系名,而括号内的表达式表明此关系所涉及的各个域的名字列表。
#### 3.3 关键字与外关键字
- **超码(Super Key)**:如果K是一个或多个属性组成的集合,并且能够唯一标识实体框架中的每一个实例,则称K为此实体框架的一个超码。
- **候选码(Candidate Key)**:不含有多余属性的最小超码被称为候选码。
- **主码(Primary Key)**:当存在多个候选码时,在它们之间选定一个作为主码。
- **外部关键字(Foreign Key)**:设F是基本关系R的一个或一组属性,但不是关系R的任何码;如果F与基本关系S的主码KS相对应,则称F是R的外部关键字[^3]。
#### 3.4 完整性和约束条件
为了维护数据库的一致性,通常会对关系施加某些完整性约束。主要包括实体完整性、参照完整性和用户自定义完整性三个方面。具体来说:
- 实体完整性规定基本关系必须有主码;
- 参照完整性确保两个不同关系之间的联系不会破坏其语义意义;
- 用户自定义完整性允许应用程序开发者根据实际业务需求来设定额外规则。
```sql
-- 创建包含主键和外键的关系表格示例
CREATE TABLE Students (
student_id INT PRIMARY KEY,
name VARCHAR(50),
major VARCHAR(50)
);
CREATE TABLE Courses (
course_id INT PRIMARY KEY,
title VARCHAR(100)
);
CREATE TABLE Enrollments (
enrollment_id INT PRIMARY KEY,
student_id INT,
course_id INT,
FOREIGN KEY (student_id) REFERENCES Students(student_id),
FOREIGN KEY (course_id) REFERENCES Courses(course_id)
);
```
阅读全文