Visual FoxPro数据库程序设计课后习题参考答案及解析Word文档格式.docx
- 文档编号:22053962
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:23
- 大小:35.27KB
Visual FoxPro数据库程序设计课后习题参考答案及解析Word文档格式.docx
《Visual FoxPro数据库程序设计课后习题参考答案及解析Word文档格式.docx》由会员分享,可在线阅读,更多相关《Visual FoxPro数据库程序设计课后习题参考答案及解析Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
D
本题考查的知识点是数据库系统的组成。
本题需要记忆。
在VisualFoxPro中,数据库系统由计算机硬件系统、数据库集合、数据库管理系统、相关软件、数据管理员(用户)。
第二节关系数据库
数据库管理系统支持的数据模型有3种:
层次模型、网状模型和关系模型。
层次模型是指用树形结构表示实体及其之间联系的模型,网状模型是指用网状结构表示实体及其之间联系的模型,关系模型是指用二维表结构表示实体及其之间联系的模型。
本题考查的知识点是数据库管理系统中的关系的基础知识。
在VisualFoxPro中,一个关系就是一个二维表。
掌握了这一点,很容易将选项C选出来,选项A,B,D对关系的描述都不正确。
A
本题考查的知识点是关系统模型的概念。
用二维表的形式表示实体和实体间联系的数据模型即为关系模型;
选项B应该是数据模型的概念,而不是数据管理系统的概念。
数据库的术语与关系模型的术语的对应关系如下:
字段/数据项—属性,记录—元组,记录类型—关系模式,字段值—属性值,文件—关系/实例,实例与关系为同一个概念,均为关系模型术语。
专门的关系运算包括选择、投影、联接等。
关系R上的投影是从R中选择出若干属性列组成新的关系。
投影操作是从列的角度进行的运算。
其它专门的关系运算不能完成形成新关系的操作。
第三节数据库设计基础
一般将整个数据库应用系统的开发分解成目标独立的若干个阶段,分别是需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段及维护完善阶段。
数据库设计涉及上面各阶段中的前4个阶段,并且重点以数据库结构与模型的设计为主线。
数据库应该具有物理独立性和逻辑独立性,改变其一不会影响另一个。
在E-R图中,实体集用矩形表示,属性用椭圆形表示,实体之间联系用菱形表示。
第二章VisualFoxPro系统初识
第一节VisualFoxPro的安装与启动
VisualFoxPro是Microsoft公司1998年发布的可视化编程语言集成包VisualStudio6.0中的一员。
是可运行于WindowsXP、WindowsNT平台的32位数据库开发系统。
退出VisualFoxPro有四种方法,第一种用鼠标单击标题栏最右面的关闭窗口按钮。
第二种从“文件”菜单中选择“退出”选项。
第三种单击主窗口左上方的狐狸图标,从窗口下拉菜单中选择“关闭”,或者按Alt+F4键。
第四种在命令窗口中键入QUIT命令,然后回车。
单击“文件”菜单中的“关闭”命令只能用来关闭VisualFoxPro中打开的对象,并不能退出系统。
本题考查的是VisualFoxPro的命令,clear命令是清除显示区的内容;
dir命令将在显示区显示当前目录下表的信息。
quit命令是退出VisualFoxPro系统;
exe不是VisualFoxPro的命令。
第二节VisualFoxPro的主界面介绍
B
VisualFoxPro中有两种工作方式:
交互操作方式和程序执行方式。
其中交互操作方式包括命令方式和菜单方式。
本题考查的是显示和隐藏命令窗口的几种不同操作,其方法有3种:
一是单击常用工具栏中的“命令窗口”按钮;
二是单击“窗口”菜单项中的命令“命令窗口”(相当于快捷键Ctrl+F2);
三是通过快捷键的方式Ctrl+F2显示命令窗口,Ctrl+F4隐藏命令窗口。
第三节VisualFoxPro的工具栏
显示常用
在VisualFoxPro中打开常用工具栏的操作是:
单击“显示”菜单中的“工具栏”命令,打开“工具栏”对话框,选择“常用”,并单击“确定”按钮。
第四节项目工具栏
VisualFoxPro的“全部”选项卡用于显示该项目中的所有文件,包括数据、文档、类库、代码和其它几个分支。
“项目管理器”下有“全部”、“数据”、“文档”、“类”、“代码”、“其它”六个选项卡。
其中的“文档”选项卡包含了处理数据时所用的3类文件,即输入和查看数据所用的表单、打印表和查询所用的报表及标签。
解析:
数据库表文件的扩展名是dbf,表单文件的扩展名为scx,数据库文件的扩展名为dbc,项目文件的扩展名为pjx。
数据文档其它
在VisualFoxPro中,项目管理器窗口是VisualFoxPro开发人员的工作平台,可用来设计和管理VisualFoxPro的各种文件类型,共有6个选项:
全部、数据、文档、类库、代码和其它。
代码
在“代码”选项卡下,包括3大类程序,扩展名为prg的程序文件、函数库和应用程序文件(扩展名为app)。
因此要建立命令文件(程序)可以在“代码”选项卡下操作。
第五节向导、设计器、生成器
向导是一种交互式程序,用户根据提示在一系列对话框中回答问题或者选择选项,向导会根据用户的操作生成文件或者执行任务,帮助用户快速地完成一般性任务。
设计器是创建和修改应用系统各种组件的可视化工具。
生成器是带有选项卡的对话框,用于简化对表单、复杂控件和参照完整性代码的创建和修改过程。
项目管理器是VisualFoxPro中处理数据和对象的主要工具,它为系统开发者提供了极为便利的工作平台。
启动VisualFoxPro向导的方法有三种:
单击“文件”→“新建”,弹出“新建”对话框,选中要创建的“文件类型”,单击“向导”按钮。
即可启动相应的向导;
通过“工具”菜单中的“向导”子菜单中的命令;
单击工具栏上的“向导”按钮。
参照完整性生成器有三种显示情况:
在数据库设计器中双击两个表之间的关系线,然后在“编辑关系”对话框中选择“参照完整性”按钮;
鼠标右击数据库设计器窗体,从快捷菜单中选择“编辑参照完整性”选项;
选择“数据库”菜单中的“编辑参照完整性”选项。
第三章数据类型与数据运算
第一节常量
SETCENTURYON设置日期型或日期时间型数据中的年份用4位数字显示,SETCENTURYOFF设置日期型或日期时间型数据中的年份用2位数字显示。
所以本题正确答案为A。
日期型常量用来表示日期,其表示方式用定界符(一对花括号)将日期括起来,定界符内包括年、月、日3部分,各部分之间用斜杠(/)、连字号(-)、句点(.)或空格中的任意一种分隔符隔开,本题各选项的书写格式采用了严格日期的书写格式,即:
{^yyyy-mm-dd},大括号内第一个字符必须是脱字符(^),年份必须用4位表示,年月日的顺序不能颠倒。
故正确答案为C。
字符型常量是用双引号,单引号或方括号中任意一种定界符,将中文或西文字符括起来的一串字符,所以A和C都是正确的,使用字符串时还要特别注意,如定界符为字符串一部分时,必须用其它的定界符定界。
所以答案D也是正确的,很容易可以看出B是错误的书写格式,所以选择B。
数值型常量也就是常数,用来表示一个数量的大小,由数字0~9、小数点和正负号构成。
为了表示很大或很小的数值型常量,也可以使用科学计数法形式写,如5.878E12表示5.878×
1012,所以6E-12是一个数值常量。
字符型常量也称为字符串,其表示方法是用半角单引号、双引号或方括号把字符串括起来。
这里的单引号、双引号或方括号称为定界符。
字符常量的定界符必须成对匹配,不能一边用单引号而另一边用双引号。
如果某种定界符本身也是字符串内容,则需要用另一种定界符为该字符串定界。
所以选项B属于常量。
数值型常量也是常数,用来表示一个数量的大小,由数字0~9、小数点和正负号构成。
为了表示很大或很小的数值型常量,也可以使用科学计数法形式书写,所以选项C属于常量。
日期型常量有严格的日期和传统的日期两种格式,其定界符是一对花括号。
严格的日期格式为{^yyyy-mm-dd}这种格式的日期常量在书写时要注意花括号内第一个字符必须是脱字符(^);
年份必须是4位;
年月日的次序不能颠倒、不能缺省。
所以选项D属于常量。
所以正确答案选A。
第二节变量
选项A和B使用错误格式为两个变量赋值,所以均不正确;
选项C正确,它表示将5赋给a,b,c三个变量,符合要求;
选项D错误“5,6,7”不是正确的表达式书写格式。
所以本题正确答案为C。
本题使用DECLARE命令创建了一个二维数组,数组中元素数量计算方法:
一维数组:
元素数量=下标上限
二维数组:
元素数量=下标上限1×
下标上限2
所以本题中的二维数组的数组元素个数为:
2×
3=6,正确答案为D。
在程序中我们可直接通过变量名引用变量的值,但如果当前打开的表中有与变量同名的字段名,此时用M.变量名引用该变量,而字段名可直接引用,所以系统优先处理字段变量,因此该题选择B。
vfp定义了6种内存变量:
字符型、数值型、逻辑型、日期型、日期时间型,不包括备注型,所以此题选择C。
第三节表达式
{^YYYY-MM-DD}是一个标准的日期型数据格式。
选项A用来求出两个日期时间相差的秒数;
选项B表示对给定日期求10天后的日期;
选项D用于求出两个日期相差的天数,这些都是合法的日期时间表达式,只有选项C书写是不合法的,所以本题答案为C。
数据运算表达式的运算对象都是数值型数据,运算之后的结果仍是数值型数据,字符串运算符的运算对象都是字符串,运算之后的结果是一个新的字符串,日期时间运算符的运算结果是日期时间型数据或者是一个整数,只有关系运算的结果是逻辑型数据。
所以此题的正确答案为C。
3、答案B
逻辑型数据只有逻辑真和逻辑假两个值。
逻辑真的常量表示形式有:
.T.、.t.、.Y.、.y.,逻辑假的常量表示形式有.F.、.f.、.N.和.n.,所以选项B不是逻辑值。
第四节函数
表达式LEN("
新视野"
)的功能是返回字符串“新视野”的长度,每个汉字长度为2,外层函数LEFT的功能则是从字符串“”的前端取6个字符组成一个新的字符串,即返回值为:
“”。
此题考查VisualFoxPro中表达式运算及函数。
函数vartype的作用为返回一个表达式的数据类型,而表达式“6<
5”的结果为逻辑型,所以返回值为“L”,正确答案为C。
此题考查BOF()函数的功能,该函数用来判断记录指针是否移到表的起始处(文件首),当前记录指针指在第一条记录上,而不是第一条记录前面的位置,所以返回值为.f.。
所以答案C是正确的。
DATE()函数用来返回当前系统日期,返回值是日期型数据;
TIME()函数用来返回当前系统时间,返回值是字符型数据,注意在VisualFoxPro中没有时间型数据;
YEAR()函数返回给定日期的年份,返回数值型数据;
DATETIME()函数返回当前系统的日期时间,返回日期时间型数据。
所以正确答案为B。
第四章VisualFoxPro数据库及其操作
第一节VisualFoxPro基本概念及其建立
dct是数据库备注文件,dcx的是数据库索引文件,idx是单独索引文件,dbc是数据库文件。
USE命令一般用来打开表,打开数据库的命令是OPENDATABASE<
数据库名|?
>
。
在VisualFoxPro中,可以通过CREATEDATABASE<
新建一个数据库文件。
第二节数据库表
MODIFYSTRUCTURE
在VisualFoxPro中,修改表结构的命令是MODIFYSTRUCTURE,如果在当前工作区没有打开数据表文件,应该先用USE命令打开。
逻辑型
定义字段有效性规则时,“规则”是逻辑表达式,“信息”是字符串表达式,“默认值”的类型则视字段的类型而定。
在VisualFoxPro中NULL不等于0也不等于“”,表示还没有确定值。
第三节表的相关操作
ZAP是清空表记录,表结构仍然存在。
AND是与运算,OR是或运算。
CHANGE命令用于交互对当前的表进行编辑、修改。
SKIP命令用于向前向后移动若干条记录位置;
使用LOCATEFOR执行后将记录指针定位在满足条件的第一条记录上,如果要使指针指向下一条满足条件的记录,使用CONTINUE命令;
GO是直接记录号定位。
第四节索引
候选索引惟一索引普通索引主索引
在VisualFoxPro中的索引分为候选索引、惟一索引、普通索引和主索引,INDEX命令只能创建前三种索引。
主关键字或候选关键字
主索引或候选索引都是通过主关键字或候选关键字来要求字段值的唯一性,决定处理记录的顺序。
实体
实体完整性要求每一个表中的主键字段都不能为空或者重复的值。
建立索引的一般格式为:
INDEXON表达式TAG索引名[UNIQUE|CANDIDATE],CANDIDATE是指明建立候选索引。
在VisualFoxPro中结构索引在打开表的时候自动打开,要指定特定索引的命令是:
SETORDERTO<
索引名>
第五节数据完整性
域完整性主要用于数据输入正确性的检验;
实体完整性是保证记录唯一性;
参照完整性是指表之间的关联。
更新规则中“级联”要保证参照完整性规则。
建立“参照完整性规则”,必须建立表之间的联系。
第六节自由表
自由表不能给表中的字段定义有效性规则和默认值。
自由表不支持表间联系和参照完整性。
第七节多个表的同时使用
在VisualFoxPro中默认的工作区号是1,没有指定工作区的,实际都是在第1个工作区打开表和操作表。
在VisualFoxPro中默认的工作区号是1,如果指定为0,表示选择编号中最小的未使用的工作区。
永久关联和关联中父表和子表都需要索引。
永久关联不能控制不同工作区中记录指针的关系,关联中子表的记录指针会随着父表的记录指针的移动而移动。
第八节排序
SORT是一种物理排序的命令,它可以将表中的记录按物理顺序重新排序。
第五章关系数据库标准语言SQL
第一节SQL概述
SQL语句是结构化查询语言StructuredQueryLanguage的缩写。
SQL语言是一种高度非过程化的语言,而不是过程化语言,它没有必要一步步告诉计算机“如何”去做,而只需要描述清楚用户要“做什么”,SQL语言就可以将要求交给系统,自动完成全部工作。
由于VisualFoxPro自身在安全控制方面的缺陷,它只支持SQL的数据定义、数据查询和数据操纵功能,并没有提供数据控制功能。
第二节数据查询
SELECT查询命令包含很多功能各异的子句选项,但最基础的格式通常为:
SELECT…FROM…WHERE。
其中SELECT用于选择查询结果要显示的目标列表,FROM用于列出查询要用到的所有文件,WHERE则用于指定查询结果的筛选条件。
在SQL的运算符中,BETWEEN和AND一般是连用的,表示“在…之间”,如果使用NOT,则表示的意思刚好相反。
在SQL中,=“NULL”表示和NULL值进行比较,使用关键字“ISNULL”判断字段是否为空。
SQL语句的ORDERBY子句用于指定排序的字段,如果指定了多个字段,则按从左到右依次排序。
第三节数据操作功能
SQL的操作功能是指对数据库中的数据操作功能,主要包括数据的插入、更新和删除,它不能新建一个数据表,新建数据表属于SQL的定义功能。
SQL中的INSERT命令每次只能在表末尾插入一条记录,相当于APPENDBLANK。
其中APPENDBLANK只能追加一条空记录,而INSERT可以将记录值同时追加到表中。
SQL的数据操作操作功能有插入(INSERT)、更新(UPDATE)和删除(DELETE)3种,如果要修改表中数据,可使用更新数据的功能对记录进行修改。
ALTER属于SQL的定义功能,一般用来新建、修改或删除数据表结构。
在使用SQL的删除命令时,根据WHERE短语删除指定满足条件的记录,如果不使用WHERE短语,则表示删除表中的所有记录,此处删除记录同样是对表中的记录进行逻辑删除,即打上删除标记,如果要物理删除表中的记录,还需要使用PACK命令。
第四节数据定义功能
在没有打开的数据库前提下创建了自由表,可以定义字段的名字、类型、字段宽度、允许空值或非空值、候选索引,不可以定义表的主索引、默认值约束、建立多表的联系即外键、CHECK约束等。
删除表中属性用短语DROP,而DELETE用于删除表中记录。
选项A是新建表命令,选项B是修改表中的己有字段,选项C是修改表的字段名,选项D是有效性规则和默认值定义。
第六章查询与视图
第一节查询
在查询设计器中,“杂项”选项卡可以指定在查询结果中是否包含重复记录(对应于DISTINCT),及在前面的记录(对应于TOP短语)等。
运行查询的命令是DOQueryFile,QueryFile是查询文件名,注意此时必须给出查询文件的扩展名.qpr。
查询以扩展名为.qpr的文件保存在磁盘上的,这是一个文本文件,它的主体是SQLSELECT语句,另外还包含与输出定向有关的语句。
第二节视图
视图设计完后,在磁盘上找不到相应文件,视图的结果是保存在数据库中的。
“查询”和“视图”的区别之一是:
“视图”是可以更新的,所以需要对它设置更新属性,为此在“视图设计器”中多了一个“更新条件”选项卡。
视图可以用来更新数据表中的数据,因此视图设计器比查询设计器多了“更新条件”选项卡,默认是更新“全部表”的数据。
如果要指定更新某个表的数据,可在此选项卡中的“表”下拉列表框中选择表。
在VisualFoxPro中,视图基于数据库中的基本表或视图而存在,因此使用命令打开视图时,首先要打开包含表的数据库。
视图是不可以单独存在的,它存在于打开和关闭数据库之间的一个活动周期内,其结果只存放于数据库中。
第七章程序设计基础
第二节程序文件的建立、修改于执行
执行MODIFYCOMMAND<
文件名>
,如果文件存在,则打开修改;
否则就新建一个程序文件。
INPUT命令可接受用户随机输入的任何类型的数值,包括数值型、字符型、逻辑型、日期型和日期时间型数据,其数据的形式可以是常量、变量、函数和表达式,如果是字符串型数据,则必须使用定界符界定,输入完毕按回车键结束;
ACCEPT只能接受字符型数据,输入的字符串不需要加定界符,输入完毕后按回车键结束;
WAIT暂停程序执行,直到用户按任意键或单击鼠标。
WAIT命令仅能接受输入单个字符,且不需要定界符,输入完毕不需要按回车键,程序自动向下运行。
第三节程序的基本结构
要注意带的是“==”和“=”的区别。
“==”是比较运算,“=”是赋值运算。
当程序运行时给变量s的值时“ni”,所以“s=="
ni"
”的值为假,“s="
”是赋值运算,表达式成立,值为真。
所以结果是“three”。
此程序通过x%10后x/10来取x从个位上开始向左各个位上的数,通过
“y=x%10+y*10”得到数字“34567”的反向后的结果“76543”。
程序查找名称字段中首汉字为“电”,尾汉字为“线”的记录,第一次执行第一条记录满足SCAN中的FOR条件,但循环体中不满足IF条件,所以执行下一次循环,记录指针自动指向第二条记录,再次判断SCAN中的FOR条件,条件不满足退出SCAN循环,执行ENDSCAN后的语句,这时记录指针自动指向下一条记录,即第三条记录。
所以输出结果为第三条记录名称字段的值“电话线”。
第四节多模块程序设计
形参的数量少于实参的数量的时候,系统会产生运行时错误;
当实参数的数量多于形参的数量时,多余的实参取逻辑假。
在程序中直接使用而由系统自动隐含建立的变量都是私有变量。
PRIVATE是隐藏主程序中已经存在的变量,PUBLIC是建立全局变量。
LOCAL只能在建立它的模块中使用,不能在上层或下层模块中使用。
<
|<
过程名>
()格式来调用模块,如果没有设置的话,括号括的参数都是值传递。
在传递参数使变量A使用了括号,所以A是值传递,B是引用传递。
第八章表单设计与应用
第一节面向对象的概念
客观世界中的任何事物都可以看作是对象,对象可以是具体的事物,也可以是抽象的概念。
每个对象都有一定的状态,用于描述对象的特性称为对象的属性,而方法用来描述
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Visual FoxPro数据库程序设计课后习题参考答案及解析 FoxPro 数据库 程序设计 课后 习题 参考答案 解析