1.数据库中范式的简单理解 |
第一范式:每一数据项是不可再分的。不能是数组或者集合 | |
第二范式:满足第一范式,同时,所有非主属性依赖于全部候选键 例如:(A、B)为主属性,如果非主属性C可以由B推出,而不需要A,这个时候,C就不完全依赖去所有的主属性(仅仅是部分依赖于B)。所以不满足第二范式 | |
第三范式:满足第二范式,同时所有非主属性间不存在传递依赖。比如(A、B)是主属性,C、D是非主属性,但是C可以退出D,这个时候非主属性存在了传递依赖,就不满足第三范式了 | |
BC范式:是第三范式的纠正,满足第三范式,同时所有属性间不存在传递依赖(相对于第三范式,就是主属性间也不能存在传递依赖)
|
第四范式:满足第BC范式,同时属性间不允许多指依赖:比如一个关系中有用户名和手机号,但是一个用户名对应多个手机号。这个时候就不满足第四范式 员工(工号,姓名,性别,出生日期,电话)这个就满足BC范式,但是,一个员工存在多个电话,这个时候,怎么修改成第四范式呢 员工(工号,姓名,性别,出生日期) 员工电话(工号,电话) |
二:两种索引(主键索引和二级索引)
数据库索引有几种方式:
聚簇索引(主键索引):索引数据和存储数据都在同一颗树上,比如根据id查找,只要找到该主键就找到数据了。
二级索引(辅助索引):比如根据name查找某个商品,就会先找到这个商品对应的主键id,然后根据id再去查找该商品。