2008职称计算机考试(数据库操作示例详解)
@kD8^,( oH +yt6(7V* +~2rW8 示例一:
cQpnEO&SL 题目要求:说明:下面所提到的“当前目录”是指答题文件夹中的FOXKT文件夹;而且以下文件名、字段名、字段值中的字母和数字都是英文半角字符。
.gZZCf&?
{,O`rW_eS 在FoxPro环境中进行如下操作:
kRIB<@{ 1、创建数据表(2分):在当前目录(FOXKT文件夹)中创建数据表STRUH.DBF,结构如下:
%hT4qzJj Field Name Type Width Dec
HW7FP]NH ?)tK!' 图书名称 Character 30
:_d3//| ]" x\=A 作者 Character 10
}WP-W |9NIGg'n 出版日期 Date
^>r^3C)_- {sS_|sX 印刷量 Numeric 8 0
,9/5T: 2 解析创建数据表:
"zV']A>4H Ø启动Visual foxpro,在“文件”菜单下选择“新建”;
K%,$ V,# Ø打开“新建”对话框,然后选择“表”单选按钮,再单击“新建文件”;
S6 }QFx Ø此时打开“创建”窗口,选择文件保存的位置为C:\CZKT\FOXKT,输入表名为:STRUH.DBF然后单击“保存”;
.L;",E Ø弹出“表设计器”对话框,此时根据给定的字段名、类型、宽度创建表。注意:Character字符型、Date日期型、Numeric数值型(注意小数及整数位)
4'At.<]jL Ø输入完毕单击“确定”,此时弹出“此时输入数据记录吗?”提示,由于题目无要求,所以单击“否”,第一题完成。
EZ% .M*? h-'wV${b :Z2tig nL 8&a_A:h 2、数据计算(4分):在当前目录下打开FoxH.DBF,计算所有记录的“总分”列,计算公式为:
m<fA|9 F# 总分 = 数学 + 物理 + 化学
ZzL@[g 解析数据计算:
Ku%6$C!, Ø打开目录C:\CZKT\FOXKT中FoxH.DBF表,然后单击“显示”菜单选择:
;mJkqbVol “浏览(B)”Foxh(c:\czkt\foxkt\foxh.dbf)””浏览FoxH.DBF表数据内容;
Hcl"T1N* Ø单击“表”菜单,选择“替换字段”,在“字段”下拉列表中选择“总分”,在“替换为”文本框后面单击“…”按钮;
M]ap: Ø双击“字段”里显示的“数学”然后输入“+”,再单击“物理”然后输入“+”,再单击“化学”单击“确定”;
T]2U fi. Ø在“替换条件”中选择“ALL”,单击“确定”,此时可看到计算后的结果显示在表格中。
<:cpz* G4 简便方法:打开FoxH.DBF,在命令窗口输入:
Iu6W=A UPDATE 总分 SET 总分=数学+物理+化学
?Y!U*& 7 然后再输入LIST浏览一下计算后结果。
g3a/;wl ?Y!^I2Y6 Q
eK{
MF P7>IZ >bw 3、创建索引(2分):在当前目录下打开IndexH.dbf数据库表文件,建立索引:
%AgA -pBp 索引名为“RESULT”、升序、类型为“唯一索引”、表达式为“总分”。
:1BM=_WwI 解析创建索引:
{h
^c Ø打开 C:\CZKT\FOXKT中IndexH.dbf表,单击“显示”菜单选择“表设计器”,此时弹出“表设计器-IndexH.dbf”对话框;
"
~n3iNkP Ø单击“索引”选项卡,输入:索引名为“RESULT”、升序(默认为升序,单击一下变为降序)、类型为“唯一索引”、表达式为“总分”,单击“确定”此操作完成。
fIEw(k<* 注意:如果打开的“表设计器-IndexH.dbf”对话框为只读文件时,则先将任意建一个数据库,将表添加到数据中,然后设置索引。最后再将表在数据库中“移去”,不是“删除”。
rys<-i( T:n<db,Px U 1F-~{r 5\?3$<1I 4、关闭所有打开的数据库,退出FoxPro应用程序。
X
v*}1PZH 关闭Visual foxpro
{|p"; uJ 示例二:
Okoo(dfM 1、创建数据表(3分):在当前目录(FOXKT文件夹)中创建数据表STRUE.DBF,结构如下:
4a 4N
C Field Name Type Width Dec
2|s<[V3rP- ;&7,73! 姓名 Character 10
#ZF>WoC@e? - XLo0 是否女性 Logical
9C?cm: Ik-oI=>. 入学日期 Date
Za9$Hh/X 考试成绩 Numeric 3 0
%2zas(b9j 解析创建数据表:类似于示例一,注意逻辑型数据,此处略。考生可以对照此题做一个练习。
;fkSrdj 2、录入数据(2分):在当前目录下打开RECE.DBF,往该数据表中追加如下记录:
=1Ri]b A ~XOK;sB 编号 姓名 年龄 所属球队
,y%ziay B008 李鸿雁 18 绿队
?Oqzd$- 解析录入数据:
}!=gP.Zu^ Ø打开目录C:\CZKT\FOXKT中的表RECE.DBF,然后单击“显示”菜单下的“浏览……”(后面写的位置和表名),此时您就可以浏览一下表格的所有记录了;
psu OJ- Ø在“表”菜单下,选择“追加新记录”选项,此时会看到,在记录的末笔添加了一条空的记录;
jwq\stjD Ø按照题目给定的内容将数据添加到记录当中,完成后,不需要保存直接退出。(因为已经自动保存了)
u8^Y,LN 3、数据复制(3分):在当前目录下打开CMDE.DBF,将所有所在城市是“石家庄”的记录复制到GENE.DBF中。
6SV7\,2M 解析数据复制:
>eRZ+|k?N Ø“文件”菜单选择“新建”,弹出“新建”对话框,选择“查询”单选按钮,再选择“新建文件”;
,zD_% ox Ø此时弹出一个“打开”对话框,此对话框后面显示“查询设计器”,选择C:\CZKT\FOXKT中的表CMDE.DBF,然后“确定”。最后闭关“添加表或视图”对话框;
B%
2L1T= Ø在“字段”选项卡中单击“全部添加”,查询的表中将包括该表的所有字段;
keaj3#O Ø在“筛选”选项卡中“字段名”下拉列表框中选择“Cmde.所在城市”,
TbMdQbj} Ø“条件”下拉列表中选择“=”,“实例”文本框中输入“石家庄”(注意必须带引号,必须为英文状态下半角的引号);
=MCNCV/< Ø单击“查询设计器”工具栏中的“查询去向”,选择“表”按钮,在“表名”中输入“GENE.DBF”,单击“确定”,再单击工具栏中“!”。
</|)"OD9 Ø查询不需要保存,直接关闭,本题要的是查询结果。
z'_&|-m 特别强调:完成本题后,可以到C:\CZKT\FOXKT文件夹中查看一下。如果没有该表,就是保存的位置有误。为了更快、更准确的将该表保存到指定文件夹中,可以首先设置一下“文件位置”下的“默认目录”。
^l--zzO8l 4、关闭所有打开的数据库,退出FoxPro应用程序。
gm(De9u is9}ePC7Xu 示例三:
(=`Z0)= 1、创建数据表(2分):在当前目录(FOXKT文件夹)中创建数据表STRUA.DBF,结构如下:
]GQv4-y Field Name Type Width Dec
sw [oQ!f hHCzj*5 厂商 Character 30
A%h~Z
a r }ZLf 负责人 Character 10
U@#?T E2Us#a 订购日期 Date
ud yAP> -xw
98 订购数量 Numeric 8 0
r@olC7& 注意:该题目与示例一和示例二中第一题相似,考生可以当作练习。在此省略解析。
CdDH1[J 2、数据计算(2分):在当前目录下打开FoxA.DBF,计算所有记录的“未还费用”列,计算公式为:
S|~i> 未还费用 = 贷款费用 - 已还费用
qe[ 注意:此题和示例一中的第二部分“数据计算”相似,只是将加法变为减法。操作方法相似,不再做进一步解释。考生可以做练习复习一下该内容。
aF,jJ}On 3、创建索引(2分):为FoxA.DBF建立索引:索引名为“DAIKUAN”、升序、类型为“唯一索引”、表达式为“贷款费用”。
XIqv{w 注意:此师和示例一中的第三部分相似,按要求建立索引。在此不做详细解释,考生可以做练习复习一下本重点。
y*}AX%8`e~ 4、创建查询(2分):打开FoxA.DBF建立一个查询,字段选择编号、姓名、已还费用字段,筛选记录条件为已还费用大于等于5000,排序选择按已还费用降序排序。将生成的查询以文件名ta保存在FOXKT文件夹下(注意:扩展名默认)。
TP~(
r 解析创建查询:
I0I_vu Ø“文件”菜单选择“新建”,弹出“新建”对话框,选择“查询”单选按钮,再选择“新建文件”;
+Y^-e.UO Ø此时弹出一个“打开”对话框,此对话框后面显示“查询设计器”,选择C:\CZKT\FOXKT中的表FoxA.DBF,然后“确定”。最后闭关“添加表或视图”对话框;
P)Z/JHB Ø在“字段”选项卡中分别选择“编号、姓名、已还费用”,然后单击“添加”
y=-{Q Ø在“筛选”选项卡中“字段名”下拉列表框中选择“Foxa.已还费用”,
=*{K@p_ “条件”下拉列表中选择“>=”,“实例”文本框中输入5000.
GEhdk]<a7 Ø单击“排序依据”选项卡,选择“已还费用”然后单击“添加”,在“排序选项”中选择“降序”单选按钮;
A,3@j@bdy Ø“文件”菜单,选择“保存”,文件保存的位置为C:\CZKT\FOXKT文件夹中,文件名为“ta”,此处扩展名默认为“.qpr”。
F<h&3 5、关闭所有打开的数据库,退出FoxPro应用程序。
se~ *<5 存盘退出。