思维导图:
7.6 数据库的实施和维护
数据库实施阶段
-
实施准备:
- 将数据库逻辑设计和物理设计转化为数据库管理系统可接受的源代码。
- 调试生成目标模式,准备数据入库。
-
数据载入:
- 转换和整合来自不同部门和单位的数据,使其符合新设计的数据库结构。
- 特别注意数据转换工作的复杂性和耗时性。
-
应对手工数据系统的挑战:
- 当原系统为手工处理时,需处理大量纸质文件,工作量加大。
-
数据录入子系统:
- 设计数据录入子系统提高数据输入效率和质量。
- 在数据入库前,通过多种方法对数据进行核验,防止错误数据入库。
-
利用数据库管理系统工具:
- 使用数据库管理系统提供的数据转换工具,特别是当原系统也是数据库系统时。
-
应用程序开发和调试:
- 应用程序设计应与数据库设计同步进行。
- 应用程序开发包括设计、编码和调试,参考软件工程方法。
数据库维护阶段
- 持续更新:
- 定期更新数据库以反映最新数据和信息。
- 性能监控和优化:
- 监控数据库性能,根据需要调整数据库结构和索引以优化性能。
- 安全性和备份:
- 保持数据的安全性,定期进行数据备份以防数据丢失。
- 适应变化:
- 根据用户需求和业务流程的变化,适时调整数据库结构和功能。
我的理解:
-
数据库实施的目的:
- 实施阶段的目标是将已完成的数据库逻辑和物理设计转化为实际运行的数据库系统。这涉及使用数据库管理系统的数据定义语言(DDL)和其他工具来创建数据库、表、索引等结构。
-
数据载入的重要性:
- 在实施阶段,一个关键任务是数据载入,即将现有数据转换并整合到新的数据库结构中。这通常是一个复杂且耗时的过程,特别是当原始数据分布在不同的部门或格式中时。
-
手工数据系统的挑战:
- 如果原系统是基于手工数据处理,那么数据转换和载入的工作量会更大,因为需要处理大量的纸质文件。
-
数据录入子系统的设计:
- 为了提高效率和数据质量,设计一个数据录入子系统是非常有用的。这个子系统可以帮助自动化数据入库过程,并确保数据的准确性和一致性。
-
应用程序的开发和调试:
- 数据库应用程序的开发应与数据库设计同步进行。这包括编码、测试和调试应用程序,以确保它们能够有效地与数据库交互。
-
数据库维护的必要性:
- 维护阶段是数据库生命周期中持续的阶段。它包括定期更新数据、监控和优化数据库性能、确保数据安全和进行数据备份,以及根据业务需求的变化调整数据库结构。
7.6.2 数据库的试运行
目的和重要性
- 联合调试:在一小部分数据输入后开始,确保数据库系统整体协同工作。
- 功能测试:运行应用程序,测试是否满足设计要求。
步骤和调整
- 运行应用程序:实际执行数据库操作,检验功能和性能。
- 功能评估:确认应用程序功能是否符合设计规范。
- 调整和修改:如功能不符,进行必要的调整和修改。
性能测试
- 测试性能指标:验证系统性能是否达到预定目标。
- 实际测量与评价:由于设计时的估计往往与实际有差距,需要实际测量系统性能。
- 参数调整:根据试运行结果调整系统参数。
数据库设计的修正
- 返回设计阶段:如果试运行结果与设计目标不符,可能需要返回物理设计或逻辑设计阶段进行修改。
分期分批的数据入库
- 避免重复劳动:为防止重做数据入库的工作,应分期分批地组织数据入库。
- 逐步增加数据量:先用小批量数据进行调试,然后逐渐增加数据量。
数据库安全性和恢复
- 预防故障:系统可能还不稳定,因此要预防硬、软件故障。
- 备份和恢复:做好数据的备份和恢复工作,以减少故障对数据库的影响。
通过这样的笔记,可以清晰地理解数据库试运行阶段的关键任务和挑战,以及如何有效地进行试运行以确保数据库系统的稳定性和可靠性。这一阶段是从数据库设计到实际运行的重要过渡,对整个项目的成功至关重要。
7.6.3 数据库的运行和维护
概述
- 维护的持续性:数据库的维护是数据库生命周期中持续且关键的部分,需要应对应用环境和数据存储的不断变化。
1. 数据库的转储和恢复
- 重要性:转储和恢复是正式运行后的关键维护工作。
- 转储计划:根据应用要求制定不同的数据备份策略。
- 故障恢复:确保在发生故障时快速恢复数据库至一致状态,减少数据损失。
2. 安全性和完整性控制
- 动态调整:根据应用环境的变化调整安全性控制。
- 用户权限管理:应对用户密级的变化和数据的敏感度变化。
- 完整性约束:不断修正完整性约束条件,以满足新的用户需求。
3. 性能监督、分析和改造
- 监督运行:持续监控数据库性能。
- 分析性能数据:利用性能监测工具获取数据,并进行分析。
- 性能优化:根据分析结果调整物理参数或进行数据库重组织。
4. 数据库重组织与重构造
- 重组织的需求:随着数据的增删改,定期进行数据库重组织以提高性能。
- 重组织工具:利用数据库管理系统提供的工具执行重组织。
- 重构造:部分修改数据库的模式和内模式以适应应用环境的变化。
- 适应新需求:应对新应用的增加或实体关系的变化。
5. 应对极端变化
- 重构限制:当应用变化过大,重构可能无效,表明需要设计新的数据库系统。
对此我们可以清晰地理解数据库运行和维护阶段的关键任务和挑战,以及如何有效地进行这些工作以确保数据库系统的稳定性、安全性和高效性。这一阶段对于数据库系统的长期成功至关重要。
我的理解:
-
持续性维护:
- 数据库维护是一个持续的过程,不仅仅是数据库设计和实施后的活动。随着应用环境的变化,数据库也需要不断调整和更新。
-
转储和恢复:
- 定期备份(转储)数据库是关键的维护任务之一,以保证在发生故障时可以快速恢复。
- 备份策略应根据数据的重要性和变化频率制定。
-
安全性和完整性控制:
- 随着环境的变化,数据库的安全性和完整性控制规则也需要适时调整。
- 完整性控制涉及确保数据的准确性和逻辑一致性。
-
性能监督和优化:
- 持续监控数据库的性能,通过分析性能数据来识别和解决性能问题。
- 性能优化可能包括调整系统参数或重新组织数据库结构。
-
数据库重组织与重构造:
- 重组织是为了提高数据库的存取效率,特别是在数据量大增或频繁变更的情况下。
- 重构造涉及调整数据库的模式和内模式,以适应新的业务需求或应用环境的变化。
-
应对极端变化:
- 当应用需求变化过大时,仅通过重构造可能无法满足需求,可能需要设计新的数据库系统。
总结:
重点
- 持续性维护:理解数据库维护是一个长期、持续的过程,不仅限于初期设立。
- 转储和恢复:定期备份数据库以保障数据安全,在系统故障时能快速恢复。
- 安全性和完整性控制:适应应用环境变化,调整安全性和完整性规则。
- 性能监督和优化:持续监控数据库性能,根据性能数据分析进行优化。
- 数据库重组织与重构造:针对性能降低或应用需求变化进行数据库重组织和重构造。
难点
- 平衡性能与资源:在优化数据库性能和资源使用(如存储空间)之间找到平衡点。
- 适应性调整:适应快速变化的应用环境和用户需求,及时调整数据库结构和策略。
- 预测与应对故障:预测潜在的系统故障并制定有效的应对策略。
易错点
- 忽视定期维护:忽略了数据库的定期维护工作,如备份和性能优化。
- 安全性控制疏忽:在环境变化时未及时更新安全性和完整性控制,可能导致数据泄露或损坏。
- 性能监测误解:错误解读性能监测数据,导致不恰当的优化措施。
- 过度优化:过度调整系统参数或过于频繁的重组织,可能反而降低系统性能或增加维护负担。