• 【刷题】数据库三大范式


    属性不可分割;主键约束;外键约束。
    第一范式就是属性不可分割,每个字段都应该是不可再拆分的。
    比如一个字段是姓名(NAME),在国内的话通常理解都是姓名是一个不可再拆分的单位,这时候就符合第一范式;但是在国外的话还要分为FIRST NAME和LAST NAME,这时候姓名这个字段就是还可以拆分为更小的单位的字段,就不符合第一范式了。

    第二范式就是要求表中要有主键,表中其他其他字段都依赖于主键,因此第二范式只要记住主键约束就好了。
    比如说有一个表是学生表,学生表中有一个值唯一的字段学号,那么学生表中的其他所有字段都可以根据这个学号字段去获取,依赖主键的意思也就是相关的意思,因为学号的值是唯一的,因此就不会造成存储的信息对不上的问题,即学生001的姓名不会存到学生002那里去。

    第三范式就是要求表中不能有其他表中存在的、存储相同信息的字段,通常实现是在通过外键去建立关联,因此第三范式只要记住外键约束就好了。
    比如说有一个表是学生表,学生表中有学号,姓名等字段,那如果要把他的系编号,系主任,系主任也存到这个学生表中,那就会造成数据大量的冗余,一是这些信息在系信息表中已存在,二是系中有1000个学生的话这些信息就要存1000遍。因此第三范式的做法是在学生表中增加一个系编号的字段(外键),与系信息表做关联。

    范式并非硬性要求,而是设计时尽可能遵守的大原则。
    因此,数据库设计存在不符合范式规定

  • 相关阅读:
    vue+element 通过checkbox控制el-table-column的显示或隐藏
    Vue 路由跳转相同路径页面不刷新
    Cookie的domain以及path详解
    Vue移动端项目如何使用手机预览调试
    vue SSR服务端渲染
    vue服务端渲染(ssr)与普通vue的区别,ssr的基本使用
    Vue SSR 插件Genesis
    br压缩算法
    Ant Design 自定义表单控件
    gorm出现incorrect datetime value '0000-0-0 00:00:00' for column问题
  • 原文地址:https://www.cnblogs.com/anliux/p/12567422.html
Copyright © 2020-2023  润新知