• 数据库设计:三种范式


    一:为什么会提出范式?

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

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

      结构合理、冗余较小、尽量避免DML操作异常

    三:提出范式概念

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

    四:范式分类

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

      1.第一范式

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

        eg:反例    

                                

                   因此,未来在做设计的时候需要考虑 某一列是否会反复用,此时是否需要考虑是否符合范式。

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

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

        eg:

                         ps:可以发现课程名称列出现了数据冗余,为避免数据冗余——》需要满足第二范式拆分此表

            

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

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

       eg1: 

       eg2:

     五、范式缺点

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

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

      使用外键

    七、数据库外键关系表示的其实是一种一对多关系

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

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

  • 相关阅读:
    jquery基础整理(面试必备)
    ES中文学习指南---入门篇
    ES的Java Rest client---jest
    java学习路线
    ES中文学习指南一-----产品体验
    Tomcat无法启动
    Maven问题集
    informatica9.5.1资源库为machine in exclusive mode(REP_51821)
    程序员书单_架构设计篇
    Informatica9.6.1在Linux Red Hat 5.8上安装遇到的有关问题整理_1
  • 原文地址:https://www.cnblogs.com/happy-prince/p/13066207.html
Copyright © 2020-2023  润新知