Module 02 · Introduction to Relational Databases and Tables
Relational Database Concepts数据库概念导论:数据模型与关系型数据库映射
欢迎来到数据库概念课程。本视频将介绍不同类型的数据模型、如何使用模型将数据映射到表以及如何定义表之间的关系。
学习目标
完成本课程后,您将能够:
- 解释关系模型的优势。
- 解释实体名称和属性如何映射到关系数据库表。
- 描述实体与属性之间的区别。
- 识别一些常用的数据类型。
- 描述主键的功能。
数据模型与关系模型
关系模型 (Relational Model)
- 特点: 关系模型是数据库中最常用的数据模型,因为它允许数据独立性。
- 数据存储: 数据存储在一个简单的数据结构中:表(Tables)。
- 优势: 它提供了:
- 逻辑数据独立性
- 物理数据独立性
- 物理存储独立性
实体关系数据模型 (Entity Relationship Data Model, ER Model)
- 替代方案: 实体关系数据模型(ER 数据模型)是关系数据模型的替代方案。
- 用途: ER 模型本身不作为独立模型使用,而是作为设计关系数据库的工具。
- 核心思想: 提议将数据库视为实体的集合。
实体关系图 (ERD) 示例与构建块

以一个简化的图书馆数据库为例,实体关系图(ERD)用于表示实体(即表)及其关系。
📖 图书馆示例中的关系:
- 一本书 (Book) 可以由一个或多个作者 (Author) 撰写。
- 图书馆可以有同一本书的一个或多个副本 (Copy)。
- 每个副本在同一时间只能被一个借阅者 (Borrower) 借阅。
ER 图的构建块
- 实体 (Entity)
- 定义: 独立于数据库中任何其他实体而存在的对象。
- 表示: 可以是名词:人 (Person)、地点 (Place) 或事物 (Thing)。
- 图示: 在 ER 图中,实体被绘制成矩形。
- 属性 (Attribute)
- 定义: 描述实体的数据元素或特性,提供关于实体的更多信息。
- 图示: 在 ER 图中,属性被绘制成椭圆形。
- 连接: 每个属性只连接到一个实体。
📚 示例:Book 实体及其属性
- 实体: Book(书)
- 属性 (Properties/Characteristics):
- 书名 (Book Title)
- 版本 (Edition)
- 写作年份 (Year)
- ISBN
- ...等等
从 ER 模型到关系数据库的映射
实体与表的映射
在映射过程中:
- 实体 转化为数据库中的表 (Table)。
- 表最初只是实体名称的代表,尚未形成行和列的结构。
属性与列的映射
- 属性 转化为表中的列 (Column)。
- 属性转化为列后,表才具备行和列的实际形式。
- 随后,向每个列添加数据值,从而完成表的结构。
数据类型
每个属性(列)存储不同格式的数据值,常用的数据类型包括:
| 数据类型 | 描述 | 示例列 |
|---|---|---|
| 字符 (Character) | 用于存储字符数据 | Title |
| 数字 (Numeric) | 用于存储数字值 | Edition, Year |
| 日期/时间 (Timestamp) | 用于存储日期和时间信息 | Date, Time |
| 货币 (Currency) | 用于存储货币值 | - |
| 等 | ... | ... |
📝 数据类型示例
Title** 列:** 由字符组成,长度可变,因此可设置为可变字符型 (VARCHAR)。- 固定长度字符型: 对于长度不变的字符列,使用字符型 (
CHAR)。Edition** 和Year列:** 属于数字型。ISBN** 列:** 包含数字和破折号,因此应被视为字符型 (CHAR)。
其他实体映射
参照 Book 实体映射的例子,简化图书馆示例中的其余实体也将创建对应的表,它们的属性将成为表的列:
AuthorAuthor_ListBorrowerLoanCopy

主键与外键
主键 (Primary Key)
- 功能: 关系表的主键唯一地标识表中的每个元组(行)。
- 作用:
- 防止数据重复(Duplication of Data)。
- 提供定义表之间关系的方法。
- 分配: 每个表都会被分配一个主键。
外键 (Foreign Key)
- 功能: 表中可以包含外键,外键是定义在其他表中的主键。
- 作用: 通过将一个表的主键包含在另一个表中,创建表之间的链接。

总结要点:关系模型的优势与映射
- 核心优势: 关系模型的主要优势在于逻辑和物理数据独立性以及存储独立性。
- 实体与属性: 实体是独立的对象,可以拥有多个称为属性的特征。
- 映射结果: 在映射到关系数据库时,实体表示为表,属性映射为列。
- 常用数据类型: 包括字符型(如
CHAR和VARCHAR)、数字型(如Integer和Decimal)以及时间戳(如Date和Time)。 - 主键的作用: 主键唯一标识表中的特定行,并防止数据重复。
