数据库设计原则:避免存储计算值
需积分: 33 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工具,支持数据库建模和应用开发。
避免在数据库中存放计算值的原则有助于保持数据的准确性,减少数据一致性问题,同时也有利于数据库的扩展和优化。当用户需要计算结果时,可以在查询时动态计算,这样既能确保数据新鲜,也能减轻数据库的负担。因此,良好的数据库设计实践是系统成功的关键,它直接影响到数据的质量、系统的性能以及维护的便捷性。
2021-10-05 上传
2022-11-24 上传
2017-01-06 上传
2022-06-05 上传
2023-04-14 上传
2024-06-30 上传
2008-10-15 上传
2022-11-24 上传
2023-03-27 上传
永不放弃yes
- 粉丝: 676
- 资源: 2万+
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码