记一篇SQL笔记
今天学习了数据库的范式设计,受益颇多,故此记录。
一、树形结构
问:如何用最少的表和字段设计一个树形结构?
答:一个表,三个字段(或两个字段);如:id ,pid ,pname(或不要)。
二、基础技巧
a) “对”(正确性)
1) 一个表(实体完整性)
-
需要主键(PK)保证每条数据的 唯一性(即实体完整性)(如:加一个id字段作为主键);
-
尽量使用 非业务字段 做PK(如学生表中不用学号做PK,而另外新建一个 非业务字段id 作为主键,因为学号属于其中的业务字段,一旦发生改动,主键无法变动就 芭比Q 了);
2) 多个表(FK)(参照完整性)
- 建立
外键
去保证表与表之间的关系
b) “好”(“尺”:范式)(范式共有 5 级)(平时三级就够了)
-
一级范式(1NF):简单二维表(字段中不能再有集合)
-
二级范式(2NF):消除部分函数依赖(小技巧:比如给每一个表 都加一个非业务字段 作为PK即可)
-
三级范式(3NF):消除 传递函数依赖(即一个非主键值不能由另一个非主键值推算出来,因为后期维护表时会付出巨大的成本)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 QuestionMark001's Blog!
评论