数据库范式

范式详解:https://www.zhihu.com/question/24696366

范式(NF):数据表的表结构所符合的某种设计标准的级别。1NF、2NF、3NF、BCNF、4NF、5NF。解决数据冗余过大,插入异常,删除异常,修改异常问题。
第一范式(1NF):符合1NF的关系中的每个属性都不可再分。1NF是所有关系数据库的最基本要求。
第二范式:2NF在1NF的基础之上,消除了非主属性对于码的部分函数依赖。
第三范式:3NF在2NF的基础之上,消除了非主属性对于码的传递函数依赖。
BCNF:在3NF的基础上,消除主属性对于码的部分与传递函数依赖。
函数依赖:完全函数依赖、部分函数依赖、传递函数依赖。
函数依赖: 若在一张表中,在属性(或属性组)X的值确定的情况下,必定能确定属性Y的值,那么就可以说Y函数依赖于X。

完全函数依赖:Y由X中的所有属性决定;对于 X 的任何一个真子集(假如属性组 X 包含超过一个属性的话),X ' → Y 不成立,那么我们称 Y 对于 X 完全函数依赖;
部分函数依赖:Y由X中的部分属性决定(不同的Y由不同的X中的属性组合决定,所以需要拆成多个表);

码:K为表中的一个或一组属性,若除K之外的所有属性都 完全依赖于K,K为候选码,简称码。(假如当K确定的情况下,该表除K之外的所有属性的值也随之确定,那么K就是码)。一张表中可以有超过一个码。(实际应用中为了方便,通常选择其中一个码作为主码),码必须符合完全函数依赖。

非主属性:包含在任何一个码中的属性为主属性。

模式分解:无损连接性(信息不失真(不增减信息))和函数依赖性(不破坏属性间的依赖关系)。


数据库:以某种有组织的方式存储的数据集合
表:用来存储某种特定类型的数据
列:表中的一个字段,每列都有相应的数据类型
数据类型:所容许的数据的类型,限制(或容许)该列中存储的数据
行(元组):表中的一个记录
主键:一列(或一组列),能够唯一区别表中每一行。
主键要求:1、任意两行都不具有相同的主键;     2、每一行都必须具有一个主键值(主键列不允许null值)。    
主键习惯:1、不跟新主键列中的值;     2、不重用主键列的值;     3、不在主键列中使用可能会更改的值。
外键:外键是某个表的一列,它 包含另一个表的主键值,定义了两个表之间的关系。
设计多对多映射关系,使用中间表。

自动增量:某些表列需要唯一值。在每行添加到表中时,MySQL可以自动地为每一行分配下一个可用编号,不用在添加一行时手动分配唯一值。这个功能就是自动增量

mysql不区分大小写,表名和列名用小写,关键字用大写
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值