zoukankan      html  css  js  c++  java
  • 数据库设计

    带有实际场景的去思考,去学习.

    如果有外键的情况下:
    先创建主表,再去创建子表

    设计表结构:观摩别人的表结构:
    三范式:遵守到2范式或者3范式即可

    只支持二维表

    第一范式<1NF>:原子性,即列不能够再分成其他几列--->不存在嵌套的表结构

    第二范式<2NF>:必须是1NF,1.>另外还需要包含一个主键,2.>非主键字段必须完全依赖于主键,不能只依赖于主键的一部分.

    有时候会将2个字段设置为主键,这时候其他非主键字段如果是依赖于主键中的某一个字段,那么就不是第二范式了.
    示例:
    产品ID 订单ID 产品名称 价格 产品名称和价格只依赖于主键中的产品ID,和订单ID无关.这样就是部分依赖

    第三范式:前提必须是第二范式
    不允许存在 非主键字段和主键字段 的 传递依赖关系
    传递依赖 A-->B -->C 这样A对C就有一个间接依赖

    办法:拆分表结构-->直到没有可被细分的表,这样就去除了AC之间的间接依赖

    非主键A-->B-->C主键


    订单ID 订单时间 用户ID 用户地址


    E-R模型:实体联系图
    矩形:实体/表名
    椭圆:字段名/列表/属性名
    菱形:多对对的关系,也是一个表名,必须转换成一对多的关系
    线条:关系/也是一种数据

    多对多的关系:
    A B之前如果多对多,那么就找一个中间表C来进行中转

  • 相关阅读:
    数据库中的索引结构是什么?
    什么情况下适合建立索引?
    python requests https 访问出错
    Centos下 自动化配置SSH免密码登陆
    expect 批量增加用户及配置密码
    Shell 处理文件名中包含空格的文件
    Linux sort 命令
    ictclas bug修复
    [转]hadoop2.x常用端口
    在服务器上运行Jar包
  • 原文地址:https://www.cnblogs.com/huaibin/p/12100562.html
Copyright © 2011-2022 走看看