mysql笔记8_数据库设计步骤

step1:

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

  示例:blog系统

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

step2:

  标识对象(实体Entity)

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

  实体一般是名词:

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

  文章类别

  文章

  文章回复

  图片分类

  图片

  连接分类

  连接

  短消息

step3:

  标识每个实体的属性

      E-R图(Entity-Relationship)

  |     符号     |      含义                      |

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

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

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

step4:

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

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

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

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

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

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

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

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

数据库设计的3范式:

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

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

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

隐患:

  数据冗余

  更新异常

  插入异常

  删除异常

 

mysql笔记8_数据库设计步骤,布布扣,bubuko.com

mysql笔记8_数据库设计步骤

上一篇:Ubuntu安装Mysql+Django+MySQLdb


下一篇:ibatis框架的sqlmapclient接口