数据库设计与 SQL 基础:规范化与数据类型详解
1. 理解数据库规范化
数据库规范化是一组规则,无论是数据库管理员还是负责修改数据库数据的开发人员,遵循这些规则都能让工作更轻松。规范化是一种组织数据库的艺术,使表之间建立适当的关联,并具备适应未来发展的灵活性。
规范化所依据的规则集被称为范式。若数据库设计遵循第一组规则,即为第一范式;若遵循前三组规则,则为第三范式。接下来,我们以学生 - 课程数据库为例,逐步将其转换为第三范式。
1.1 扁平表的问题
在进入第一范式之前,我们先从需要规范化的扁平表数据入手。扁平表类似于电子表格,有众多列来定义它,每行数据都包含这些列的数据或为其预留空间。多个表之间没有关联,所有可能需要的数据都集中在这一个扁平表中。这种方式效率低下,相比规范化的数据库,会占用更多硬盘空间。
以学生 - 课程数据库的扁平表为例,可能包含以下字段:
- StudentName:学生姓名
- CourseID1:学生所选第一门课程的 ID
- CourseDescription1:学生所选第一门课程的描述
- CourseInstructor1:学生所选第一门课程的教师
- 重复 CourseID、CourseDescription 和 CourseInstructor 列多次,以涵盖学生在学业生涯中所选的所有课程
可以发现,CourseID、CourseDescription 和 CourseInstructor 列形成了重复组。消除冗余是规范化的第一步,接下来我们将这个扁平表转换为第一范式。若表保持扁平格式,会存在大量未使用空间和不必要的空间占用,这并
数据库规范化与SQL基础
超级会员免费看
订阅专栏 解锁全文
807

被折叠的 条评论
为什么被折叠?



