• “三大范式”及数据库设计


    # 为什么需要设计数据库?
    --当数据库较为复杂的时候需要设计数据库

    # 设计数据库的步骤
      1.收集信息(专业人士)
      2.标识实体(Entity)--找名词/表名
      3.为实体标识属性
      4.标识实体之间的关系(Relationship)
      5.画图
      6.编写sql语句建表(根据"三大范式")

    # 映射基数
      "一对一"、"一对多"、"多对一"、"多对多"

    为什么需要数据规范化(注意:三大范式(满足N-1范式) 可以帮助我们 规范数据的的设计。
      好处:防止数据混乱、数据冗余;
      缺点:很难严格排除出所有不满足的表,难拆分,影响一定的性能
      实际使用时,需要"规范性"和"易用性、性能"综合考虑)


    ***第一范式(1st NF)*** --每列不可分割
        确保每列的原子性(不可拆):如果每列都是不可分的最小数据单元(也称为最小的原子单元),
    则满足了"第一范式"

    ***第二范式(2st NF)*** --一个表,一件事(若一张表不满足2NF,就要拆分,然后通过将一个表的主键设置为另一张表的外键,来对两张表进行关联)

        宏观:要求每个表只描述一件事情(例如,一个student表 描述的都是学生字段)
         微观:通过2NF定义:除了主键外地其他字段,都依赖主键(A―>B就是B决定了A)

    ***第三范式(3st NF)*** --列要和主键有直接的关系,不能间接相关
        如果一个关系满足2NF,并且除了主键以外的其他列都传递依赖于主键列,
    满足第三范式(3NF)

    微观:除了主键以外的其他字段,都不传递依赖于主键
    X――>Y――>Z:X决定了Z,Z传递依赖X

    # 数据库设计软件:Power Designer

    name:给用户看的,只能用于显示
    code:代码实际操作

    ***
    事务具有哪些特性?
      原子性、一致性、隔离性、永久性(ACID)

    索引的目的是?
      加快检索

    简述“三范式”含义
      1.1st NF:每列不可分割
      2.2st NF: 一个表,一件事
      3.3st NF:列要和主键有直接关系,不能间接相关

    ***

  • 相关阅读:
    使用Git进行代码管理的心得
    软件工程的实践项目的自我目标
    第五次作业——团队项目——需求规格说明书
    第三次作业——结对编程
    第六次作业——团队作业
    调研Android平台的开发环境的发展演变
    第四次作业——个人作业——软件案例分析
    IT人士 不能一辈子靠技术生存
    Launchy、FARR、AutoHotKey哪个快速启动软件好?
    申请了好几次,终于通过了!庆祝一下!
  • 原文地址:https://www.cnblogs.com/wzhqzm/p/13369155.html
Copyright © 2020-2023  润新知