数据库设计:三种范式

一:为何会提出范式?数据库

       为了保证数据库设计的合理性(由于数据库设计关系整个系统的架构和后序开发效率和运行效率)架构

二:什么是合理的数据库呢?数据库设计

  结构合理、冗余较小、尽可能避免DML操做异常函数

三:提出范式概念性能

  在关系型数据库中遵循的规则称为  范式(NF:Normal Form)学习

四:范式分类设计

  学习范式遵循的基本原则:大前提下遵循范式、细节上能够灵活使用它orm

  1.第一范式blog

    数据库表每一列是不可分割的基本数据项(确保每列都保持原子性)开发

    eg:反例    

                            

 

 

               所以,将来在作设计的时候须要考虑 某一列是否会反复用,此时是否须要考虑是否符合范式。

  2.第二范式(限制多对多关系)--》经过外键+联合主键关联表

    非主属性彻底函数依赖于码(在一个数据库表中只能保存一种数据,不可能把多种数据保存到一张表中)

    eg:

 

 

                     ps:能够发现课程名称列出现了数据冗余,为避免数据冗余——》须要知足第二范式拆分此表

        

 

 

    3.第三范式(限制一对多关系的)--》在从表中创建外键,从而利用主表信息

      在2NF基础上,不含有非主属性对码的传递函数依赖

   eg1: 

 

 

   eg2:

 

 5、范式缺点

  性能下降(多表查询比单表查询慢)

 6、如何表示数据库表之间关系

  使用外键

7、数据库外键关系表示的实际上是一种一对多关系

  1.一对一 :外键+惟一性约束

  2.多对多:转化为两个一对多

相关文章
相关标签/搜索