• 数据库设计范式?


    /**
     *数据库设计范式?-----------数据库设计的规范!
     *     MySQL  增删改查!
     *
     * 一、第一范式
     *      1.原子性要求【不能再分了!】 ( 范式 事务acid 线程)
     *      2.一致性        undo 数据库缓存
     *      3.隔离性    两个事物之间的隔离级别
     *
     *         列是固定的  行多个 【关系型数据库!】mysql oracle
     *        【非关系型数据库】 是关系型数据库的补充(基于内存!)
     *
     *      两种错误的数据库设计范式!
     *
     *         错误1.   违背了 关系型数据库
     *      id name age tele、tel1、tel2、tel3
     *
     *      错误2.  违背了  原子性要求
     *         id name   tel
     *         1   zs   110,120,119
     *
     *         正确示范!
     *      user用户表  解决一个用户有多个十几号的问题!
     *
     *         uid  name   age
     *         1    张三   12
     *
     *      telephone
     *         id  uid  tele
     *         1    1    110
     *         2    1    120
     *
     * user表中用户zs两个手机号 通过内连接的方式  实现用户的  多个手机号!
     *
     * 二、第二范式  唯一性!
     *
         * 学生选修课  成绩表!
         * id name   age   select  mark
         * 1  张三   12    math    99
         * 2  李四   12    music   99
         * 3  张三   12    java    99
         * 4  李四   12     pe     98
         *
         * 一个zs有多个主键?解决方案  建两表  1.    2.
         *      1.学生表
         *      id  name   age
         *      1   张三   12
     *          2   李四   12
         *      2.成绩表
         *
         *      id  sid 课程  成绩
         *      1    1  math   99
         *      2    2  music  99
         *      3    1  java   99
         *      4    2   pe    98
     *    使用内连接的方式  查询结果
              SELECT s.name,s.age,m.`课程`,m.`成绩`
    
              FROM studendemo s,mark m
    
              WHERE s.id=m.sid
     *
     * 3.第三范式 减少冗余!
     * student学生信息表
     * id name age                      gname       classer
     * 1   zs   12                   qy97    luo
     * 2   ss   13                   qy97    luo
     * 3   as   45                   qy97    luo
     * 4   ws   88                   qy97    luo
     *
     * 观察得出  表中的 gname    和   classer  相同信息重复------->冗余
     *
     * 解决方式:新建表 garden
     *
     * id uid gname classer
     * 1   1   qy97   luo
     * 2   2   qy98   luo
     *
     * 通过观察发现  为满足这三种范式,我们基本上都是,创建两张表来解决!
     *
     * 思考?
     * 主表和从表的关系?  那张表应该加外键?
     *
     *
     * 后面的范式要满足前面的要求!
     *
     * 反三范式    ?  在实际开发中 适当的冗余 可以提高开发效率。
     *
     *
     *
     * 练习2
     *
     *我现在的问题是   熟练掌握  数据库设计的三种范式
     *                 理解反三范式的意义!(没有必要,完全墨守成规,一切以实际开发为准  ,怎们简单,怎么设计数据库表)
     *
     *                 设计表  学生  老师
     *
     *                 主键  和未见得区别?
     *                 我有一个学生表  当做主表  id  age  name  tall  sex  (学生特有这些属性)第一范性  原子性  不可分割!  目的 保证数据的唯一性 尽量避免数据的冗余性!
     
     */
  • 相关阅读:
    jQuery对select操作
    左眼跳跳 100万
    [推荐] 世界上最健康的作息时间表
    放弃了mapbar 选用google map
    记录
    WPF等待窗口
    PL界面
    C# 获得随机数
    组合
    delphi版淘小宝图片下载工具
  • 原文地址:https://www.cnblogs.com/ZXF6/p/10779452.html
Copyright © 2020-2023  润新知