数据库原理与应用练习册答案.docx
《数据库原理与应用练习册答案.docx》由会员分享,可在线阅读,更多相关《数据库原理与应用练习册答案.docx(26页珍藏版)》请在冰豆网上搜索。
数据库原理与应用练习册答案
习题一
一、选择题
1.数据库系统的构成为:
数据库、计算机硬件系统、(D)、相关软件和人员。
A、操作系统
B、文件系统
C、数据集合
D、数据库管理系统
2.关系数据库系统中所使用的数据结构是(D)
A、树
B、图
C、表格
D、二维表
3.使用关系运算对系统进行操作,得到的结果是(C)
A、属性
B、元组
C、关系
D、关系模式
4.从数据库的整体结构看,数据库系统采用的数据模型有(C)
A、网状模型、链状模型和层次模型
B、层次模型、网状模型和环状模型
C、层次模型、网状模型和关系模型
D、链状模型、关系模型和层次模型
5.用二维表形式表示的数据模型是(B)
A、层次数据模型
B、关系数据模型
C、网状数据模型
D、网络数据模型
6.DBAS指的是(C)
A、数据库管理系统
B、数据库系统
C、数据库应用系统
D、数据库服务系统
7.用于实现数据库数据操作的软件称为(C)
A、数据软件
B、操作系统
C、数据库管理系统
D、编译程序
8.使用数据库技术进行人事档案管理是属于计算机的(C)
A、科学计算应用
B、过程控制应用
C、数据处理应用
D、辅助工程应用
9.在关系理论中,把二维表表头中的栏目称为(D)
A、数据项
B、元组
C、结构名
D、属性名
10.如果要改变一个关系中属性的排列顺序,应使用关系运算是(C)
A、重建
B、选取
C、投影
D、连接
11.数据库的数据都存放在一台计算机中,并由它统一管理和运行的数据库系统称为(C)
A、分布式系统
B、单用户系统
C、集中式系统
D、共享式系统
二、填空题
1.常见的数据模型有_层次模型_、_网状模型_、_关系模型_和关系对象模型四种。
2.在关系数据库的基本操作中,从关系中抽取满足条件的元组的操作被称为_选择_;从关系中抽取指定列的操作被称为__投影__;将两个关系中相同属性值的元组连接到一起而形成新关系操作被称为__连接_。
3.二维表中的每一列称为一个字段,或称为关系的一个__属性名_;二维表中的每一行称为一个记录,或称为关系的一个__元组_。
4.ViualFoxPro是运行于Windows平台的__关系数据库管理系统__系统,它在支持标准的面向过程的程序设计方式的同时还支持__面向对象__的程序设计方式。
5.关系型数据库支持的3种基本关系运算为:
__选择__、__投影__和__连接_。
6.对某个关系进行选择、投影或连接运算后,运算的结果仍然是一个__二维表(关系)_。
7.关系型数据库的标准操纵语言是__SQL__。
8.ViualFoxPro的3种基本操作方式为:
命令方式、__菜单选择__方式和__程序执行__方式。
9.项目管理器是按一定的顺序和逻辑关系对应用系统的文件进行有效组织的工具,它可以用最简单可视化的方法对数据库和数据表进行管理。
10.一个关系数据库是由若干个数据表组成,数据表又由若干个记录组成,而每个记录由若干个以字段属性加以分类的数据项组成。
11.数据库就是以一定的组织方式将相关数据组织在一起存储在磁盘上所形成的、能为多个用户共享的、与应用程序彼此独立的一组相互关联的数据的集合。
12.数据模型是指反映客观事物及客观事物间联系的数据组织的结构和形式。
三、简答题
1、数据处理的发展经历了哪几个阶段?
①人工管理阶段
②文件管理阶段
③数据库管理阶段
④分布式数据库管理
⑤面向对象数据库管理
2、说明VisualFoxPro系统中命令的书写规则。
命令中的英文字母可以大写,小写或大小写混合使用。
各种命令以命令动词开头,命令中子句的数量不限,而且子句的前后顺序可以任意。
命令动词和动词短语和标准函数名可缩写为前4个字母。
在程序中,每一行只能写一条命令语句。
在空格分隔命令中的各个句子,在〈字段表〉的各字段名之间用逗号分隔。
除汉字文字之外,命令中的所有符号均应使用半角符号。
命令中的文件名,内存变量名和字段变量名不能和VFP的保留字重名。
一行最多写一条命令,一个命令的最大长度为8192个字符,一行写不下时,可在行尾加分行符,然后换行后继续写。
3、VisualFoxPro命令中,使用FOR<条件>与WHILE<条件>有何区别?
命令中[范围]有哪几种用法?
FOR<条件>和WHILE<条件>的区别在于:
前者对指定范围内所有符合条件的记录进行处理;后者则由当前记录开始顺序对记录按条件进行比较,一旦遇到不符合条件的记录就结束本命令的执行,而不管后续记录是否符合条件。
范围:
ALL:
表示表中的所有记录。
NEXTN:
表示从当前记录开始的N条记录。
RECORDN:
表示表中第N条记录。
REST:
表示表中当前记录起到最后一个记录为止的所有记录。
4、数据管理技术的发展经历了哪几个阶段?
①人工管理阶段
②文件管理阶段
③数据库管理阶段
④分布式数据库管理
⑤面向对象数据库管理
5、什么是数据库?
是以一定的组织方式将相关数据组织在一起存储在磁盘上所形成的、能为多个用户共享的、与应用程序彼此独立的一组相互关联的数据的集合。
6、什么是数据库管理方式?
是将大量的相关数据按照一定的逻辑结构组织起来,构成一个数据库,然后借助于专门的数据库系统软件对这些数据资源进行统一的,集中的管理。
7、什么是一对一联系,一对多联系,多对多联系?
一对一联系:
当前实体集中的每一个实体,在另一个实体集中最多的只能找到一个可以与它相联系的实体;反过来说,在另一个实体集中的每一个关,也只能在当前实体集中最多找到一个能够相联系的实体。
一对多联系:
当前实体集的每一个实体,在另一个实体集中可以找到多个能够与它相联系的实体;反过来说,在另一个实体集中的每一个实体,却只能在当前实体中找到一个能够相联系的实体。
多对多联系:
当前实体集中的每一个实体,在另一个实体集中可以找到多个能够与它相联系的实体;反过来说,在另一个实体集中的每一个实体,也能够在当前实体集中找到多个能够相联系的实体。
习题二
一、选择题
1、执行X=VAL(”123.45”)后,变量X的类型是(C)
A、字符型
B、日期型
C、数值型
D、逻辑型
2、执行命令STORE‘100’TOVARL
?
TYPE(‘VARL’)
其结果为(C)
A、D
B、L
C、N
D、C
3、EOF()是测试函数,当正使用的数据表文件的记录指针已达到尾部,其函数值为(C)
A、0
B、1
C、.T.
D、.F.
4、?
AT(“大学”,“北京语言文化学院”)的答案是(D)
A、12
B、13
C、16
D、0
5、下列选项中不能够返回逻辑值的是(C)
A、EOF()
B、BOF()
C、RECNO()
D、FOUND()
6、清除以A开头的所有内存变量的命令是(D)
A、RELEASEALLA*
B、RELEASEA*
C、ERASEA*
D、RELEASEALLLIKEA*
7、执行下列命令HZ=“中华人民共和国”
?
SUBSTR(HZ,LEN(HZ)/2-2,4)
输出的结果是(B)
A、中华
B、人民
C、共和
D、和国
8、当前记录号可用函数(D)求得。
A、EOF()
B、BOF()
C、RECC()
D、RECNO()
二、填空题
1、VisualFoxPro可以处理的数据元素有常量、变量、表达式和函数四种形式。
2、VisualFoxPro的变量可分为内存变量、字段变量、数组变量、系统变量和对象变量等5类。
3、内存变量的数据类型是由当前存储的数据类型决定的,退出VisualFoxPro时,内存变量将自行消失。
4、数组的最小下标是1,数组元素的初值是.F.。
5、字符运算符“-”是将两个字符串连接在一起,并将前面字符串尾部的空格移到字符串尾部。
6、两个日期型数据相减,结果是这两个日期相差的天数。
7、在VisualFoxPro命令窗口中输入下列命令后,主窗口显示的结果是.F.。
SETEXACTOFF
?
"计算机"="微型计算机"
8、如果在一个表达式中,有逻辑运算、算术运算、关系运算,但不含括号,则它们的运算顺序是算术>关系>逻辑,结果是逻辑类型数据。
9、设年龄=15,性别="男",职业="中学生",在命令窗口中输入命令?
性别="男".AND.年龄<18.OR.职业="学生",其结果是.T.。
10、函数CTOD('03/01/04')值的数据类型是日期。
11、设S="中华人民共和国″,从中取出"人民″二个字的函数是substr(s,5,4)。
12、函数MOD(67,-6)的值是-5。
13、在VisualFoxPro中,函数ROUND(45759.5564,3)返回值是45759.556。
14、函数TIME()返回值的数据类型是字符型。
15、清除当前内存中的所有内存变量,应使用命令RELEASEALL,清除当前内存中的所有内存变量,并关闭所有文件,将1号工作区置为当前工作区,应使用命令COLSEALL。
三、求出下列表达式的值
(1)?
INT(79.23)
79
(2)?
AT(“文件”,“数据文件”)
5
(3)?
CTOD(“02/03/1997”)
02/03/97
(4)?
STR(12345.12,5,4)
12345
(5)?
156+VAL(“78.66”)
234.66
(6)?
LEFT(“SUNDAY”,4)
SUND
(7)?
STR(5.67896,5,3)
5.679
四、试写出从字符串”YESTERDAY”中取出子串”TERD”的表达式。
SUBSTR(“YESTERDAY”,4,4)
五、简答题
1.什么是变量?
什么是内存变量和字段变量?
VisualFoxPro的内存变量和字段变量主要区别有哪些?
变量是在命令操作和程序运行中其值允许变化的量。
内存变量是内存中的一个存储区域,独立于数据库和表而存在,变量值就是存放在这个存储区域里的数据。
字段变量是用来描述数据表中记录属性的量。
字段变量与内存变量的区别:
字段变量是表结构的义愤,因此离不开表。
要使用字段变量,首先必须打开包含该字段的表。
而内存变量与表无关,不打开表照样可以使用。
2.VisualFoxPro中内存变量的命名规则有哪些?
命名规则:
以字母、汉字或下划线开头,不能以数字开头;由字母、汉字、数字、下划线组成,不能含有空格;至多128个字符;不可与系统保留字同名。
3.VisualFoxPro的表达式有哪几种类型?
各种表达式的类型是由什么决定的?
它们的计算规则是什么?
数值表达式、字符表达式、日期时间表达式、关系表达式、逻辑表达式。
表达式的类型是由表达式的值的类型决定的。
在每一类运算符中各个运算符有一定的运算优先级。
不同类型的运算符也可能出现在同一个表达式中,这时他们的运算优先级顺序为:
先执行算术运算符、字符串运算符和日期时间运算符,其次执行关系运算符,最后执行逻辑运算符。
4.VisualFoxPro有几种类型的函数?
数值函数、字符函数、日期和时间函数、数据类型转换函数、测试函数
习题三
一、选择题
1、如果需要给当前表增加一个字段,应使用的命令是(B)。
A、APPAND
B、MODIFYSTRUCTURE
C、INSERT
D、EDIT
2、一个表的全部备注字段的内容存储在(A)中。
A、同一备注文件
B、不同备注文件
C、同一文本文件
D、同一数据库文件
3、在VFP环境下,用LISTSTRU命令显示表中每个记录的长度(总计)为60,用户实际可用字段的总宽度为(C)。
A、60
B、61
C、59
D、58
4、在VFP的表格结构中,逻辑型、日期型和备注型字段的宽度分别为(B)。
A、1、8、10
B、1、8、4
C、3、8、10
D、3、8、任意
5、已知当前表中有60条记录,当前记录为第6号记录。
如果执行SKIP3后,则当前记录为第(D)号记录。
A、3
B、4
C、8
D、9
6、顺序执行下列命令后,最后一条命令显示结果是(A)。
USE成绩
GO5
SKIP-2
?
RECNO()
A、3
B、4
C、5
D、7
7、不能对记录进行编辑修改的命令是(A)。
A、MODISTRU
B、CHANGE
C、BROW
D、EDIT
8、使用REPLACE命令时,如果范围子句为ALL或REST,则执行该命令后记录指针指向(C)。
A、末记录
B、首记录
C、末记录的后面
D、首记录的前面
9、执行SELECT0选择工作区的结果是(B)。
A、选择了0号工作区
B、选择了空闲的最小号工作区
C、选择了一个空闲的工作区
D、显示出错信息
10、在VFP中,使用“数据工作期”窗口打开一个表应单击的按钮是(B)。
A、添加
B、打开
C、浏览
D、关闭
11、新打开一个表,要求只显示第20条记录,应使用的命令是(B)
A、GO20
LIST
B、GO20
DISPLAY
C、SKIP20
LIST
D、SKIP20
DISPLAY
12、计算职称为“工程师”的所有职工的工资总和,并把计算结果存入内存变量GZH,应该使用命令(A)
A、SUM工资TOGZHFOR职称=“工程师”
B、SUMON工资TOGZHFOR职称=“工程师”
C、TOTALON工资TOGZHFOR职称=“工程师”
D、TOTAL工资TOGZHFOR职称=“工程师”
13、当前记录序号为3,将第6记录设置为当前记录的命令是(C)
A、SKIP–6
B、SKIP+6
C、SKIP+3
D、SKIP
14、数据库文件中有数学、英语、计算机和总分四个数值型字段,要将当前记录的三科成绩汇总后存入总分字段中,应使用命令(B)
A、TOTAL数学+英语+计算机TO总分
B、REPLACE总分WITH数学+英语+计算机
C、SUM数学,英语,计算机TO总分
D、REPLACEALL数学+英语+计算机WITH总分
15、依次执行以下6条命令:
SELECT1
USEF1
SELECT2
USEF2
SELECT3
USEF3
现在要给F1追加记录,但又不改变当前表的打开状态,应该使用命令序列(C)
A、GOF1
APPEND
B、GO1
APPEND
C、SELECT1
APPEND
D、USEF1
APPEND
16、表中“婚姻状况”字段为逻辑类型,显示所有未婚者记录的命令是(D)
A、LISTFOR婚姻状况=.F.
B、LISTFOR婚姻状况=”N”
C、DISPFOR.NOT.婚姻状况
D、DISPALLFOR.NOT.婚姻状况
17、对数据表的结构进行操作,是在(A)环境下完成的。
A、表设计器
B、表向导
C、表浏览器
D、表编辑器
18、以.DBF为扩展名的文件是(C)
A、备注文件
B、索引文件
C、表文件
D、菜单文件
19、数据表中的记录暂时不想使用,为提高数据表的使用效率,对这些“数据”要进行(A)
A、逻辑删除
B、物理删除
C、不加处理
D、数据过滤器
20、在VisualFoxpro环境下,若已打开A.DBF表文件,统计该表中的记录数,使用的命令是(B)
A、TOTAL
B、COUNT
C、SUM
D、AVERAGE
21、在VFP中,使用AVERAGE命令时,表文件需要(D)
A、排序
B、建立索引
C、排序或建立索引
D、什么都不需要
22、学生表中有姓名、性别、出生日期等字段,要显示所有1985年出生的学生名单,应使用的命令是(C)
A、LIST姓名FOR出生日期=1985
B、LIST姓名FOR出生日期=“1985”
C、LIST姓名FORYEAR(出生日期)=1985
D、LIST姓名FORYEAR(“出生日期”)=1985
23、要从某表文件中真正删除一条记录,应当(C)
A、先用DELETE命令,再用ZAP命令
B、直接用ZAP命令
C、先用DELETE命令,再用PACK命令
D、直接用DELETE命令
二、填空题
1、一对多关系中,父表中的索引是主索引,子表中的索引是普通索引。
2、可用LIST或DISPLAY命令只显示记录的内容,而不能修改。
3、VFP将表可分为两种。
即自由表和数据库表。
4、自由表可以单独使用,也可以被多个用户所共享。
5、表由结构和数据两部分组成。
6、自由表的字段名必须是以字母或汉字开头,由字母、汉字、数字、下划线等组成,其长度不超过10个字符。
7、浏览窗口显示表记录有两种格式,即浏览和编辑。
8、VFP支持两类索引文件,即独立索引文件和复合索引文件。
9、结构复合索引文件的文件标识符与表相同,它随表的打开而打开,在增删记录时会自动维护,因而使用最方便。
10、在选择工作区的SELECT命令中,即可以使用表别名,又可以使用工作区号,选定的工作区称为当前工作区。
11、关闭数据库的命令是CLOSEDATABASE。
12、显示命令LIST和DISPLAY功能是基本相同,唯一的区别在于,当显示内容超过一屏时,LIST是以连续滚动方式显示,而DISPLAY是以分屏显示。
13、工资关系中有工资号、姓名、职务工资、津贴、公积金、所得税等字段,其中可以作为关键字的字段是工资号。
三、程序题
1、在STU表和GRE表之间以“学号”为关键字建立关联,并显示“姓名”、“性别”和“成绩”。
SELE1
USESTU
INDEXON学号TAGXH
SELE2
USEGRE
SETRELATO学号INTOSTUADDI
BROWFIELSTU.姓名,STU.性别,成绩
2、显示出当前已打开的表中满足条件:
民族为“汉”的记录。
DISPLAY(LIST)FOR民族=“汉”
3、以“学号”为关键字,连接STU表和GRE表,并取新表名为XB.DBF,新表中的字段名为“学号”,“姓名”,“三好生”和“成绩”,其中“成绩”为GRE表中的字段,其它均为STU表中的字段。
SELE1
USESTU
SELE2
USEGRE
JOINWITHATOXBFOR学号=A->学号;
FIELDS学号,A->姓名,A->三好生,成绩
习题四
一、选择题
1、、数据库中可以存放的是(B)
A、数据库文件
B、数据库表文件
C、自由表文件
D、查询文件
2、1个工作区可以打开的数据库文件数为(A)
A、1
B、2
C、10
D、15
3、SQL语言是(B)
A、高级语言
B、结构化查询语言
C、第三代语言
D、宿主语言
4、在SQL中,建立视图用(C)
A、CREATESCHEMA命令
B、CREATETABLE命令
C、CREATEVIEW命令
D、CREATEINDEX命令
5、将项目文件中的数据表移出后,该数据表被(A)
A、移出项目
B、逻辑删除
C、移出数据库
D、物理删除
二、程序题:
利用SQL命令生成一个查询,显示学生库中全体三好生的姓名、性别及平均成绩,并且把查询结果填入一个新的数据表中。
注:
学生表中的字段为:
姓名(C8)、性别(C2)、学号(C4)、三好生(逻辑型L)。
成绩表中的字段为:
学号(C4)、课程编号(C4)、成绩(N3)
SELECT姓名,性别,AVG(成绩)FROM学生表INNERJION成绩表ON学生表.学号=成绩表.学号GROUPBY成绩表.学号WHERE三好学生
习题六
一、选择题
1、在VisualFoxPro中,用于建立或修改过程文件的命令是:
(B)
A、MODIFI<文件名>
B、MODIFYCOMMAND<文件名>
C、MODIFYPROCEDURE<文件名>
D、上面B和C都对
2、下面关于过程调用的陈述中,哪个是正确的。
(C)
A、实参与形参的数量必须相等
B、当实参的数量多于形参的数量时,多余的实参被忽略
C、当形参的数量多于实参的数量时,多余的形参取逻辑假
D、上面B和C都对
3、在循环语句中,执行(C)语句可以立即跳出循环体,去执行循环体后的代码。
A、SKIP
B、GOTO
C、EXIT
D、BREAK
4、在VisualFoxPro语言编写的程序中,注释行用的符号是(D)。
A、//
B、{}
C、‘
D、*
5、给出以下程序的运行结果:
SETTALKOFF
X=0
Y=0
DOWHILEX<100
X=X+1
IFINT(X/2)=X/2
LOOP
ELSE
Y=Y+X
ENDIF
ENDDO
?
Y
RETURN
运行结果为(D)
A.500
B.1500
C.2000
D.2500
6、将格式化输出命令的输出送往打印机的正确命令是(C)
A、SETPRINTON
B、SETPRINTOFF
C、SETDEVICETOPRINT
D、SETDEVICETOSCREEN
7、下面(D)种调用不能嵌套。
A、子程序
B、过程
C、自定义函数
D、无
二、填空题
1、构成分支结构的语句有主要有__IF…ENDIF__、___IF…ELSE…ENDIF__、__DOCASE…ENDCASE__等。
2、构成循环结构的语句有_DOWHILE…ENDDO_、__FOR…ENDFOR__、__SCAN…ENDSCAN__等。
3、常见的输出命令有单问号和双问号,其中__单问号__命令是从下一行开始显示输出。
4、设有CYTD.DBF数据表,其记录中包含“姓名”字段,并且以它为关键字进行过索引文件为CYXM.IDX。
因为某种误操作,使得该数据表中存在“姓名”重复的记录,现在编了一个程序进行自动检查,并把重复记录删除。
请在下面程序______处填写正确的内容,使程序能完成上述功能。
SETTALKOFF
USE