资源描述
高一《数据库基础》复习材料
一、关于数据库:
(1)数据处理:指的是收集、组织、加工、存储、传送各类数据的过程。
(2)数据库 :是存储在计算机里的按一定规则相互关联的数据的集合。
(3)按数据的组织与管理方式分,数据库有关系型数据库、层次型数据库和网络型数据库等三大类。目前,微型计算机中常用的是关系型数据库。
(4)把关系型数据库中的数据看做二维表格的元素,表格的结构体现的是数据之间的关系。在这种二维表格中,每一行叫做一个记录,每一列叫做一个字段。
(5)数据库管理系统 是用来建立数据库,完成数据库的维护、管理等操作,并能够帮助用户方便地使用数据库的软件。如:Foxpro,Access等。
(6)多数foxpro命令带有[范围] [Fields <字段名列表>][For <条件>]等3个常用子句。
在命令中如果缺省范围短语,不同的命令有不同的默认值。
例如:Browse,List ,Count,Sum,Average,Sort等命令的范围默认为ALL;Display,Delete,Replace,recall 等命令的范围默认为当前记录。
命令中如果包括For<条件>短语,但缺省范围短语,则无论该命令的原范围默认值是什么,范围一律默认为All.
二、建立数据库:
1、建立数据库结构(类似于建立二维表格的表头)
菜单方式:
FileàNewàTable/DBF。
命令方式:
CREAte 文件名(Ctrl+F2可打开命令窗口)
目的:确定数据库中各个字段的名称、类型、宽度、小数位数等参数,然后再输入数据。
2、输入数据
(1) 在建立数据库结构后,窗口提示“Input data records now? 点击yes”,则可开始输入数据。
(2) 利用APPEnd命令在所有记录的最后面追加数据。
(3) 关闭数据库
在命令窗口输入USE后,回车。
(4) 有关内容:P143~P151
(5) 复习练习:P152
三、使用数据库:
1、打开数据库
菜单方式:
FileàOpen,选中数据库文件后,单击Open
命令方式:
USE 文件名 (注:数据库文件的扩展名是dbf ,注意文件存放的路径)
2、查看数据库结构(注:应先打开数据库 ,下同)
菜单方式:
DatabaseàSetup
命令方式:
MODIfy STRUcture(可更改库结构 )
LIST STRUcture (可查看库结构但不可更改库结构 )
3、查看数据库所有记录
命令方式:
BROWSE |LIST |DISPLAY [<范围>] [ FOR <条件> ] [FIELDS<字段名列表>]
范围参数: ALL 对所有记录操作。
NEXT n 对从当前记录起的连续 n个记录操作(包括当前记录)。
REST 对从当前记录起的以下剩余记录操作(包括当前记录)。
RECOrd n 对第 n个记录操作。
不指定 BROWSE和LIST默认对所有记录进行操作,DISPLAY默认对当前记录进行操作。
BROWSE命令FIELDS关键字不能省略。
For 条件:对指定范围中那些符合条件的记录进行操作。
例:设有文件名为CHENGJI.DBF的学生成绩数据库,显示考试成绩大于500分的学生姓名、学号、总分。(注意:逗号必须是半角字符 )
(1) LIST FIELDS 姓名,学号,总分 FOR 总分>500
(2) DISPlay ALL 姓名,学号,总分 FOR 总分>500
(3) BROWse FIELDS 姓名,学号,总分 FOR 总分>500
关于条件表达式
算术运算符: + - * / ^ (乘方)
关系运算符: = <> < > >= <= $ (包含)
逻辑运算符: .AND. .OR. .NOT.
例: 9>=X>=-1 表示为: X>= -1 .AND. X<=9
X>10或 X<=5 表示为: X>10 .OR. X<= 5
计算机成绩不为 . F. 表示为: . NOT . 计算机= .F.
说明:
在条件表达式里:
1) 字符型数据必须用单引号括起来,如 学号=' 010228 '
2) 日期型数据必须用大括号括起来,如 出生日期={75/12/23}
3) 逻辑型数据必须在T或F前后个加一个圆点
如:计算机=.T. 性别=.F.
(2)菜单方式:DatabaseàBrowse
4、统计运算
1)求和(纵向求和):对所有记录求和,并把结果存到内存变量中:
命令方式:
SUM [字段名列表][ To <内存变量表>]
例:SUM 英语,数学,语文 to English,maths,chinese
对满足一定条件的记录求和,并把结果存到内存变量中:
命令方式:
SUM [字段名列表] [<范围>] [ FOR <条件>] [ To<内存变量表>]
例:SUM 英语,数学,语文 FOR 寄读=. T.
2)求平均数: 对所有记录求平均数,并把结果存放到内存变量中:
命令方式:
AVERage [字段名表] [ To<内存变量表>]
例:AVER 英语,数学,语文 to English,maths,chinese
对满足一定条件的记录求平均数:
命令方式:
AVERage [字段名列表] [<范围>] [ FOR <条件> ] [ To <内存变量表>]
例:AVER 英语,数学,语文 FOR 寄读=.T.
3)计数:
统计数据库的记录数:
命令方式:COUNt
统计满足一定条件的记录数:
命令方式:
COUNt [<范围>] [ FOR <条件> ] [ To<内存变量表>]
例1:COUN FOR 寄读=.T. to renshu
COUN FOR 外语<=84 . AND. 外语>=60
例2:将计数后的结果保存在指定变量里:
COUN FOR 寄读=.T. TO JD
若要查看JD的值,可在命令窗口执行
?JD 或 ? " 寄读人数= ",JD
说明:如果sum、average、count命令不指定范围,默认对所有记录进行操作。
5、有关内容:P153~P160
6、复习练习:P160
四、维护数据库:
1、关于记录指针
记录号 数据库中一般都有很多条记录,为确定记录在数据库中的位置,每个记录都有一个编号,叫做记录号。
记录指针 FoxPro还设置一个记录指针,使它指向某个记录。
当前记录 记录指针指示的记录,叫做当前记录。
记录指针的值 当前记录的记录号,也叫做记录指针的值。
在状态栏中显示的标志 “ Record:n/m ”
m是当前打开的数据库中记录的总数,n就是当前记录的记录号。
记录指针定位 利用FoxPro的命令,可以移动记录指针的位置,使指定的记录变成当前记录。移动记录指针的操作,叫做记录指针定位。
记录指针定位的方法:
1) n 在命令窗口中,输入某一数字n 然后回车,则指针移到记录号为n的记录上。
2) GO n 在命令窗口中,输入 GO n 然后回车,则记录指针移到记录号为n的记录上。
3) GO TOP 在命令窗口中,输入 GO TOP 然后回车,则记录指针移到数据库的首记录。
4) GO BOTTom 在命令窗口中,输入 GO BOTT 然后回车,则记录指针移到数据库的末尾记录。
5) SKIP +n 在命令窗口中,输入 SKIP +n 然后回车,则记录指针从当前位置按索引排序的顺序向下移动n个记录。
6) SKIP - n 在命令窗口中,输入 SKIP -n 然后回车,则记录指针从当前位置按索
引排序的的顺序向上移动n 个记录。
7) SKIP 在命令窗口中,输入 SKIP 然后回车,默认为 SKIP +1。
2、插入记录 (P162)
命令方式:
INSErt [BLANK] [BEFORE]
(1) INSErt
在当前记录后插入一个新记录。在屏幕上会出现Change窗口,以单记录方式等待用户输入新记录。
(2) INSErt BEFOre
在当前记录前插入一个新记录。在屏幕上会出现Change窗口,以单记录方式等待用户输入新记录。
(3) INSErt Blank
直接在当前记录后插入一个空记录。
(4) INSErt Blank BEFOre
直接在当前记录前插入一个空记录。
3、逻辑删除(P163)
命令方式:
DELEte [<范围>] [ FOR <条件>]
对当前库文件中指定范围内满足一定条件的记录加上逻辑删除标记,若所有可选项缺省,则仅将当前记录加上逻辑删除标记。
4、恢复逻辑删除 (P164)
命令方式:
RECAll [<范围>] [ FOR <条件>]
对符合条件的记录, 取消逻辑删除标记。若所有可选项缺省,则仅将当前记录取消逻辑删除标记。
说明:
用browse命令方式打开浏览窗口后,用鼠标单击每个记录第一个字段左边的矩形标记,可以使他们从灰色变成黑色,或使他们从黑色变成灰色。用这种方法也可以完成逻辑删除或逻辑恢复。
5、物理删除 (P164)
命令方式:
PACK
对已经加上逻辑删除标记的所有记录,从数据库中真正删掉。
6、删除所有记录 (P165)
命令方式:
ZAP
删除数据库中所有记录(不论此记录是否有逻辑删除标记),只保留数据库结构。
7、修改记录中的数据 (P166)
命令方式:
EDIT 修改当前记录中数据;
使用EDIT命令打开窗口后也可利用鼠标操作,通过滚动条找到要修改的数据,完成对其他记录的修改操作。
说明:使用BROWse命令浏览时也可以修改记录中的数据。
使用菜单方式操作RecordàChange 也可以修改当前记录,或通过滚动条找到要修改的数据完成修改。
8、替换数据库记录 (P167)
命令方式:
REPLace [<范围>] [For <条件> ] <字段名> With <表达式>
计算机执行REPLACE命令时,会在范围参数指定的范围之内,对符合条件的记录用表达式的值替换字段名指定的内容。
范围参数: 不指定 默认对当前记录操作。
ALL 对所有记录操作。
NEXT n 对从当前记录起的连续 n个记录操作。
REST 对从当前记录起的以下剩余记录操作。
RECOrd n 对第 n个记录操作。
For 条件:对指定范围中那些符合条件的记录进行操作。
9、复制数据库 (P168)
命令方式:
COPy TO <备份数据库文件名> [<范围>] [ For <条件>] [Fields <字段名列表> ]
功能说明:把当前库文件中选定的部分记录和部分字段复制成一个新库文件。如果命令中各可选项缺省,则复制所得的新库文件为当前文件的一个副本。
范围参数: ALL 对所有记录操作。
NEXT n 对从当前记录起的以下 n个记录操作。
REST 对从当前记录起的以下其余记录操作。
RECOrd n 对第 n个记录操作。
不指定 对所有记录操作。
For 条件:对指定范围中那些符合条件的记录进行操作。
Fields <字段名列表>: 指定字段,多个字段用逗号隔开。
补充说明:所备份的数据库文件的存放位置在哪呢?
如果不说明路径,则默认为 c:\foxprow\
(这可以在Foxpro的快捷方式上点击右键,选择属性,在起始位置文本框中进行修改)
如果说明路径,例:c:\mydocu~1\ c盘上的我的文档下
c:\windows\desktop\ 桌面上
例如:要在d盘stu文件夹下存放01.dbf文件,则其命令为
COPY to d:\stu\01.dbf
10、复制数据库结构 (P169)
命令方式:
COPY STRUcture To <新数据库文件名> [Fields <字段名列表> ]
说明:Fields <字段名列表>: 指定新库中包含的字段,多个字段用逗号隔开。
11、修改数据库结构 (P169)
命令方式:
MODIfy STRUcture
菜单方式:
DatabaseàSetup
12、有关内容:P161~P170
13、复习练习:P165、P168、P171
五、排序、查询
1、分类排序 (P171)
简析: 排序就是根据库文件的某些字段值重排记录。排序后将产生一个新的数据库文件,文件中的记录按照新的顺序排列,原数据库文件形式不变。
命令方式:
SORT TO <新文件名> ON <字段名1> [/A | /D][/C] [, <字段名2>][/A | /D] [/C]…] [ <范围>] [FOR <条件>] [FIELDS <字段名表>]
说明:
①[ ]括号表示可选项。
②SORT命令可采用多重排序,即先按主排序字段<字段名1>排序,如果字段中某些数据相同,再按第二排序字段 <字段名2>排序。依此类推。
③选项/A和/D用来指定升序或降序,缺省时按升序排序。选项/C表示不区分字段值中的字母大小写,即把同一字母的大写与小写看成一样的。
④若缺省<范围>、FOR<条件>等子句,表示对所有记录排序。
范围: ALL 对所有记录操作。
NEXT n 对从当前记录起的连续 n个记录操作。
REST 对从当前记录起的以下其余记录操作。
RECOrd n 对第 n个记录操作。
不指定 对所有记录操作。
For 条件:选择指定范围中那些符合条件的记录进行排序。
Fields: 选择新数据库中所要包含的字段。
2、索引排序 (P 173)
(1)索引文件的建立
命令方式:(先打开要建立索引的库文件)
Index on <索引关键字> To <索引文件名> [For <条件>]
说明:
①<索引关键字>为字段名,索引文件的逻辑顺序默认为升序排列。索引关键字也可以写成表达式。
例1:本题要求按总分字段建立降序排列的索引文件,则可以将关键字写成“1000-总分”或写成“-总分”。
例2:要求按数学和语文成绩之和建立降序排列的索引文件,则可以将关键字写成:
-(数学+语文)
②TO子句建立的索引文件默认扩展名为.IDX,TO子句不能缺省。
③在同一个数据库文件中,可以对不同字段建立多个索引文件。
(2)索引文件的使用
命令:Set index to [<索引文件表>]
功能:打开当前库文件的一个或多个索引文件并确定控制索引文件。
说明:<索引文件表>可包含多个索引文件,索引文件名之间以逗号分隔,表中第一个索引文件为控制索引文件。
库文件关闭时索引文件就随之关闭。
4、定位查询 (P175)
命令方式:
LOCAte [范围] [FOR < 条件表达式>]
简析:LOCATE命令是在指定范围内顺序查找符合条件的第一条记录,找到后,系统自动将记录指针指向该记录。若找到符合条件的记录还要继续查找,可以执行CONTtinue命令。如此继续,直到状态栏中显示“End of locate scope”,即找不到符合条件的记录为止。此时记录指针指向文件结尾处。
例如:在执行LOCATE FOR 总分>=680的命令后,系统将指针指向当前数据库中第一条满足总分>=680的记录,执行DISPLAY 后,系统将该记录数据显示在工作区(主窗口)中。
5、索引查询:
命令方式: Seek <表达式>
简析:SEEK<表达式>命令的功能是在已建立了索引的数据库中按建立索引的关键字搜索满足<表达式>条件的第一条记录。若找到,记录指针指向该记录,若找不到满足条件的记录,则在状态栏中显示“NO FIND”。
Seek可用来搜索字符型、日期型和数值型数据,查找的数据类型必须与索引文件中关键字的类型一致
说明:在使用Seek命令以后输入下面的命令
? RECNO ()
可用来在工作区显示所找到的记录号(当前记录号)。
?Found()
有找到则在工作区显示.T. ;没有找到则显示.F.
6、有关内容:P171~P175
7、复习练习:P177 (1)、(3)
六.掌握Foxpro中简单程序的编制:
1.建立程序文件
菜单操作方式:
File——>new——>program——>new
程序扩展名为:.prg
(简单索引文件扩展名:.idx 数据库文件扩展名为:.dbf)
字符命令方式:
modify command [<路径>][<程序文件名>]
2.运行程序
do [<路径>] <程序文件名>
3.程序的编制
分支语句:
① if <条件>
语句块
② if <条件>
语句块1
else
语句块2
endif
循环语句:
① for <循环变量>= <初值> to <终值>
循环语句
next
流程图:
循环变量=初值
[初值,终值]
F
T
循环语句
② do while <条件表达式>
循环体
条件表达式值
end do
F
T
循环语句
注:for……next 用于己知循环次数的循环
do……while 用于未知循环次数的循环
10
展开阅读全文