面试之“数据库三大范式”
为了能够更好地理解数据库的三大范式,对数据库中基本概念进行讲解。 数据库的设计范式是数据库设计
所需要满足的规范,满足这些规范的数据库是简洁的、明晰的。同时不会发生插入(insert)、删除(delete)
和更新(update)异常操作。
对象(object):具有相同性质、遵循相同规则的一类事物的抽象。
对象是实体集数据化的结果,例如:老师,学生,课程等
实例(instance):对象中的每一个具体的事物。例如:学生小红,小芳等
属性(Attribute):实体的某一方面特征的抽象表示。例如:学生的性别,年龄,班级等
主码(primary key):能够唯一标识一个实体。
1.第一范式(1NF):列不可再分
(1)每一列属性都是不可再分的属性值,即确保每一列的原子性
(2)两列的属性相似或相近的,尽量合并,避免产生冗余数据
如以下表存在可再分项(高级职称),所以不满足第一范式