在设计数据库时,必须确保数据库简洁、清晰,并满足某些模式,以避免在使用过程中出现任何异常。
第一范式1NF第一范式的最重要要求是字段不能分割,即原子性。
你怎么理解这个词?
例如,如果字段是电话号码,则可以明显分为手机号码、固定电话号码。 这不符合场不可分割原则。
这容易引起异常情况,需要打电话的时候,如果那个电话号码是手机号码就可以直接打电话,但是如果是固定电话号码就必须打区号。
第二范式2NF第二范式是第一范式的子集
满足第二范式的,一定满足第一范式。
与第一范式相比,第二范式添加了主键,其他字段取决于主键。
主键必须具有唯一性。 例如,名字不会成为主键。 虽然有很多重病患者,但身份证号码是主键。 因为两个人的身份证号码不一样。
第三范式3NF第三范式基于第二范式产生,
满足第三范式的,一定满足第二范式。
第三范式(3NF )要求某个数据库表不包含已经包含在其他表中的非主键字段。 也就是说,为了消除传输依赖,便于理解,可以看作是“消除冗余”。
因此,第三范式往往将一个表分解为多个表。
举一个例子,
性别学号学院地址按照第二范式,可以以学号为主键。
那么姓名、性别、学院依赖主键,而学院地址依赖学院(非主键),不符合第三范式。
请试着把这个分解成两个表。
性别学号学院编号学院的地址在这里取消了非主键之间的关系。