• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

竹千代

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

数据库设计

数据库的设计过程很像程序设计过程,分 需求分析、逻辑设计、物理设计、具体实现四步

其中,需求分析和逻辑设计是通用的,而物理设计、实现是跟具体使用的数据库相关。

 

一、需求分析

  不细说

二、逻辑设计

  主要包括 E-R模型图 -〉 表 -〉 范式化

  如何画E-R模型图?

  1、找出全部实体和属性(名词表示)

    比如,每个人(实体)都会有一个住址,那么该住址应该是单独实体,还是属性? 

    答:第一,如果它是一个多值属性,那么它应该是一个单独实体。比如,电子商务网站上面,地址会分为省份、城市等内部信息。

      第二,如果它应该有描述性信息,那么它应该是一个单独实体。比如,城市,如果有相应描述信息,如所在省份、人口等。

      第三,如果将来很有可能对它进行扩展,那么应该是一个单独实体。

  2、分析实体之间的联系(动词表示)

  3、泛化与概化,就是找出继承关系

  4、如果系统大,有多个E-R图,合成

 

  如何将E-R图转换成数据表? 

  不同的E-R类型图,有不同的转换方法,详见 从ER模型到SQL表

 

  如何范式化?

  1. 第一范式:每个属性字段是否是原子不可再分的?
  2. 第二范式:是否存在非码属性对码的部分依赖?
  3. 第三范式:是否存在非码属性对码的传递依赖? 
  4. BCNF:是否存在码属性对码的部分依赖或传递依赖? 

  详见理解范式化

 

参考:http://www.cnblogs.com/DBFocus/archive/2011/03/27/1996655.html

 

posted on 2015-09-23 11:51  竹千代  阅读(188)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3