第一章 Visual FoxPro数据库基础 本章教学要求:掌握数据库技术的基本概念和特点;VFP的特点和VFP集成开发环境的主要组成部分和功能。 1.1 数据库技术基础 1.2 Visual FoxPro的特点 1.3 Visual FoxPro 集成开发环境简介 1.4 设计器 1.5 工具栏 1.6 命令窗口 1.7 Visual FoxPro系统的配置
1.1 数据库技术基础 1.1.1 数据库技术的发展 随着计算机技术的发展,数据库管理技术也经历了几个不同的发展时期: 1.人工管理阶段 1.1 数据库技术基础 1.1.1 数据库技术的发展 随着计算机技术的发展,数据库管理技术也经历了几个不同的发展时期: 1.人工管理阶段 这是计算机用于数据处理的初期阶段。 其特点是:数据与程序不独立,数据不能在多个程序间共享,数据冗余度大,程序与数据间的关系如图1-1所示。
应用程序1 应用程序n 应用程序2 数据集合1 数据集合n 数据集合2 … 图1-1 人工管理阶段
2. 文件系统阶段 当操作系统包含了文件系统后,人们把数据单独组织成文件进行存取,数据与程序实现了分离,可以以文件为单位进行数据的共享。文件由文件管理系统进行管理和维护,应用程序通过文件系统对数据文件进行访问。 文件系统的主要缺点是: l 文件系统管理下的数据文件实际上是无结构的数据集合,不能反映数据之间的相互联系。 l 数据和应用程序之间有较大的依赖性,一个应用程序所对应的数据文件很难与另一个应用程序共享,数据冗余度大。 l 无统一的管理机构,数据的完整性、安全性和正
在文件系统管理阶段,应用程序与数据文件的关系如图1-2所示。 确性差。 在文件系统管理阶段,应用程序与数据文件的关系如图1-2所示。 … 应用程序1 文件系统 图1-2 文件系统管理阶段 应用程序2 应用程序n 文件1 文件2 文件n
3.数据库管理系统阶段 在数据库管理系统(Database Management System,DBMS)中,数据不再为一个或多个应用程序专用,而是以记录为单位集中进行存储和管理,并能为所有应用程序所共享,在DBMS的统一管理下,对数据库所进行的操作(如打开、读取和写入等)都由DBMS进行,用户只需告诉DBMS需要什么即可,方便了用户,也保证了数据的完整性和安全性。 DBMS的模式如图1-3所示。
即按照一定的数据模型来组织和存放数据(也称数据的结构化),结构化的数据能反映数据与数据之间的 … 应用程序1 DBMS 图1-3 数据库管理系统 应用程序2 应用程序n 数据库 数据库管理系统的主要特点: l 数据集成化 即按照一定的数据模型来组织和存放数据(也称数据的结构化),结构化的数据能反映数据与数据之间的
联系,数据库中的数据不是面向个别应用程序的,而是面向整个系统的,个别应用所需的数据是整个数据集的一个子集。 l 数据的独立性 数据库系统的体系结构一般划分为三个层次(又称为三级模式): 外模式:即数据库用户的数据视图 逻辑模式:是对数据库中全部数据的逻辑结构和特性的描述 存储模式:数据库在物理存储体上存储结构的描述,又称内模式
在访问时这三个层之间需经2次映像转换,如图1-4所示。 应用程序 外模式 逻辑模式 存储模式 数据库 逻辑模式/ 存储模式映像 外模式/ 逻辑模式映像 外模式/逻辑模式映像定义了外模式和逻辑模式之间的对应关系,实现数据的逻辑独立。 逻辑模式/存储模式映像定义了逻辑模式和物理存储间的对应关系,实现数据存储的物理独立。 图1-4
l 数据冗余度小、易于扩充 冗余就是数据的重复。在非数据库系统中,每项应用都有自己的数据文件,因此数据的冗余度大。大量的数据冗余会带来很多问题:浪费存储空间,存取时间长,同一数据在不同的地方多处存储,在操作时很容易引起数据的不一致性(即同一数据在不同的地方具有不同的值)。 绝对不冗余是不可能的,数据库系统也有冗余,在数据库管理系统中,数据是集中管理、统一组织、定义和存储,避免了不必要的冗余,因而也避免了数据的不一致性。
l 具有数据完整性控制措施 数据的完整性是指数据的正确性、有效性和相容性。破坏数据完整性的因素有很多,例如,在数据型字段中出现字母或汉字,日期型字段中出现在13月等,这些错误都会使数据失去完整性,在数据库管理系统中有较完备的检测和控制措施,能保证数据的一致性。 随着计算机应用技术的发展,数据库技术也在不断发展,数据库理论也更加完善,大量关系型数据库管理系统不断推出并在各行各业广泛应用,例如Visual FoxPro、Oracle、Sybase等,随着计算机网络技术和多媒体技术的发展,多媒体数据库和分布式数据库也得到了很快的发展。
1.1.2 数据模型 描述客观事物的数据是有联系的,数据间的联系有两种:一种是记录内部的数据联系,另一种是记录间的数据联系。数据模型是对客观事物及其联系的描述,即数据在数据库中的组织规则,以及对数据所能进行的操作的总和。在数据库的发展史中,主要有三种数据模型: 1. 层次模型(Hierarchical Model) 层次模型是一种树型结构,如图1-5所示,每一个结点是一个记录类型,每一条线表示两个记录类型间的一对多关系,这种关系又称双亲子女子关系(PCR-Parent-Child Relationship)。例如,在图1-5中一个系有多个专业,“系”称为双亲,“专业”称为子女。
l 有且只有一个结点没有父结点,这个结点称为根结点。 层次模型的特点是: l 有且只有一个结点没有父结点,这个结点称为根结点。 l 每个结点可以有多个子女,但其父结点只有一个(根结点外)。 计算机系 计算机应用 … 计算机网络 … 年级1 年级n 年级1 … 年级n 图1-5 层次模型
以记录类型为结点,数据紧密相连,呈现一种网络状结构,如图1-6所示。 2.网络模型(Network Model) 以记录类型为结点,数据紧密相连,呈现一种网络状结构,如图1-6所示。 系 专业 系 教师 专业 教师 学生 图1-6 网络模型 在网络模型中允许有一个以的节点没有双亲,一个节点可以有一个以上的双亲。
3. 关系模型(Relational Model) 关系模型是出现较晚的一种数据模型。它是以严格的数学理论为基础构建数据模型。在关系模型中,数据以二维表的形式存放,这个表就是关系,如表1-1的学生基本信息就是一个关系。 表1-1的学生基本信息 学 号 姓 名 性别 出生日期 CT020801 张志军 男 1980.02.05 CT020802 刘红梅 女 1980.07.18 CT020803 王化凡 1981.01.23 CT020804 李丽萍 1982.09.17 CT020805 谢 勇 1981.08.12
关系模型具有结构简单、数据独立性高、理论严格及描述一致等优点。现在广泛使用的Sybase、Oracle及Visual FoxPro等都是关系模型的数据库管理系统。 Visual FoxPro是美国Microsoft公司开发的新一代的面向对象编程(Object Oriented Programming,OOP)的数据库管理系统。 Visual FoxPro数据库系统改进了原来的数据引擎,从而支持客户/服务器(Client/Server,C/S),提供了事务处理能力,支持数据字典、本地视图、远程视图和NULL值,通过ODBC( Open Database Connectivity,开放式数据库连接)可访问任何其他数据库,是开发C/S客户端应用程序的强大工具。
1.3 Visual FoxPro集成开发环境 简介 Visual FoxPro采用了Rushmore技术,可大幅提高数据库的查询速度。
图1-7 Visual Fox的集成开发环境
1.3.1 项目管理器 一个实际的数据库应用系统通常包含很多内容,如数据库、数据表、表单、报表及程序等,为了把这些内容很好地组织管理起来,这就需要建立一个项目,项目管理器的作用就是管理一个项目。 在Visual FoxPro的集成开发环境中,如果要新建一个项目,可按如下操作步骤进行: 从Visual FoxPro主菜单中点击“文件”菜单,选择“新建”菜单项,然后在“新建”对话框中选择“项目”,如图1-8所示。
点击 图1-8 新建对话框
图1-9 “创建”对话框
图1-10 “项目管理器”
“项目管理器”的“数据”卡负责项目的数据库、自由表和查询等数据内容的管理,如图1-11所示。 1. “项目管理器”的“数据”卡 “项目管理器”的“数据”卡负责项目的数据库、自由表和查询等数据内容的管理,如图1-11所示。 图1-11 “项目管理器”的“数据”卡
“数据”卡的主要组成内容: l 数据库:数据库是表、视图、连接及存储过程等的集合。Visual FoxPro数据库的文件的扩展名为.DBC,一个项目可以包含1个或多个数据库,也可以不包含任何数据库。 l 自由表:不属于任何数据库的表,自由表的扩展名为.DBF。需要时可将自由表加入到数据库中。 l 查询:用来对一个或多个表中的数据进行特定的查询,即从指定的表中按照一定的条件提取所需的数据,查询文件的扩展名是.QPR。 l 视图:也是执行特定的查询,从本地或远程数据源中提取数据,视图本身并不存储数据,视图的数据来一
源于一个或多个数据表,当数据表中的数据发生改变时,视图的数据也相应地会发生变化,在Visual FoxPro中视图不能以独立的文件存在,只能存在于数据库中。 (1)为项目创建新的数据库 在图1-11中,选中数据库,然后点击“新建”按钮,出现“新建数据库”对话框(如图1-12所示),点击“新建数据库”按钮,然后在出现的“新建”对话框中输入数据库名(如学生学籍库.DBC),点击“确定”按钮,即可为项目创建一个数据库,如图1-13所示。 图1-12 新建数据库对话框
图1-13 “学籍管理”项目的“数据”卡
(2)为项目创建新的数据库 可 以把一个已存在的数据库添加到项目中,一个数据库可以属于多个项目,也可以不属于任何项目,将数据库添加到项目的方法:在图1-11中,选中“数据库”,然后点击“添加”按钮,按屏幕提示操作即可。 2. “项目管理器”的“文档”卡 “项目管理器”的“文档”卡负责表单、报表和标签的管理,如图1-15所示
图1-15 项目管理器“文档”卡
“文档”卡的主要组成内容: l 表单:用来设计应用系统的操作界面,可利用“表单设计器”设计表单,表单文件的扩展名是.SCX。 l 报表:报表用于对数据表中的数据进行格式化打印输出,可利用“报表设计器”设计报表,报表文件的扩展名是.FRX。 l 标签:标签也是用于对数据表中的数据进行格式化打印输出,可利用“标签设计器”设计标签,标签文件的扩展名是.LBX。 在”项目管理器”中,数据是分级组织的,可以展开或折叠目录级别。如果在某一项的下面还有其它项,这一项的前面有“+”标识,点击“+”便展开该项目的所有内容,
“并且其前面的“+”标识变为“-”,点击“-”标识,便将该项目折叠。 1.3.2 在项目中新建、修改文件 1. 在项目中新建一个文件 在”项目管理器”中选择要新建的文件类型(如自由表),点击“新建”按钮,屏幕上就会出现新建文件类型所需的设计器(如表设计器)。 2. 在项目中修改一个文件 在”项目管理器”中选择要修改的文件(如表单),点击“修改”按钮,屏幕上就会出现修改文件所需的设计器(如表单设计器)。
1.3.3 在项目中添加、移去文件 在”项目管理器”中,可以将一个已经存在的文件添加到项目中,也可以将一个文件从项目中移去。 1. 在向项目中添加一个文件 在”项目管理器”中选择要添加的文件类型(如自由表),点击“添加”按钮,出现“打开”对话框,在“打开”对话框选择要添加的文件,然后按“确定”按钮即可。 注意:要添加的文件必须是“自由”的,否则会显示错误信息,如图1-16所示。
图1-16“项目错误”信息框
在”项目管理器”中选择要移去的文件(如表),点击“移去”按钮,出现选择对话框,如图1-17所示。 2. 从项目中移去一个文件 在”项目管理器”中选择要移去的文件(如表),点击“移去”按钮,出现选择对话框,如图1-17所示。 图1-17 “移去”选择对话框
在图1-17中,若点击“移去”按钮,只是把文件从项目中移去,文件在磁盘中仍然存在,若点击“删除”按钮,把文件从项目中移去的同时,也把文件从磁盘中删除,若点击“取消”按钮则是取消这次“移去”操作。 1.3.4 编辑“项目信息” 每个项目都有一个说明性文件,它记载了“项目”的作者、路径、所含的文件和服务器的信息等。 要编辑“项目信息”可按如下步骤操作: 打开“项目管理器”,点击主菜单中“项目”菜单,选择“项目信息”菜单项,屏幕上出现“项目信息”编辑对话框,如图1-18所示,在其中编辑输入有关项目信息。
图1-18 “项目信息”对话框
1.3.5 定制自己的 “项目管理器” 在Visual FoxPro的集成开发环境中,“项目管理器”是作为一个独立的窗口存在的。用户可根据自己的需要移动它的位置、改变它的大小,也可以将它折叠或打开。 点击此处 折叠/展开 项目管理器
1.4 设计器 Visual FoxPro为用户提供了多种设计器,使用户在设计一个数据库应用系统时非常方便,绝大部分工作都可在这些设计器中实现,Visual FoxPro为用户提供的设计器主要有: 1. 数据库设计器 建立数据库,为数据库中的表建立关系,数据库设计器如图1-22所示。
图1-22 数据库设计器
创建、修改数据表,建立索引,设置表字段显示形式及有效性规则,表设计器如图1-23所示。 2. 表设计器 创建、修改数据表,建立索引,设置表字段显示形式及有效性规则,表设计器如图1-23所示。 图1-23 表设计器
创建和修改表单及表单集,表单设计器如图1-24所示。 3. 表单设计器 创建和修改表单及表单集,表单设计器如图1-24所示。 图1-24 表单设计器
创建和修改数据报表,报表设计器如图1-25所示。 4. 报表设计器 创建和修改数据报表,报表设计器如图1-25所示。 图1-25 报表设计器
1.5 工具栏 Visual FoxPro很多常用的命令都可以通过直接点击工具栏上的按钮实现,通过工具栏操作与通过菜单操作是一样的,只是通过工具栏操作更方便快捷,Visual FoxPro常用工具栏如图1-26所示。 若用户想只显示指定的工具栏,可按如下步骤操作: 从“显示”菜单中先选择“工具栏”,屏幕上出现“工具栏”对话框(如图1-27所示),在该对话框中选择要使用的工具栏,选择好后按“确定”按钮即可。 图1-26 Visual FoxPro常用工具栏
图1-27 “工具栏”对话框
1.6 命令窗口 命令窗口(如图1-28所示)为用户提供了一个输入Visual FoxPro命令的界面,是用户在开发和调试应用程序时经常要用到的一个窗口。 图1-28 命令窗口
1.7 Visual FoxPro系统的配置 当Visual FoxPro完成后,采用缺省的系统配置,配置参数决定了Visual FoxPro的外观和行为,如Visual FoxPro系统所用文件的默认位置、临时文件的存放位置、日期与时间的格式等,若用户认为系统缺省配置不够理想,也可以自己进行系统配置。 对Visual FoxPro配置所做的更改既可以是临时的,也可以是永久的。如果是临时的设置,那么这些设置保存在内存中,退出Visual FoxPro时自动释放;如果是永久设置,那么这些设置将保存在Windows的注册表中,当启动Visual FoxPro时,读取注册表中的这些配置并根据这些配置进行设置。
要对Visual Fox系统Pro进行配置,可使用系统提供的“选项”对话框进行配置,操作步骤如下:
图1-29 “选项”对话框
在“选项”对话框中共有12选项卡: l 显示:选择界面形式,例如是否显示状态栏、时钟或系统信息等。 l 常规:设置数据输入和程序设计选项,例如设置警告声音、是否记录编译错误、是否与dBASE兼容以及用什么定位键等。 l 数据:对数据库进行设置,例如是否以独占方式打开表、是否使用Rushmore优化、备注块的大小等。 l 远程数据:与远程数据库的连接选项,例如连接超时限定值、每次取的记录数以及如何使用SQL更新。 l 文件位置:设置文件的位置。 l 表单:表单设计器选项,例如网格的大小、所用度量单位以及最大设计区等。
l 项目:项目管理器选项,例如是否提示使用向导、双击操作时是运行或是修改选定文件。 l 控件:控件在“表单控件”工具栏中的“查看类”按钮所提供的有关可视类库和Active X控件选项。 l 区域:时间、日期、货币格式选项。 l 调试:调试窗口选项。 l 语法着色:编辑窗口的不同元素(注释、关键字等)的字体和颜色。 l 字段映象:设置不同字段编辑控制的编辑模式。 在图1-29中设置系统配置后,选择“确定”是临时设置,选择“取消”是取消当前设置,选择“设置为默认值”为永久设置。