zoukankan      html  css  js  c++  java
  • 数据三大范式

    合理的数据库:

    1.结构合理

    2.冗余较小

    3.尽量避免避免插入、删除、修改异常

    范式(NF:Normal Form)

    要设计一个结构合理的数据库,必须满足一定的范式

    第一范式,第二范式,第三范式 (依次嵌套包含  范式越高  设计质量越高)

    第一范式:数据表中每一列都是不可分割的基本数据项(即同一列不能有多个值  原子性)

    如:用户表(用户名 家庭地址)

      用户表(用户名 省 城市  详细地址)   实际业务需求:如按省 或 市查询

    应用:第一范式的合理遵循需要根据实际业务需求来定

    第二范式:数据表中的每一列都和主键(联合主键)相关,而不能只与主键的某一部分相关(解决多对多

         (即数据表中只能存一种数据,不可以把多种数据存在同一张数据表中)

                        

           (学生--课程  多对多)

           学号,课程编号作为联合主键, 课程名称只依赖于课程编号,但是与学号没有关系。

           冗余较多 如课程名称  修改不方便 如 修改张三的名字  所以上表不合理!

           解决方案如下:

           

     

    第三范式数据表中的数据都和主键直接相关,而不能间接相关(解决一对多

          

     范式的优缺点

    数据库表之间的关系: 一对一:学生和学生证

             一对多:学生和班级

             多对多:学生和课程

    如何表示数据库表之间关系:

            一对一:外键+唯一

            一对多:外键

            多对多:引入中间表,1个多对多 --> 2个一对多(参考第二范式)

  • 相关阅读:
    Java-数组
    排序-冒泡排序
    排序-选择排序
    Java-基础
    Java-Html-session
    Java-API
    Tomcat-常用设置
    Tomcat目录结构
    TOMCAT-安装配置
    Java-public
  • 原文地址:https://www.cnblogs.com/qingfengzhuimeng/p/6905103.html
Copyright © 2011-2022 走看看