zoukankan      html  css  js  c++  java
  • mysql笔记8_数据库设计步骤

    step1:

      收集信息,与谈系统有关的人员进行交流、座谈,充分了解数据库需要完成的任务。

      示例:blog系统

      基本功能:发表和编辑文章,多用户支持,全文检索,RSS支持,图片收藏,管理站内短消息。

    step2:

      标识对象(实体Entity)

      标识数据库要管理的关键对象或实体。

      实体一般是名词:

      博主账号:发表和管理文章、图片管理。

      文章类别

      文章

      文章回复

      图片分类

      图片

      连接分类

      连接

      短消息

    step3:

      标识每个实体的属性

          E-R图(Entity-Relationship)

      |     符号     |      含义                      |

      |   矩形     |   实体,一般是名词        |

      |   椭圆     |   属性,一般是名词        |

      |     菱形     |   关系,一般是动词        |

    step4:

      将E-R图转换为对应的表

      step1.将各实体转换成各对应的表。

      step2.将各属性转换成表对应的列。

      step3.标识每个表的主键列。

          需要注意:没有主键的表要添加ID编号列作为主键。它没有实际含义。

      step4.在表之间建立主外键,体现实体间的映射关系。

          一对多关系用主外键关联。

            多对多关系增加一个中间表处理关联关系。

    数据库设计的3范式:

      第一范式(1NF):在关系模式中每一个具体关系中,必须要有主键,并且每个属性值都是不可再分的最小数据单位。则称为第一范式关系。

      第二范式(2NF):如果关系模式中的所有非主属性都完全依赖于主关键字,则称为第二范式。

      第三范式(3NF):关系模式中的非主关键字不能依赖其他非主关键字,即非主关键字之间不能有函数(传递)依赖关系,则称为第三范式。

    隐患:

      数据冗余

      更新异常

      插入异常

      删除异常

  • 相关阅读:
    Java 练习题02 (包装类 (对字符串进行排序))
    Java 练习题01(运算符)
    理解有参构造器和无参构造器的作用
    反射;获取类的字节码对象;Class类实例化对象;获取类中的公共构造方法/成员变量/成员方法并执行;暴力反射 (Java Day27)
    网络编程;InetAddress类;UDP协议和TCP协议;Socket编程;UDP编程;TCP编程 (Java Day26)
    序列化 & 反序列化
    几种常用的认证机制
    MySql交换两列
    架构设计思想
    REST资源的URL设计
  • 原文地址:https://www.cnblogs.com/benjia/p/3812444.html
Copyright © 2011-2022 走看看