zoukankan      html  css  js  c++  java
  • 数据库范式简介

    范式,NF,normal format,就是指对表的结构的要求!

    目的:1,规范结构!2,减少数据冗余!

    第一范式,1NF,字段原子性

    要求字段不能再分,要求字段的原子性

    第二范式,2NF,非部分依赖

    增加唯一主键即可!ID

    范式的要求,是逐渐递增!

    在满足了第一范式的前提下,不能出现部分依赖!

    部分依赖指的是:普通字段对主键是完全依赖的,而不应该是依赖主键的一部分!

    依赖:可以通过那个字段去决定另一个字段

    因此,出现主键部分依赖的前提是,出现复合主键, 讲师和班级组成复合主键, 但是性别仅仅依赖于讲师, 属于部分依赖!

    怎么做?

    消灭复合主键即可!增加一个唯一字段的主键即可。增加一个与业务逻辑毫无关系的,唯一的ID主键,int unsigned primary key auto_increment

     

    第三范式,3NF,非依赖传递

    在满足第二范式的前提下,取消传递依赖,就是第三范式!

    传递依赖:如果字段B对字段A有依赖,而字段C对字段B存在依赖。则出现了传递依赖!

    解决,要保证所有的字段都完全依赖于主键,而不依赖于其他字段!

    将独立的实体信息,使用独立的关系(二维表)进行保存!

    反范式

    所有数据都存在一张表里面,避免了关联操作.

    如果不需要关联表, 对大部分查询最差的情况--即使没有使用索引--是全表扫描. 当数据比内存大时候可能比关联要快得多.

    在实际中经常混用方范式化和反范式化

  • 相关阅读:
    补间动画
    nginx+php的配置
    腾讯QQ首次在PC端采用气泡式聊天界面(from:36kr)
    mysql errno:13
    PHP高级面试题
    Nginx下fastcgi_split_path_info导致CodeIgniter配置问题
    ngx_http_fastcgi_module 的那些事
    PowerShell 定时刷新查看文件内容
    解决 VMWARE MAC 10.12无法全屏的问题
    libcurl 函数curl_easy_perform在release下崩溃的问题
  • 原文地址:https://www.cnblogs.com/tanxing/p/5616393.html
Copyright © 2011-2022 走看看