毕 业 设 计 用 纸
(四)数据库的恢复
DBMS尽管已保证了数据库的安全性,完整性,并保证并发事物的正确执行,但计算机系统的硬件故障,软件故障、操作员的失误以及故意的破坏仍会造成运行事物的正常中断,从而影响数据库中的数据的正确性,甚至会破坏数据库,造成数据库全部或部分数据的丢失。因此,DBMS必须具有将数据库从错误状态恢复到某一已知正确状态(亦称完整状态或一致状态)的功能。
数据库恢复的方法有转储,登记日志文件。
·转储:(定期备份)是数据库恢复的基本技术,是指DBA定期将数据库复制到另一个存储空间(如磁带,磁盘)中保存的过程。备份的数据文件称为后备副本或后援副本。
·登记日志文件:是另一种数据库恢复的技术。日志文件用来记录事务对数据库的更新操作的文件,它的目的是为数据库恢复保留详细的数据。日志文件必须具有高度可靠性,一般是双副本,并且独立地写在两个不同类型的设备上。
日志文件在数据恢复中起着非常重要的作用。可以用来进行事务故障恢复和系统故障恢复,并协助后备副本进行介质故障恢复。具体作用是:
(1)事务故障恢复和系统故障恢复必须用日志文件。
(2)在动态转储方式中必须建立日志文件,后援副本和日志文件综合起来才能有效地恢复数据库。
(3)在静态转储方式中,也可以建立日志文件。
为保证数据库是可恢复的,登记日志文件时必须遵循两条原则:
11
湖南大学网络学院
毕 业 设 计 用 纸
·登记的次序严格按并发事务执行的时间次序。 ·必须先写日志文件,后写数据库。
把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。如果先写了数据库修改而在进行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,按日志文件恢复时只不过是多执行一次不必要的UNDO操作,并不会影响数据库的正确性。所以为了安全,一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。这就是“先写日志文件”原则。
12
湖南大学网络学院
毕 业 设 计 用 纸
第三章 VFP介绍
3.1 VFP概述
Visual FoxPro 是为数据库结构和应用程序开发而设计的功能强大的
面向对象的环境。无论是组织信息、运行查询、创建集成的关系型数据库系统,还是为最终用户编写功能全面的数据管理应用程序,Visual FoxPro 都可以提供管理数据所需的工具,可以在应用程序或数据库开发的任何一个领域中提供帮助。Visual FoxPro 所具有的速度、能力和灵活性,是普通数据库管理系统无法比拟的,它把我们带入一个 Xbase 新时代。
Visual FoxPro 6.0是Microsoft公司1998年发布的可视化编程语言
集成包Visual Stadio6.0中的一员. Visual FoxPro 6.0是可运行于Windows95/98、Windows NT平台的32位数据库开发系统,能充分发挥32位微处理的强大功能,是一种用于数据库结构设计和应用程序开发的功能强大的面向对象的微机数据库软件。它采用了可视化的、面向对象的程序设计方法大大简化了应用系统的开发过程,并提高了系统的模块性和紧凑性。
3.2 VFP特点
中文版Visual FoxPro与FoxPro相比,有多种可视化编程工具,最突出的是面向对象编程,重复使用各种类,直观地、创造性地建立应用程序;在表的设计方面增添了表的字段和控件直接结合的设置,使用户能够更快、更容易地设计和修改应用程序界面。
1、增强的项目及数据库管理
(1)我们可以对项目及数据有更强的控制,能够使用源代码管理产
13
湖南大学网络学院
毕 业 设 计 用 纸
品,同时可以在“项目管理器”中看到组件的状态。数据库容器允许几个用户在同一个数据库中同时创建或修改对象。利用“数据库设计器”可以迅速更改数据库中对象的外观。
(2)们可以借助“项目管理器”创建和集中管理应用程序中的任何元素;可以访问所有向导、生成器、工具栏和其他易于使用的工具。它提供了一个进行集中管理的环境。
(3)可以对 Visual FoxPro 系统本身定制工具栏,也能够为编写的应用程序定义工具栏。
2、简便、快速、灵活的应用程序开发
(1) Visual FoxPro 添加了新的“应用程序向导”,其提供的新的 ProjectHook 对象和改进了的应用程序框架功能可以使我们的应用程序更有效率。VFP6.0中还添加了一些功能来增强开发环境,以便更容易地向应用程序中添加有效的功能。
(2)Visual FoxPro 6.0 提供了更多更好的生成器、工具栏和设计器等,在他们的帮助下,我们可以快速开发应用程序。
(3)在Visual FoxPro 6.0中,我们可以更简便地调试及监控的应用程序组件:可以跟踪事件以及记录执行代码的工具,它看起来与 Visual C 的调试环境很相似;利用它可以深入程序,查看属性设置值,对象以及数组元素的值;可以显示交互的或代码中的信息提供了方便的途径,同时可以把结果输出到应用程序窗口之外的另一个窗口;可以用来分析程序、应用程序或实际运行的项目代码。
(4)不用编程创建界面
14
湖南大学网络学院
毕 业 设 计 用 纸
(5)应用程序组件的实例中收集了一系列应用程序组件,他们显示了如何利用 Visual FoxPro 的特性解决现实世界的问题。在应用程序中可以直接使用示例组件及它们的代码。
3、提供真正的面向对象程序设计
Visual FoxPro 仍然支持标准的面向过程的程序设计方式,但更重要的是它现在提供真正的面向对象程序设计的能力。借助 Visual FoxPro 的对象模型,可以充分使用面向对象程序设计的所有功能,包括继承性、封装性、多态性和子类。
4、使用优化应用程序的 Rushmore 技术
Rushmore 是一种从表中快速地选取记录集的技术,它可将查询响应时间从数小时或数分钟降低到数秒,可以显著地提高查询的速度。
5、可以与多个开发者一齐工作
如果是几个开发者开发一个应用程序,可以使用 Visual FoxPro 允许同时访问数据库组件的能力。同时,若要跟踪或保护对源代码的更改,还可以使用带有“项目管理器”的源代码管理程序。
6、充分利用已有数据
如果有 Visual FoxPro 先前版本的文件,只要打开他们,就会出现 Visual FoxPro 转换对话框。可以把其他数据源移到 Visual FoxPro 表中,如果有电子表格或文本文件中的数据,比如 Microsoft Excel 及 Word,使用 Visual FoxPro,可以方便地实现数据共享。
7、可以开发客户/服务器解决方案,增强客户/服务器性能 8、多语言编程
15
湖南大学网络学院