数据库设计原则:避免存储计算值

需积分: 33 2 下载量 62 浏览量 更新于2024-07-11 收藏 1.73MB PPT 举报
"数据库设计是信息系统开发的关键环节,旨在创建符合特定应用需求、具有良好性能的关系数据模型。在设计过程中,应避免在数据库中存放计算值,以确保数据的一致性和准确性。" 在关系数据库设计中,存放计算值是一个常见的反模式。通常,数据库应该存储原始的、基础的业务数据,而不是基于这些数据的计算结果。例如,描述中的【例5-21】提到,不应在选课表中存储学生的平均成绩,因为平均成绩是根据学生各科成绩计算得出的,如果原始成绩发生变化,平均成绩应随之更新。若平均成绩直接存储在数据库中,可能会导致数据与实际情况不符,增加数据维护的复杂性。 数据库设计涉及多个阶段,包括: 1. **需求分析**:理解用户对系统的需求,识别要处理的数据实体及其相互关系。 2. **概念设计**:基于需求分析,使用E-R模型(实体-关系模型)构建信息模式,描绘实体、属性和联系。 3. **逻辑设计**:将概念设计转换为逻辑数据模型,通常遵循3NF(第三范式),确保数据冗余最小,关系清晰。 4. **物理设计**:考虑性能和存储因素,优化逻辑数据模型以适应特定数据库管理系统(DBMS)。 5. **数据库实施**:创建数据库结构,如表、索引等,并加载初始数据。 6. **数据库运行与维护**:监控数据库性能,进行数据更新、备份和恢复,以及必要的结构修改。 设计方法有多种,如直观设计法(依赖经验,适用于小规模系统)、规范设计法(分阶段、迭代,有E-R模型、3NF设计等)和计算机辅助设计法(使用CASE工具自动化设计过程)。例如,PowerDesigner是一款常用的CASE工具,支持数据库建模和应用开发。 避免在数据库中存放计算值的原则有助于保持数据的准确性,减少数据一致性问题,同时也有利于数据库的扩展和优化。当用户需要计算结果时,可以在查询时动态计算,这样既能确保数据新鲜,也能减轻数据库的负担。因此,良好的数据库设计实践是系统成功的关键,它直接影响到数据的质量、系统的性能以及维护的便捷性。