VFP关系数据库入门.ppt
1,第2讲 Visual FoxPro 关系数据库入门,2.1 Visual FoxPro 系统概述,2.4 Visual FoxPro 应用系统开发的基本步骤,2.2 Visual FoxPro 的主要文件类型及创建工具,2.5 Visual FoxPro 数据库设计,2.3 Visual FoxPro 的数据类型,2.6 Visual FoxPro 的启动与退出,2,2.1 Visual FoxPro 系统概述,2.1.1 历史沿革 VFP起源于Xbase 微机数据库系列。(1)1981年,美国 Ashton-Tate 公司推出dBASEII 微机关系数据库产品。(2)1884年,美国Fox software 公司推出FoxBASE,性能比dBASE 先进。(3)1989年,Fox software 公司推出 FoxPro 1.0,以后不断升级,性能不断改进。(4)1992年,微软兼并 Fox software 公司(5)1995年,推出面向对象的数据库Visual FoxPro 3.0,1997年,推出Visual FoxPro 5.0,1998年推出Visual FoxPro 6.0(目前已经推出Visual FoxPro 8.0,9.0 等新版本),返 回,3,1.采用可视化操作界面、面向对象的程序设计方法。Visual FoxPro提供了多种可视化编程工具,利用面向对象技术,通过重复使用各种类,可以直观地建立数据库应用程序。2.功能强大的项目和数据库管理。Visual FoxPro可以对项目和数据进行很强的控制,能够使用源代码管理产品,同时可以在项目管理器中看到组件的状态。利用项目管理器,用户可以完成一个应用系统全部开发工作并实现可视化管理。3.大量使用可视化的界面操作工具。往常,设计应用程序的界面时要耗费设计人员的大量精力和时间,而Visual FoxPro 提供有三类界面操作工具:向导、设计器和生成器,其数量达40多种。这些操作工具均采用图形界面,使用户能够以简单的操作完成各种设计任务,提高应用程序开发的生产率。,返 回,2.1.2 Visual FoxPro的主要特点,4,5.强大的网络功能。Visual FoxPro可以用于单机环境,但更重要的是它适用于网络环境。,返 回,4.提供OLE技术实现应用集成。OLE(Object Linking and Embedding,对象链接与嵌人)是Microsoft公司开发的一项重要技术。,6.可以直接使用SQL进行操作和编程 Visual FoxPro不仅有自己的一套语言系统,可以进行各种操作和编写程序,而且可以直接使用国际标准化组织(ISO)推荐的“SQL”(结构化查询语言的缩写)进行操作和编写程序。由于SQL具有通用性和简洁性,使用SQL可以显著提高操作和编写程序的效率。,5,2.2 Visual FoxPro 的主要文件类型及创建工具,2.2.1 主要文件类型1.项目文件(Project)是用户为所开发的应用软件系统建立的文件。它的扩展名为.pjx。2.数据库(Database)数据库是应用系统所有数据的管理中心。是项目文件建立后第二个必须建立的重要文件。其扩展名为.dbc。3.表(Table)表即为存放具体数据的二维表。其扩展名为.dbf。Visual FoxPro的表分为两种:数据库表和“自由表”。,图2-1 主要文件类型,返 回,6,4.视图(View)视图是一个定制的虚拟表或逻辑表,它是有一个已经存在或多个相关的数据表根据需要组织起来的查看数据表的一个窗口,通过它不仅可以查看表中感兴趣的内容,而且可以更新表的数据。视图分为本地视图和远程视图。5.查询(Query)从指定的表或视图中快速地筛选出需要的记录,为报表或表单组织信息,或用查询结果创建新的表和图形,是以文件形式存在磁盘上,其扩展名是.qpr。6.表单(Form)表单是应用系统最主要的操作界面,是最体现面向对象程序设计的思想和方法的工具。表单又是实现各种操作功能的“窗口”,如数据的输入、维护、查询、报表打印等。Visual FoxPro面向对象的程序设计主要是各种表单的设计。其扩展名是.scx。7.报表(Report)报表是Visual FoxPro最重要的打印输出文件,也是一个应用系统设计的重要部分。实际管理工作中需要打印各种报表。报表文件的扩展名为.frx。,返 回,7,8.标签(Label)标签是类似“名片”形状的打印输出方式。即表中的每一条记录分别作为一个输出单元。每张纸可以打印若干个“标签”。标签文件的扩展名为.Lbx。9.程序(Program)程序即命令文件。扩展名为.prg。在面向对象的程序设计中,需要编写的程序文件不多了。绝大部分都由可视化表单代替。但是掌握程序设计的基本结构和方法,仍是系统开发的基本功。10.菜单(Menu)菜单能够表示应用系统功能并通过它调用各种程序和表单等,菜单文件的扩展名为.mnx。Visual FoxPro的文件还包括一些其他类型的文件。如可执行文件(.exe)和应用程序文件(.app)等。,返 回,8,2.2.2 向导、设计器、生成器简介1.向导向导是一种交互式程序。即一系列的对话框。用户在向导的指引下,通过选择或输入适当参数,系统即可直接生成相应的文件。向导自动生成的文件(表单、报表等)往往具有局限性,如果用户不满意,可以在相应的设计器中进行修改。2.设计器设计器就是创建和修改应用系统各种组件的“可视化工具”(即窗口和对话框)。系统提供了许多设计器。利用各种设计器使得创建和修改表、表单、数据库、查询和报表变得轻而易举,3.生成器生成器是带有选项卡的对话框,用于简化对表单、复杂控件和参照完整性代码的创建和修改过程。每个生成器显示一系列选项卡,用于设置选中对象的属性。可使用生成器在数据库表之间生成控件、表单、设置控件格式和创建参照完整性。,返 回,9,2.3 Visual FoxPro的数据类型,(1)字符型:简称C型,是默认的数据类型。一个字符型字段最长为255个字符。用户可按需要确定宽度。(2)货币型:简称Y型。货币单位,如价格。宽度为8,自动取4位小数。(3)数值型:简称N型。整数或小数,如考试分数。需要用户确定其宽度。最多可以有20位数字(包括小数点)。(4)浮动型:简称F型。整数或小数,如考试分数。需要用户确定其宽度。与数值型相似,最多可以有20位数字(包括小数点)。(5)日期型:简称D型。表示年月日,如出生日期等,标准宽度为8个字符长度。(6)日期时间型:简称T型。表示年月日和时分秒,标准宽度为8个字符长度。,图2-2 数据类型,返 回,10,(7)双精度型:简称B型,宽度为8,自动取6位小数。一般用于精度要求很高的数据。(8)整型:简称I型,宽度为。只能取整数。(9)逻辑型:简称L型。只有两个值,真(.T.)或假(.F.),标准宽度为1。(10)备注型:简称M型。存放不定长文本,如个人简历等。标准宽度度为4。(11)通用型:简称G型。存放任意文件,如电子表格、图片、照片等,标准宽度为4。,返 回,11,2.4 Visual FoxPro应用系统开发的基本步骤,根据结构化系统开发思想和方法,一个数据库应用系统的开发步骤如下。1.系统需求分析 确定开发项目,进行实地调查,明确用户需求。2.数据库设计根据用户需求进行数据库设计。3.系统功能分析与设计 用结构化系统分析和设计方法,进行系统功能分解和设计。以上三个步骤属于系统分析和设计阶段。下面的步骤属于系统实施阶段。4.创建项目和数据库 按照设计方案创建项目和数据库、表的结构,同时输入若干用于程序调试的数据。5.报表设计 按照用户的需要设计打印报表和标签。,返 回,12,6.编写主程序和建立系统菜单 在学习和掌握程序设计思想和方法的基础上设计应用系统的主程序和系统菜单,搭建系统的框架。7.设计系统的主要操作界面表单 运用面向对象程序设计方法,设计应用系统的操作界面表单。这是系统程序设计工作量最大的部分。8.连编项目程序和创建系统安装盘 将以上步骤完成的所有文件进行连接编译,形成系统的可执行文件(.exe),然后利用安装向导制作系统的安装盘。,返 回,13,2.5 Visual FoxPro数据库设计,2.5.1 数据库设计的原则进行数据库设计时,需要遵循以下主要原则:(1)概念单一化、“一事一地”的原则所谓概念单一化,“一事一地”的原则是指:让一个关系描述一个概念,一个实体或者实体之间的一种联系。(2)避免在表中间出现重复字段例如,在学生表中已经存在的姓名、性别等字段,在成绩表中就不必再出现了,而只需保留一个“学号”作为两个表联系的“公共字段”。(3)表中的字段必须是原始数据和基本数据元素表中不应该包括通过计算可以得到的属性或多项数据的组合。例如在“学生表”中,已经有“出生日期”字段,就不必再有“年龄”字段,因为“年龄”可以通过“出生日期”计算出来。(4)用外部关键字保证有关联的表之间的联系。表之间的关联依靠外部关键字来维系,使得表具有合理结构。,返 回,14,2.5.2 数据库设计的步骤可以按照以下步骤设计数据库。1需求分析了解管理需求,确定数据库应保存哪些信息。用户需求主要包括三个方面(1)信息需求;(2)处理需求;(3)安全性及完整性要求。在进行需求分析时应该与用户充分交流,细致耐心地了解业务处理流程,尽可能收集所有基础资料。如报表、合同、档案、原始单据等。2确定需要的表根据系统存在的实体及他们之间的联系,确定需要建立哪些表。一般每个实体都要建立一个表,存储它的相关信息。实体之间的联系也要建立一个表。,返 回,15,3确定所需字段确定每个表中需要保存哪些字段,应包括实体的主要属性。确定字段时要同时确定字段的四个要素:即字段名、数据类型、宽度,如果是数值型字段,还要确定小数位数。需要确定每个表的主关键字。4确定联系一般通过主关键字和外部关键字建立联系的。5设计求精对设计进一步分析,找出其中的错误,改正;创建表,并输入一些示例数据,看是否可以的到预想的结果,必要时进行修改。,返 回,16,2.5.3“教学管理系统”数据库设计案例1需求分析2确定需要的表(1)xsb(学生表):存放学生的基本信息;(2)kcb(课程表):存放课程的基本信息;(3)zyb(专业表):存放各专业的基本信息(4)czy(操作员):存放教学管理系统操作人员的姓名和密码(5)cjb(成绩表):存放每个学生各门课程的期末考试成绩;(6)bkb(补考表):存放期末考试不及格同学的补考成绩;(7)lsb(临时表):在输入课程考试和补考成绩时作为中转表用。以上7个表,就是“教学管理系统”数据库中的全部表。,返 回,17,3代码设计本系统代码的设计方案是:学号:用8位数字表示。从结构可以看出,学号是本系统最重要的代码,其中包含了多种信息和其他对象的代码。(2)课程号:用4位数字表示每门课程的编号。如:1001代表高等数学。(3)专业号:用3位数字表示每个专业的编号。学号中的3,4,5位即是该学生所在专业的代码。,返 回,如:10013101,18,4确定表的字段(1)学生表(xsb),存放学生的基本数据,相当于学校的学生档案。但是其内容做了精简。见下表。,返 回,说明:学号为主关键字,其索引为主索引 一个表结构的总宽度(即该表一条记录占用的存储空间的总字节数),等于所有的字段的宽度之和加1。后一个字节用来存放该条记录的删除标记。,19,使用关系模式的描述方法,sxb的结构也可以写为:Xsb(学号 C(8),姓名 C(8),性别 C(2),专业 C(12),出生日期D,高考分数N(3,0),团员 L,简况M,照片G)比较而言,表格形式的结构方便用交互方法建立表的结构,关系模式描述则简洁和方便用SQL命令直接创建表的结构。(2)课程表(kcb)包括:课程号、课程号、学分、先修课程四个字段。(3)专业表(Zyb),包括:专业号、专业名、科类、学制、学位五个字段。(4)操作员表(Czy),包括:姓名、密码两个字段(5)成绩表(Cjb),包括:学号、课程号、学期、成绩四个字段。(6)补考表(Bkb),结构同成绩表。(7)临时表(Lsb),结构同成绩表,起中转作用。,20,5.确定联系分析教学管理系统数据库的表,除操作员表为独立表之外,其余六个表之间都存在一定联系。它门组成了“教学管理系统”关系数据库模型,如图2-4所示。,返 回,21,2.6 Visual FoxPro的启动与退出,2.6.1 Visual FoxPro的启动进入Visual FoxPro 6.0 的三种途径:(1)从“开始”菜单中的“程序”菜单进入。(2)在桌面上用Visual FoxPro 6.0的快捷方式进入。(3)双击Visual FoxPro 6.0 文件图标进入。2.6.2 Visual FoxPro的用户界面Ctrl+F4隐藏命令窗口,Ctrl+F2显示命令窗口系统提供的工具栏可以修改,不能删除;可以创建或删除自已的工具栏,返 回,22,2.6.3 Visual FoxPro的三种工作方式Visual FoxPro有三种工作方式:(1)菜单/工具栏方式:利用菜单或工具栏进行操作。这种方式最简单。(2)命令方式:在命令窗口直接输入命令进行交互式操作。这种方式需要学习和记忆相关命令和语法。(3)程序方式:利用各种生成器自动产生程序,或者自己编写程序,然后执行程序。2.6.4 Visual FoxPro的退出Visual FoxPro有四种退出方法:(1)单击标题栏右端的关闭按钮。(2)在“文件”菜单中选择“退出”。(3)单击标题栏左端的狐狸头图标,从显示的下拉菜单中选择“关闭”。(4)在命令窗口键入命令:QUIT,并按回车键。,返 回,23,课后阅读及作业,(1)阅读教材第2讲。(2)完成本讲的习题。(3)预习上机实验指导书中的绪论,即“教学管理系统的分析和设计”部分。,返 回,