37、数据库设计与 SQL 基础:规范化与数据类型详解

数据库规范化与SQL基础

数据库设计与 SQL 基础:规范化与数据类型详解

1. 理解数据库规范化

数据库规范化是一组规则,无论是数据库管理员还是负责修改数据库数据的开发人员,遵循这些规则都能让工作更轻松。规范化是一种组织数据库的艺术,使表之间建立适当的关联,并具备适应未来发展的灵活性。

规范化所依据的规则集被称为范式。若数据库设计遵循第一组规则,即为第一范式;若遵循前三组规则,则为第三范式。接下来,我们以学生 - 课程数据库为例,逐步将其转换为第三范式。

1.1 扁平表的问题

在进入第一范式之前,我们先从需要规范化的扁平表数据入手。扁平表类似于电子表格,有众多列来定义它,每行数据都包含这些列的数据或为其预留空间。多个表之间没有关联,所有可能需要的数据都集中在这一个扁平表中。这种方式效率低下,相比规范化的数据库,会占用更多硬盘空间。

以学生 - 课程数据库的扁平表为例,可能包含以下字段:
- StudentName:学生姓名
- CourseID1:学生所选第一门课程的 ID
- CourseDescription1:学生所选第一门课程的描述
- CourseInstructor1:学生所选第一门课程的教师
- 重复 CourseID、CourseDescription 和 CourseInstructor 列多次,以涵盖学生在学业生涯中所选的所有课程

可以发现,CourseID、CourseDescription 和 CourseInstructor 列形成了重复组。消除冗余是规范化的第一步,接下来我们将这个扁平表转换为第一范式。若表保持扁平格式,会存在大量未使用空间和不必要的空间占用,这并

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值