mysql数据库相关

说明:结合多篇博客总结

第一范式(1NF)

详细定义:

  • 消除重复的组
  • 定义主键
  • 必须使用主键唯一标识所有记录。主键是唯一的,并且不允许有任何重复的值。
  • 除了主键外的所有其他字段必须直接或者间接地依赖于主键。
  • 所有字段必须包含一个值
  • 每个字段中的所有值必须是相同的数据类型
  • 创建新表时,从原始表中一定重复的组

简单理解:

     字段不可再细分

第二范式(2NF)上面这张表"名称"为主键

详细定义:

  • 表必须处于1NF中
  • 所有非键值必须完全函数依赖于主键。换言之,不允许非键字段完全地和单独的依赖于主键
  • 必须删除部分依赖。部分依赖是特殊类型的函数依赖,当字段完全依赖于符合主键的一部分时存在这种依赖

简单理解:

    非主键字段必须依赖主键,说明一个表只表达一个事物。

第三范式(3NF)

  • 表必须处于2NF中
  • 消除传递依赖。传递依赖是其中一个字段由主键间接决定,因为该字段函数依赖于第二个字段,而第二个字段依赖于主键
  • 创建新的表以包含任何独立的字段

详细简单理解:

    每列都与主键有关系,除了主键外的其他列互相之间不存在依赖关系

名词解释

  • 实体:现实世界中客观存在并可以被区别的事物。可以是实物,也可以是虚拟的。
  • 属性:属性是实体所具有的某一特性,可以看作表的一列
  • 元组:表中的一行
  • 分量:元组的属性。元组是不可分割的
  • 码:表中可以为唯一确定一个元组的某个属性或属性组。如果这样的码有很多个,那么大家都叫候选码,我们从候选码中挑一个叫主码
  • 全码:如果一个码包含了所有的属性,这个码就是全码
  • 主属性:一个属性只要在任何一个候选码中出现过,这个属性就是主属性
  • 非主属性:与上面相反,没有在任何候选码中出现过,这个属性就是非主属性
  • 外码:一个属性(或属性组),它不是码,但是它是别的表的码

数据库事务

原子性:

指的是数据库操作中一系列的操作集合,这些操作要么都发生,要么都不发生。如果在事务过程中发生错误,会回滚到事务开始前的状态。

一致性:

要求事务不能破坏关系数据库的完整性以及业务逻辑上的一致性

隔离性:

对数据进行修改的多个事务是彼此隔离的。这表明事务必须独立,不应该以任何方式影响别的事务。

持久性:

事务完成之后,它对系统的影响是永久的,即使系统出现故障,也会保留此事务操作的结果

优秀博文

https://blog.csdn.net/shuaihj/article/details/14163713

猜你喜欢

转载自blog.csdn.net/qq_34759481/article/details/82493471