资源描述
第1章 数据库系统概述1.1 基础知识练习1.1.1 选择题1. 存储在计算机内、有结构的相关数据的集合称为_。A. 数据库 B. 数据库系统C. 数据库管理系统 D. 数据结构【答案】A 2. 数据库DB、数据库系统DBS和数据库管理系统DBMS之间的关系是_。 A. DBMS包括DB和DBS B. DBS包括DB和DBMS C. DB包括DBS和DBMS D. DB、DBS和DBMS是平等关系【答案】B3. _是处理数据库存取和各种管理控制的软件系统,是数据库系统的中心枢纽。 A. DB B. DBMS C. DBAS D. DML【答案】B4. 下列关于数据库系统的叙述中,正确的是_。 A. 数据库系统只是比文件系统管理的数据更多 B. 数据库系统中数据的一致性是指数据类型一致 C. 数据库系统避免了数据冗余 D. 数据库系统减少了数据冗余【答案】D5. 能唯一标识实体的是_。 A. 属性 B. 域 C. 码 D. 联系【答案】C6. Visual FoxPro是一种关系数据库管理系统,所谓关系是指_。 A. 表中各条记录彼此之间有一定的关系 B. 表中各个字段彼此之间有一定的关系 C. 一个表与另一个表之间有一定的关系 D. 数据模型符合满足一定条件的二维表格式【答案】D7. 如果一个部门有若干职员,每个职员只能属于某一个部门,则部门和职员两个实体之间的联系属于_。 A. 一对一联系 B. 一对二联系 C. 多对多联系 D. 一对多联系。【答案】D8. 在数据库设计中,将E-R图转换为关系模式是在_阶段。 A. 需求分析 B. 概念设计 C. 逻辑设计 D. 物理设计【答案】C9. 在关系中将年龄字段的值限制在15-30岁之间的这种约束属于_。A. 实体完整性约束 B. 域完整性约束C. 参照完整性约束 D. 视图完整性约束【答案】B10. 下列叙述中正确的是_。A. 数据库系统是一个独立的系统,不需要操作系统的支持B. 数据库技术的根本目标是要解决数据的共享问题C. 数据库管理系统就是数据库系统D. 以上三种说法都不对【答案】B11. 如果把学生看作实体,某个学生的姓名叫“王刚”,则“王刚”应看成_。A. 记录型 B. 记录值C. 属性型 D. 属性值【答案】D12. 在概念模型中,一个实体相对于关系数据库中一个关系中的一个_。A. 属性 B. 元组C. 列 D. 字段【答案】B1.1.2 填空题1存储在计算机中的数据包括_和_两方面。【答案】数据内容,数据形式2数据处理技术大致经历的三个发展阶段是_、_和_。【答案】人工管理阶段,文件系统管理阶段,数据库系统管理阶段3数据库系统是由_、_、_和_组成的具有高度组织性的总体。【答案】计算机系统,数据库,数据库管理系统,有关人员4用实体名及其属性名集合来抽象和刻画同类实体称为_。【答案】实体型5数据模型不仅表示反映事物本身的数据,而且表示_。【答案】事物之间的联系6用二维表的形式来表示实体之间联系的数据模型叫做_。【答案】关系模型7在关系数据模型中,二维表的列称为_,二维表的行称为_。【答案】属性,记录8对关系进行选择、投影或连接运算之后,运算的结果仍然是一个_。【答案】关系9在关系数据库的基本操作中,从表中选出满足条件的元组的操作称为_;从表中抽取属性值满足条件的列的操作称为_;把两个关系中相同属性的元组连接在一起构成新的二维表的操作称为_。【答案】选择,投影,连接10E-R图中实体间的_联系必须转换为一个独立的关系模式。【答案】多对多第2章 Visual FoxPro 6.0基础2.1 基础知识练习2.1.1 选择题1. _是Visual FoxPro中专门用来输入各种命令的区域。A. 主窗口 B. 命令窗口 C. 菜单栏 D. 工具栏【答案】B2. “项目管理器”的“数据”选项卡用于显示和管理_。A. 数据库、自由表和查询 B. 数据库、视图和查询C. 数据库、自由表、查询和视图 D. 数据库、表单和查询【答案】C3. “项目管理器”的“文档”选项卡用于显示和管理_。A. 表单、报表和查询 B. 数据库、表单和报表C. 查询、报表和视图 D. 表单、报表和标签【答案】D4. 利用VFP中的_可以帮助用户高效方便地创建表、表单等文件。A. 设计器 B. 向导 C. 生成器 D. 工具栏【答案】A5. 在以下四组函数运算中,结果相同的是_。A. LEFT(Visual FoxPro,6)与SUBSTR(Visual FoxPro,1,6)B. YEAR(DATE()与SUBSTR(DTOC(DATE(),7,2)C. VARTYPE(36-5*4)与VARTYPE(36-5*4)D. 假定A=this ,B=is a string,A-B与A+B【答案】A6. 在下面的Visual FoxPro表达式中,不正确的是_。A. 2008-12-01 10:10:10AM-10 B. 2008-12-01-DATE()C. 2008-12-01+DATE() D. 2008-12-01+1000【答案】C7. 在下列函数中,函数值为数值的是_。A. AT(人民,中华人民共和国) B. CTOD(01/01/96)C. BOF() D. SUBSTR(DTOC(DATE(),7)【答案】A8. 已知D1和D2为日期型变量,下列4个表达式中非法的是_。A. D1-D2 B. D2-36 C. D1+28 D. D1+D2【答案】D9. 函数INT(数值表达式)的功能是_。A. 按四舍五入取数值表达式值的整数部分B. 返回数值表达式值的整数部分C. 返回不大于数值表达式值的最大整数D. 返回不小于数值表达式值的最小整数【答案】B10. 在下面的Visual FoxPro表达式中,运算结果是逻辑真的是_。A. EMPTY(.NULL.) B. LIKE(ABC,AC?)C. AT(A,123ABC) D. EMPTY(SPACE(2)【答案】D11. 设D=56,VARTYPE(D)的输出值是_。A. N B. C C. L D. D【答案】C12. 设N=886,M=345,K=M+N,表达式1+&K的值是_。A. 1232 B. 数据类型不匹配 C. 1+M+N D. 346【答案】A13. 如果X=10,Y=X=20,则TYPE(Y)的值是_。A. L . N C. C D. 出错【答案】C14. 命令?VARTYPE(TIME()结果是A. C B. D C. T D. 出错【答案】A15. 命令?LEN(SPACE(3)-SPACE(2)的结果是A. 1 B. 2 C. 3 D. 5【答案】D2.1.2 填空题1. Visual FoxPro6.0是_位的关系型数据库管理系统。【答案】322. 在命令窗口中键入命令后,按_键执行该命令。【答案】Enter3. 对Visual FoxPro进行环境设置除了用SET命令外,还可以在_对话框中进行设置。【答案】选项4. VFP的三种工作方式是_、_和_工作方式。【答案】菜单,命令,程序5. VFP命令的续行符是_。【答案】 ;6. 在Visual FoxPro中,项目文件的扩展名是_。【答案】PJX7. 扩展名为.Prg的程序文件在“项目管理器”的_选项卡中显示和管理。【答案】代码8. 项目管理器的“移去”按钮有两个功能:一是把文件_,二是_文件。【答案】从项目管理器中移去,从磁盘上删除9. 如果一个表达式中包含算术运算、关系运算、逻辑运算和函数时,则运算的优先次序是_。【答案】函数算术运算关系运算逻辑运算,10. TYPE(10/25/08)的输出值是_。【答案】N11. 设工资=1200,职称=教授,下列逻辑表达式的值是_。 工资1000 AND (职称=教授 OR 职称=副教授)【答案】.T.12. ROUND(337.2007,3)的结果是_。【答案】337.20113. LEN(THIS IS MY BOOK)的结果是_。【答案】1514. TIME()返回值的数据类型是_。【答案】字符型15. MOD(9,-2)的返回值为_。【答案】-12.2 上机实验2.2.1 VFP6.0的启动、退出及工作环境配置【实验题目】VFP的启动、退出及工作环境配置【实验目的】掌握VFP的启动、退出方法及工作环境的设置【实验示例】1启动VFP6.0方法一:在“开始”菜单中启动Visual FoxPro 6.0。单击Windows桌面左下方的“开始”按钮,调出“开始”菜单选“所有程序”在“程序”级联菜单中选带狐狸头图标的“Microsoft Visual FoxPro 6.0”选项,即可启动Visual FoxPro 6.0(图2-1)。图2-1 利用“开始”菜单启动VFP6.0方法二:利用桌面上的快捷方式启动Visual FoxPro 6.0。若桌面上没有VFP6.0的快捷方式,就要先创建一个,方法是:单击Windows桌面左下方的“开始”按钮,调出“开始”菜单选“所有程序”在“程序”级联菜单中右击带狐狸头图标的“Microsoft Visual FoxPro 6.0”选项选择“发送到”,在弹出的级联菜单中选择“桌面快捷方式”(图2-2(a),这样就能在桌面上看到VFP狐狸头快捷方式图标(图2-2(b),然后双击此图标即可启动Visual FoxPro 6.0(图2-3)。若桌面上已经有了VFP6.0的快捷方式图标,直接双击此图标即可。 (a) (b)图2-2 创建并利用快捷方式启动VFP6.0图2-3 VFP窗口2设置默认目录及日期时间格式(1)设置用户默认工作目录在VFP的菜单中选“工具”选“选项”,弹出“选项对话框”(图2-4(a)选“文件位置”选项卡选“默认目录”,单击“修改”按钮在弹出的“更改文件位置”对话框(图2-4(b)中先要选中“使用默认目录”前的复选框,再在上面的文本框中输入用户的默认工作目录,或是单击文本框右侧的带三个点的选项按钮选择目录,然后单击“确认”按钮返回选项对话框(图2-4(c)单击“设置为默认值”按钮单击“确认”按钮,设置成功。图2-4 (a)图2-4 (b)图2-4 (c)图2-4 设置默认工作目录提示:每次上机做的第一件事就是要设置好自己的默认工作目录,这样你在VFP中创建的所有文件都会保存在这个目录里,便于管理自己的文件,也不会出现找不到文件的错误。(2)设置日期和时间格式在VFP的菜单中选“工具”选“选项”,弹出“选项对话框”选“区域”选项卡(图2-5)在“日期和时间”区定义日期格式、日期分隔符、年份格式、时间格式(在右边能随时看到你设置的日期时间格式示例)单击“设置为默认值”按钮单击“确认”按钮,设置成功。图2-5 设置日期和时间格式3退出VFP方法一:命令方式退出Visual FoxPro 6.0。在VFP的命令窗口输入命令QUIT,按“Enter”键执行即可(图2-6)。图2-6 命令方式退出VFP方法二:菜单方式退出Visual FoxPro 6.0。在VFP的菜单中选“文件”选“退出”。(图2-7) 图2-7 菜单方式退出VFP方法三:单击VFP主窗口左上方的狐狸头控制图标,从弹出的下拉菜单中选择“关闭”,或按Alt+F4组合键。(图2-8)图2-8 控制图标方式退出VFP方法四:用鼠标单击VFP系统窗口右上角的“”关闭窗口图标【实验内容】在D盘根目录下创建以自己名字命名的文件夹,并在其中建立“销售管理”子文件夹,设其为VFP6.0的默认目录。【实验报告】记录操作步骤。2.2.2 项目文件的创建与使用【实验题目】VFP项目文件的创建及其使用方法【实验目的】掌握VFP项目的创建及其操作【实验示例】1创建一个项目文件方法一:在VFP的菜单中选“文件”选“新建”选“项目”选项单击“新建文件”按钮,在弹出的“创建”对话框中输入项目文件名(如:人事管理.PJX),单击“保存”按钮弹出“项目管理器”窗口(图2-9)。图2-9 项目管理器窗口方法二:在命令窗口中直接输入命令“CREATE PROJECT 学生管理”,就可建立一个名为“学生管理”的新项目(图2-10)。图2-10 用命令创建项目文件2项目窗口的操作(1)项目管理器窗口的移动:同Windows窗口操作一样,拖动窗口最上方蓝色的标题栏可移动窗口位置。若拖动窗口标题栏到VFP工具栏下方,可将项目管理器窗口放到VFP工具栏上(图2-11),此时可单击每一个选项卡的标题部分打开相应的选项卡;若想恢复,可用鼠标按住边缘非选项卡标题部分将项目管理器窗口拖到VFP窗口。图2-11 移动后的项目管理器(2)项目管理器窗口的折叠与恢复:单击项目管理器窗口(图2-12(a)右上角的上箭头可折叠项目管理器窗口(图2-12(b);单击项目管理器窗口(图2-12(b)右上角的下箭头可恢复项目管理器窗口。 (a) (b)图2-12 展开与折叠后的项目管理器(3)项目中各类文件的折叠与展开:单击项目管理器窗口某类文件图标左侧的“+”可展开该类文件(图2-13);单击项目管理器窗口某类文件图标左侧的“-”可折叠该类文件。 图2-13 展开与折叠各类文件(4)项目中各类文件的建立、添加和移去:在项目管理器窗口中单击某类文件图标(如:数据)单击右边“新建(N)”按钮将建立该类文件;在项目管理器窗口中单击某类文件图标(如:数据)单击“添加(A)”按钮将向该项目中添加该类已有的某文件;在项目管理器窗口中单击某文件图标(如:XS)单击“移去(V)”按钮,该文件将被移出该项目。(图2-14)图2-14 项目管理器中各种功能按钮的使用3项目文件的关闭与打开(1)项目文件的关闭。在VFP的菜单中选“文件”选“关闭”,或者单击项目管理器窗口右方上的关闭按钮。(图2-15)图2-15 关闭项目管理器(2)项目文件的打开。在VFP的菜单中选“文件”选“打开”在弹出的“打开”对话框中选中项目文件名(如:学生管理.PJX),单击“确定”按钮(图2-16),就会弹出项目管理器窗口。图2-16 打开项目管理器【实验内容】在VFP6.0默认目录下,建立名为“销售管理项目”的项目文件。【实验报告】在实验报告中记录操作步骤。2.2.3 常量、变量、表达式、函数的操作【实验题目】VFP常量、变量、表达式与常用函数的使用【实验目的】熟练掌握VFP中常量、变量与各种函数的使用格式,熟练掌握表达式中各种运算的规则及运算顺序。【实验示例】1常量与变量的使用(1)定义变量A、B、C、name、sex、birthday,其值分别为6、10、10、”李平”.T.、1986-4-17;(图2-17)图2-17 变量赋值注意:VFP命令中的标点符号均要在英文和半角状态下输入。注意给多个变量赋相同值的书写格式,想想还可以用什么方法对变量B和C赋值。给逻辑型变量赋值时,两边的圆点不能漏掉。无论在严格或传统的日期格式下,均可以使用严格的日期型常量。想一想在传统的日期格式下,还可以用什么样的日期格式对变量birthday赋值?(2)在命令窗口用“?”命令显示上述变量的值;(图2-18)图2-18 显示变量的值(3)在命令窗口用LIST MEMORY或DISPLAY MEMORY命令查看上述变量的值和类型;(图2-19)图2-19 查看变量的值试一试:如果将list memory like * 中的like *去掉,即只输入list memory观察看输出什么结果,为什么?(4)在命令窗口用RELEASE MEMORY命令清除指定变量A、B、C;(图2-20)清除后显示一下变量看是否清除了。图2-20 变量的清除(5)在命令窗口用CLEAR MEMORY命令清除所有用户定义的变量。(图2-21)图2-21 所有用户定义变量的清除2数组的定义与使用(1)定义3行2列的数组A并为整个数组A赋初值0;(图2-22)图2-22 数组的定义想一想:还可以用什么命令定义数组?(2)为各数组元素分别赋值 李平、20、王强、21、张玲、20并显示数组元素各值;(图2-23)图2-23 数组元素的赋值试一试:显示A(5)的值,看它与哪个数组元素的值相同,为什么?(3)查看整个数组A的值和类型。(图2-24)图2-24 查看数组的值与类型3常用函数的使用(1)在命令窗口逐个输入图2-25中的命令,每个命令以回车为结束,在VFP主窗口中查看各函数的结果。图2-25 数值函数练习(2)在命令窗口逐个输入图2-26中的命令,每个命令以回车为结束,在VFP主窗口中查看各函数的结果。图2-26 字符函数练习(3)在命令窗口逐个输入图2-27中的命令,每个命令以回车为结束,在VFP主窗口中查看各函数的结果。图2-27 日期函数练习(4)在命令窗口逐个输入图2-28中的命令,每个命令以回车为结束,在VFP主窗口中查看各函数的结果。图2-28 转换函数练习注意:在CTOD(“2/14/2008”)函数中,字符型的参数必须和本机VFP系统设置的日期时间格式相一致,否则转换不成功,为空的日期。(5)在命令窗口逐个输入图2-29中的命令,每个命令以回车为结束,在VFP主窗口中查看各函数的结果。图2-29 测试函数练习4表达式的使用在命令窗口逐个输入图2-30中的命令,每个命令以回车为结束,在VFP主窗口中查看各表达的结果。图2-30 表达式练习【实验内容】表2-1 常量、变量、函数与表达式的使用在命令窗口中输入命令并执行 命令执行结果 命令功能? 2*33+2*8/4%5-23 ? abc -abc+abc? INT(-3.1415926),INT(ABS(99-100)/2) ? ROUND(-3.1415926,5) ? AT(fox,foxpro) ? NOT(35 .AND. 53 .OR. MOD(3,5)10 .AND. SQRT(10)3 STORE 4*3-7 TO m, n, k ?L= , 2*PI()*m ?S= , PI()*m*mDIMENSION a(5),b(2,4)DISPLAY MEMORYa(2)=10a(4)=山东b(2,1)=5DISPLAY MEMORY CLEAR MEMORYDISPLAY MEMORY stitle=Visual FoxPro 程序设计 ? LEN(stitle) ? RIGHT(stitle,4)? SUBSTR(stitle,15,4)+LEFT(stitle,13)? STR(12345.678,8,1) ? STR(12345.678,8,2) ? STR(12345.678,8) ? 2004-04-28DATE() ? DATE()-2002-06-10 ? DATE()-100 ? SUBSTR(DTOC(DATE(),7) ? MONTH(2000-12-22-40) 【实验报告】记录表2-1中的实验结果,与手工计算结果相比较,若有错误,请找出出错原因。2.2.4 常见错误1. 找不到变量A,B。出错原因:变量名写错;表达式中使用了未定义的变量;两变量名之间使用中文逗号分隔;命令中的短语之间缺少空格,如CLEAR MEMORY LIKE *写成CLEAR MEMORYLIKE *。2. 不能识别的命令谓词。出错原因:命令字写错,如CLEAR MEMORY写成CLEAN MEMORY;在中文状态下输入命令。3. 命令中含有不能识别的短语或关键字。出错原因:命令中短语部分的保留字拼错,如CLEAR MEMORY写成CLEAR MOMERY;表达式中使用了中文括号,如:G=50*1.2+(T-50)*2.4写成G=50*1.2+(T-50)*2.4。4. 操作符/操作数类型不匹配。出错原因:表达式中参加运算的变量的类型不一致,如?BirthDay1980/12/31,发生该错是因为BirthDay是日期型,而1980/12/31是字符型。5. 函数参数的值、类型或数目无效。出错原因:类型不符合要求,如SUBS(1234,2,2)写成SUBS(1234,2,2);参数值不符合要求,如HOUR(DATETIME()写成HOUR(TIME()。6. 参数太多。出错原因:参数个数多于规定的个数,如SQRT(25.5)写成SQRT(25,5)。7. 参数太少。出错原因:参数个数少于规定的个数,如MAX(10,20)写成MAX(10.25)。8. 文件xxx不存在。出错原因:函数名拼错,如SUBS(1234,2,2)写成SUB(1234,2,2)。9. 命令中含有不能识别的短语或关键字。出错原因:函数嵌套时括号不匹配,通常多右括号。如YEAR(DATE()。10. 日期/日期时间计算为无效值。出错原因:日期常量格式错。如1980/10/01写成10/01/1980。11. 不明确的日期/日期时间常量。出错原因:日期常量格式错。如DTOC(1980/10/01)写成DTOC(19801001)。第3章 数据库与表的基本操作3.1 基础知识练习3.1.1 选择题1. 不允许记录中出现重复索引值的索引是_。A. 主索引 B. 主索引、候选索引、普通索引C. 主索引和候选索引 D. 主索引、候选索引和惟一索引【答案】C2. 要控制两个表中数据的完整性和一致性可以设置“参照完整性”,要求这两个表_。A. 是同一个数据库中的两个表 B. 不同数据库中的两个表C. 两个自由表 D. 一个是数据库表另一个是自由表【答案】A3. 在Visual FoxPro中,可以对字段设置默认值的表_。A. 必须是数据库表 B. 必须是自由表C. 可以是自由表或数据库表 D. 可以是自由表和数据库表【答案】A4. 在Visual FoxPro中,打开数据库的命令是_。A. OPEN B. OPEN DATABASE C. USE D. USE DATABASE 【答案】B5. 在Visual FoxPro的数据工作期窗口,使用SET RELATION命令可以建立两个表之间的关联,这种关联是_。A. 永久性关联 B. 永久性关联或临时性关联C. 临时性关联 D. 永久性关联和临时性关联【答案】C6. 在Visual FoxPro中,通用型字段C和备注型字段M在表中的宽度都是_。A. 2个字节 B. 4个字节 C. 8个字节 D. 10个字节【答案】B7. 可以伴随着表的打开而自动打开的索引文件是_。A. 单一索引文件(IDX) B. 结构化复合索引文件C. 复合索引文件(CDX) D. 非结构化复合索引文件【答案】B8. Visual FoxPro参照完整性规则不包括_。A. 更新规则 B. 查询规则 C. 删除规则 D. 插入规则【答案】B9. 在数据库设计器中,建立两个表之间的一对多联系是通过以下索引实现的_。A. “一方”表的主索引或候选索引,“多方”表的普通索引B. “一方”表的主索引,“多方”表的普通索引或候选索引C. “一方”表的普通索引,“多方”表的主索引或候选索引D. “一方”表的普通索引,“多方”表的候选索引或普通索引【答案】A10. 不论索引是否生效,不能定位到相同记录上的命令是_。A. GO TOP B. GO BOTTOMC. GO 6 D. SKIP【答案】D11. 要为当前表中所有职工增加100元工资应该使用命令_。A. CHANGE 工资 WITH工资+100B. REPLACE 工资 WITH工资+100C. CHANGE ALL 工资 WITH工资+100D. REPLACE ALL 工资 WITH工资+100【答案】D12. 当前已打开的学生表中有姓名、性别、出生日期等字段,要显示所有1985年出生的学生名单,应使用的命令是_。A. LIST 姓名 FOR 出生日期=1985B. LIST 姓名 FOR 出生日期=1985C. LIST 姓名 FOR YEAR(出生日期)=1985D. LIST 姓名 FOR YEAR(出生日期)=1985【答案】C13. 在VFP环境下,用LIST STRUCTURE命令显示表中每个记录的长度(总计)为60,用户实际可用字段的总宽度为_。A. 58 B. 59 C. 60 D. 61【答案】B14. 如果需要给当前表增加一个字段,应使用的命令是_。A. APPEND B. MODIFY STRUCTURE C. INSERT D. EDIT【答案】B15. 执行SET EXACT OFF命令后,再执行 ? 山东省=山东命令的结果是_。A. .T. B. .F. C. 0 D. 非0【答案】A16. 已知当前表中有60条记录,当前记录为第6条记录。如果执行命令SKIP 3后,则当前记录为第_条记录。A. 3 B. 4 C. 8 D. 9【答案】D17. 使用REPLACE命令时,如果范围短语为ALL或REST,则执行该命令后记录指针指向_。A. 末记录 B. 首记录 C. 末记录的后面D. 首记录的前面【答案】C18. 当前表中有4个数值型字段:数学、英语、计算机和总分。其中数学、英语、计算机的成绩均已录入,总分字段为空。要将所有学生的总分自动计算出来并填入总分字段中,使用命令_。A. REPLACE 总分 WITH 高等数学+英语+计算机网络B. REPLACE 总分 WITH 高等数学,英语,计算机网络C. REPLACE 总分 WITH 高等数学+英语+计算机网络 ALLD. REPLACE 总分 WITH 高等数学+英语+计算机网络 FOR ALL【答案】C19. 在当前表中,查找第2个女同学的记录,应使用命令_。A. LOCATE FOR 性别=女B. LOCATE FOR 性别=女 NEXT 2C. LOCATE FOR 性别=女CONTINUED. LIST FOR 性别=女 NEXT 2【答案】C20. 当前工资表中有108条记录,当前记录号为8,用SUM命令计算工资总和时,若缺省范围短语,则系统将_。A. 只计算当前记录的工资值 B. 计算前8条记录的工资和C. 计算后8条记录的工资和 D. 计算全部记录的工资和【答案】D21. 在VFP中,使用AVERAGE命令时,表文件需要_。A. 排序 B. 建立索引 C. 排序或建立索引 D. 以上操作都不需要【答案】D22. 执行SELECT 0选择工作区的结果是_。A. 选择了0号工作区 B. 选择了空闲的最小号工作区C. 选择了一个空闲的工作区 D. 显示出错信息【答案】B23. RSGZ数据表文件按基本工资字段升序索引后,再执GOTOP命令,此时当前记录号是_。A. 1 B. 基本工资最少的记录号C. 0 D. 基本工资最多的记录号【答案】B24. 数据库文件有30条记录,当前记录号为20,执行命令LIST NEXT 5后,所显示的记录号是_。A.2125 B.2126 C.2025 D.2024【答案】D25. 数据库文件默认的扩展名是_。A. .dbfB. .dbc C. .dbt D. .fpt【答案】B26. 与“DISPLAY NEXT 1”等价的命令是_。A. LIST ALL B. LIST C. DISPLAY D. DISPLAY ALL【答案】C27. 如果某数据表为空表,则打开该表后_。A. BOF()和EOF()均为.T.B. BOF()和EOF()均为.F.C. BOF()=.T. EOF()=.F.D. BOF()=.F. EOF()=.T.【答案】A28. 使用RECALL ALL 命令_。A. 将恢复所有被物理删除的记录B.只能恢复被逻辑删除的当前记录C. 将恢复所有被逻辑删除的记录D.只能恢复被物理删除的当前记录【答案】C29. 在Visual FoxPro中进行参照完整性设置时,要想设置成:当更改父表中的主关键字段或候选关键字段时,自动更改所有相关子表记录中的对应值。应选择_。A. 限制(Restrict) B. 忽略(Ignore)C. 级联(Cascade) D. 级联(Cascade)或限制(Restrict)【答案】C30. 数据库表移出数据库后,仍然有效的是_。A. 字段的有效性规则B. 表的有效性规则C. 字段的默认值D. 结构复合索引【答案】D3.1.2 填空题1. LIST和DISPLAY命令的区别在于,前者_,后者_。【答案】LIST连续不分屏显示信息;DISPLAY采用分屏显示信息。2. 在数据表结构设计时,字段宽度的总计数目比_之和大1,这是因为系统保留了1个字节的宽度记用于_。【答案】各字段宽度;存放逻辑删除标3. 所谓当前表是指_。【答案】已经打开并且正在使用的数据表4. 设当前记录为第3条记录(没有打开任何索引文件),执行SKIP 2后,记录指针指向_记录,连续执行GO BOTTOM和SKIP两条命令后,记录指针执向_。【答案】第5条记录;最后一条记录后面(此时EOF()函数的值为.T.)5. _命令原来做逻辑删除,_命令用来做物理删除。【答案】DELETE ; PACK6. 索引文件分为_和复合索引文件,复合索引文件又分为_和_。【答案】单入口索引文件;结构化复合索引文件;非结构化(独立)复合索引文件7. Visual FoxPro将表分为两种,即_和_。【答案】自由表,数据表8. 汇总命令TOTAL的功能是分别对关键字相同的记录的数值型字段求和,并将结果存储在一个_中。【答案】新数据表9. 如果某记录的备注型字段标志显示为_,则表明该字段不再为空。【答案】Memo10. 字段“定价”为数值型,如果整数部分最多为3位、小数部分为2位,那么该字段的宽度至少应为_。【答案】6位11. 顺序查询对表的记录没有任何要求,但查找速度较慢;而索引查询要求表的记录是_的,查找速度较快。【答案】按索引顺序排列12. 当前表为图书表,其中字段“分类号”为字符型,要将分类号以字母“I”开头的记录作删除标记,可使用命令_。【答案】DELETE FOR SUBSTR(分类号,1,1)=”I”13. 物理删除当前表第8条到第15条记录的命令序列是_。【答案】GO 8DELETE NEXT 8PACK14. 结构复合索引文件的主名与_相同,它随表的打开而打开,在增删记录时会自动维护,因而使用最方便。【答案】数据表名15. 数据库表有4种索引类型,即_、普通索引、惟一索引和候选索引。【答案】主索引16. RSDA.DBF表中“婚否”字段为逻辑型,则显示所有已婚记录的命令为_。【答案】LIST FOR 婚否=.T.17. 永久关系建立后存储在_中,只要不作删除或变更就一直保存。【答案】数据库18. 利用LOCATE命令查找到满足条件的第1条记录后,连续执行_命令即可找到满足条件的其他记录。【答案】CONTINUE19. 对数据库表添加新记录时,系统自动地为某一字段给定一个初始值,这个值称为该字段的_。【答案】默认值20. 自由表的扩展名是_。【答案】DBF3.2 上机实验3.2.1 数据库及表基本操作【实验题目】数据库及表的基本操作【实验目的】(1)熟练掌握数据库及数据表的建立,数据表结构的修改等操作。(2)熟练掌握数据表记录的追加、显示、修改、查询和删除。【实验示例】在“学生管理”项目中设计一个名为Xsgl.dbc的学生管理数据库,该数据库中含有4个数据表,它们是xsda.dbf、xscj.dbf、xsxk.dbf、pkqk.dbf数据表(表结构参见教材第三章课后题)。1. 数据库的建立建立一个数据库有许多方法,可以使用命令方式建立数据库,也可以使用系统菜单。(1)使用命令方式建立数据库步骤1:在命令窗口中输入命令:Creat Database xsgl则在你的硬盘上将可生成一个名为xsgl.dbc的文件。步骤2:在命令窗口输入命令:Dir *.dbc则在系统窗口将可以显示出所有扩展名为.dbc的文件,包括我们新建的数据库xsgl.dbc。(2)使用系统菜单建立数据库步骤1:单击菜单的“文件”选项,然后选择“新建”,将打开“新建”窗口(见图3-1)。 图3-1 新建数据库 图3-2 创建窗口步骤2:在“文件类型”列,选择“数据库”,然后单击【新建文件】按钮,将打开“创建”对话框。见图3-2。在“数据库名”对话框中,输入新建数据库的文件名,例如,输入“xsgl”作为该新建数据库的文件名,然后单击【保存】命令按钮,即可打开“数据库设计器”窗口,利用“数据库设计”,就可以创建一个名为“xsgl.doc”的数据库。2. 数据库的打开与关闭当数据库建好后,要对数据库操作,例如,要往数据库中添加数据表等,必须先打开相应的数据库。(1)使用命令方式打开与关闭数据库步骤1:在命令窗口输入命令:OPEN DATABASES xsgl即可打开我们刚刚建立的名字为“xsgl.doc”的数据库。步骤2:在命令窗口输入命令:CLOSE DATABASES 或:CLOSE ALL即可关闭所打开的数据库(2)使用菜单方式打开或关闭数据库步骤1:单击系统菜单“文件”菜单,然后选择“打开”菜单项,将打开“打开”对话框,见图3-3。图3-3 打开数据库在“文件类型(T)”中选择“数据库(*.dbc)”选项,选择要打开的数据库文件名或在“文件名(N)”对话框中输入要打开的数据库文件名,即可打开“数据库设计器”。步骤2:关闭数据库单击系统菜单“文件”菜单,然后选择“关闭”菜单项,即可关闭“数据库设计器”3. 数据表的建立和维护步骤1:建立表结构建立xsda.dbf、xscj.dbf、xsxk.dbf、pkqk.dbf数据表。首先,在命令窗口输入:CREATE xsda将打开表“表设计器”,见图3-4。图3-4 表设计器字段输入完毕后,按Ctrl+W键,将保存表结构,此时,将出现图3-5所示对话框:图3-5 确认对话框选择“否(N)”,将结束CREAT命令。步骤2:显示表结构在命令窗口输入:LIST STRUCTURE将显示刚建立的数据表的结构,对照表3-1,仔细观察,是否正确。步骤3:修改表结构如果发现错误,使用“MODIFY STRUCTURE “命令,可以修改表结构在命令窗口输入:MODIFY STRUCTURE将打开“表设计器“,利用“表设计器“可以对表结构进行修改,例如,单击【插入】按钮,可以插入一个新的字段,单击【删除】按钮,可以删除一个字段。请将姓名的宽度改为10,出生年月的字段名改为出生日期。修改完毕,按Ctrl+W键,将保存表结构,此时,将出现图3-6所示对话框:图3-6 更改结构确认对话框单击【是(Y)】命令按钮,保存表结构。注意,表结构的显示和修改可以多次交替使用,直至可以熟练掌握表结构的修改和表结构的显示。4. 数据表的基本操作(1)录入记录:步骤1:打开“xsda”表,在命令窗口输入:USE学生基本信息步骤2:在命令窗口输入:APPEND按表3-2录入6条记录。表3-2 xsda记录学号姓名性别出生日期专业特长备注照片120386张小岩女08/27/74汉族否Memogen110387李瑾女03/12/72汉族是MemoGen120247周姗姗女06/19/69壮族是Memogen110202王小虎男07/09/76回族否Memogen110102胡二箫男08/27/62汉族是MemoGen120192李春天男11/24/75京族是Memogen录入完毕后,按Ctrl+W,存盘退出。(2)显示记录在命令窗口输入:LIST或DISPLAY ALL将显示刚才录入的所有记录。仔细观察,是否有误。(3)修改编辑记录在命令窗口输入:EDIT或BROWSE修改记录,将“张小岩”的出生日期改为08/27/75,将“李春天”的民族改为汉族。(4)删除记录将第一条记录和最后一条记录删除。步骤1:在命令窗口输入:GO TOP步骤2:在命令窗口输入:DELETE步骤3:在命令窗口输入:GO BOTTOM步骤4:在命令窗口输入:DELETE步骤5:在命令窗口输入:PACK步骤6:在命令窗口输入:LIST或DISPLAY ALL查看是否删除成功。(5)记录的替换计算xscj数据表中每名同学的总分,并填到“总成绩”字段中。步骤1:在命令窗口输入:REPLACE ALL 总成绩 WITH 计算机+英语+数学步骤2:在命令窗口输入:LIST或DISPLAY ALL查看替换结果。【实验内容】1. 在“销售管理项目”中建立“销售管理”数据库。2. 依次建立客户信息表、产品信息表、合同台账表、出入库台账表四个数据表(索引留待实验3.2.2中建立),相关说明如表3-3到表3-6所示。为了减少复杂性,作以下假设:一个客户可以签订多份合同,一份合同只能订购一种产品,只有库存足够才能出库,一份出入库单据只能记录一种产品的出入库信息。出入库时,明细存放在“出入库台账表”中,同时要实时修改“产品信息表”表中的库存。3. 输入记录(自行设定)。表3-3 客户信息表字段名称字段类型长度小数位数是否主键是否允许空值说明客户编号C10是否客户名称C50否地址C50代表人C10否电话C20传真C20开户银行C50账号C20邮编C6EmailC20表3-4 产品信息表字段名称字段类型长度小数位数是否主键是否允许空值说明产品编号C10是否产品名称C20否单位C10否规格C20否库存N82否单价N82否表3-5 合同台账表字段名称字段类型长度小数位数是否主键是否允许空值说明合同编号C12是否客户编号C10否外键签订时间D否交货时间D交货地点C20运输方式C20运费承担C20已付金额Y付款时间T产品编号C10否外键数量N82否单价N82否签合同时执行的单价折扣N31否默认为1已交付数量N82表3-6 出入库台账表字段名称字段类型长度小数位数是否主键是否允许空值说明单据号C10是否可根据时间自动生成产品编号C10否外键合同编号C10是
展开阅读全文