数据库设计全解析
1 良好数据库设计的要素
1.1 理解问题
- 系统替换情况 :若新系统要替换现有系统,现有系统的优缺点能为新设计提供参考。即便有现有系统,也需与潜在用户交流;若为个人使用的数据库,则需自我提问。
- 用户访谈要点 :
- 一次访谈人数不宜过多,2 - 3 人最佳。
- 提前告知访谈目的并发送主要问题。
- 找助手记录笔记,以便专注理解用户表述。
- 访谈时间宜短,确保涵盖主要问题,未决事项可指定回复日期。
- 会后两天内分发详细会议记录,有争议点要求一周内回复意见。
- 提问技巧 :初始访谈时,让用户描述系统目的和主要功能,关注“是什么”而非“怎么做”,以更好理解目的。
1.2 考虑设计方面
- 容纳所需数据的能力 :存储数据是数据库的基本需求,但对于复杂且需长期发展的数据库,应先实现“必须有”的需求,暂放“可有可无”的请求。多数数据库设计中,核心表约占最终实现表的 25%,应先确定和设计这些核心表。
- 支持所需关系的能力 :数据库设计应支持数据实体间的关系,忽视关系会导致数据完整性问题和系统复杂性增加。
- 解决问题的能力 :再好的数据库设计若