数据库和数据库管理系统的基础知识模板.docx
《数据库和数据库管理系统的基础知识模板.docx》由会员分享,可在线阅读,更多相关《数据库和数据库管理系统的基础知识模板.docx(12页珍藏版)》请在冰豆网上搜索。
数据库和数据库管理系统的基础知识模板
总复习
Foxpro部分
一、数据库和数据库管理系统的基础知识
1、基本概念
1)数据(Data):
计算机处理的符号、数值、声音、图象等各种信息。
2)数据库(DataBase):
指的是存储在计算机里的按一定的规则相互关联的数据的集合。
3)数据库管理系统(DBMS):
以数据库应用为目的的计算机系统。
必须能完成数据收集、存储、处理、维护,对数据的安全性和完整性进行控制和检查、检索等一系列功能。
数据库的维护包括:
修改,插入,更新和删除。
数据库的管理包括:
分类,查找,统计和输出。
4)数据库管理系统特点:
①数据共享,提高了数据的利用率
②数据数据冗余度低,能够控制。
③数据独立性高,由”数据依赖于程序”改变为”以数据为核心”
5)常见的数据库模型有层次模型、网状模型和关系模型。
所谓关系模型实际上是一个二维表。
Foxpro就是在计算机上实现的关系型数据管理系统。
在这种二维表格中,每一行叫做一个记录,每一列叫做一个字段。
2、启动Foxpro:
开始——>程序——>Foxproforwindows——>Foxproforwindows
退出Foxpro:
1)File——>exit2)在命令窗口中输入Quit回车
3、
Foxpro窗口组成(如右图)
标题栏:
菜单栏:
可完成Foxpro的各种操作
工作区:
显示一些信息(如命令执行后的结果)其中含有命令窗口,用做输入Foxpro命令,可对数据库进行各种管理。
状态栏:
显示当前状态(如当前打开的是哪个数据库,记录的个数,当前指针位置等内容)
4、数据库管理中两种操作方法:
菜单操作方法、命令操作方法
二、foxpro数据库管理系统的基本操作
5、数据库结构的基本概念:
建立数据库分两步走,先建立库结构(再追加记录),库结构确定所创立的数据库包括那些字段,每个字段名称、类型、长度等属性。
6、建库方法
1)
File——>new——>选择Table/dbf——>new
2)在命令窗口中输入 creat<路径><数据库名>回车
7、数据类型和表示法:
字段名
数据类型
字段宽度、小数位数
字段名能够字母、汉字打头,由汉字、字母、数字、上下划线构成,不可有空格等特殊字符,长度不超过10个字符(半角),同一数据库中不可有同名字段
字符型
(character)
由汉字、字母、数字、符号构成,最长可有254个字符。
引用时由单引号引起来。
数值型
(numeric)
由数字、正负号及小数点构成,长度小于等于20,小数点占一位。
可直接引用。
如果是小数,宽度=整数位数+1(小数点)+小数位数
逻辑型
(logical)
.T.(真).F.(假)长度为1引用时用两个小圆点引起来。
日期型
(date)
{yy/mm/dd}的形式,长度为8。
引用时用大括号引起来。
8、打开、关闭数据库的方法:
1)打开:
①File——>open——>指定数据库——>open
②在命令窗口中输入USE〈数据库名〉回车
③Windows——>View___open——>指定数据库——>open
2)关闭:
①Windows——>View——>close
②在命令窗口中输入USE回车
③退出Foxpro
9、退出Foxpro的命令:
quit
查看数据库结构的命令:
liststru
修改数据库结构的命令:
modistru
10、输入、追加数据的方法:
(必须先打开数据库)
1)recorde——>append——>打开输入窗口输入新记录
2)在命令窗口中输入APPEND回车
注:
用append追加是追加到库的末端。
Appendblank:
在数据库末尾增加一条空白记录。
11、查看数据库中记录的数据:
命令格式:
disp/list/brow﹝〈范围〉﹞﹝[fiel]〈字段名〉﹞﹝for〈条件表示式〉﹞
注:
1)
命令
功能
List
显示当前数据文件的全部记录数据(滚动)
Display
显示当前数据文件的当前记录数据(分屏)
browse
在主窗口中以表格形式显示当前数据库记录的全部数据
①在命令中如果缺省范围短语,不同的命令有不同的默认值。
例如:
Browse,List,Count,Sum,Average,Sort等命令的范围默认为ALL;Display,Delete,Recall,Replace等命令的范围默认为当前记录。
②命令中如果包括For<条件>短语,但缺省范围短语,则无论该命令的原范围默认值是什么,范围一律默认为All.
③
范围参数
操作对象
All
对所有记录操作。
Nextn
对从当前记录起的连续n个记录操作(包括当前记录)。
Recordn
对第n个记录操作。
Rest
对从当前记录起的以下剩余记录操作(包括当前记录)。
2)fields后各字段名之间用半角逗号分隔,在使用list和display中,”fields”可省略不写,但在使用browse命令中”fields”这个词不可省略。
例:
设有文件名为CHENGJI.DBF的学生成绩数据库,显示考试成绩大于500分的学生姓名、学号、总分。
(注意:
逗号必须是半角字符)
(1)list姓名,学号,总分for总分>500
(2)display all 姓名,学号,总分 for总分>500
(3)browsefiel姓名,学号,总分for总分>500
3)数学表示式的表示和使用:
ⅰ)算术运算符:
+-*/^(乘方)
ⅱ)关系运算符:
=<><>>=<=$(包含)
A
B
A.AND.B
A.OR.B
.NOT.A
T
T
T
T
F
T
F
F
T
F
F
T
F
T
T
F
F
F
F
T
ⅲ)逻辑运算符:
.AND..OR..NOT.
.AND.两边表示式均成立时,整个表示式成立
.OR.两边表示式有一个成立时,整个表示式成立
.NOT.后面的表示式不成立,整个表示式成立;反之亦然
ⅳ)运算优先级:
算术运算符>关系运算符>逻辑运算符
()^*/+-同一级别.not.>.and.>.or.
高低
例:
9>=X>=-1表示为:
X>=-1.AND.X<=9
X>10或X<=5表示为:
X>10.OR.X<=5
计算机成绩不为.F.表示为:
.NOT.计算机=.F.
在计算机中的表示方法:
a-b*(a/b)∧(1/2)
4)在条件表示式里:
1)字符型数据必须用单引号括起来,如学号=’010228’
2)日期型数据必须用大括号括起来,如出生日期={75/12/23}
3)逻辑型数据必须在T或F前后个加一个圆点
如:
计算机=.T.性别=.F.
4)各个字符除了汉字其余的必须用半角字符输入,关系运算符两边的数据类型必须一致。
12、SUBSTR函数格式:
Substr(字符串表示式,n,m)
功能:
从字符串表示式中的第n个字符开始,取出m个字符
例:
显示姓张的而且总分超过475分的同学的记录
browseforsubstr(姓名,1,2)=‘张’.and.总分>475
13、统计运算
1)求和(纵向求和):
对所有记录求和,并把结果存到内存变量中:
命令方式:
sum[字段名列表][to<内存变量表>]
例:
sum英语,数学,语文 toyy1,sx1,yw1
对满足一定条件的记录求和,并把结果存到内存变量中:
命令方式:
sum[字段名列表][<范围>][for<条件>][to<内存变量表>]
例:
sum英语,数学,语文FOR寄读=.T.
2)求平均数:
对所有记录求平均数,并把结果存放到内存变量中:
命令方式:
average[字段名表][To<内存变量表>]
例:
aver英语,数学,语文toyy2,sx2,yw2
对满足一定条件的记录求平均数:
命令方式:
average[字段名列表][<范围>][for<条件>][to<内存变量表>]
例:
aver英语,数学,语文for寄读=.T.
3)计数:
统计数据库的记录数:
count
统计满足一定条件的记录数:
count[<范围>][for<条件>][to<内存变量表>]
例1:
countfor寄读=.T.torenshu
countfor外语<=84.and.外语>=60
例2:
将计数后的结果保存在指定变量里:
countfor寄读=.T.TOJD
若要查看JD的值,可在命令窗口执行
?
JD或?
"寄读人数=",JD
14、?
号命令格式:
?
<表示式>
功能:
依次计算并显示各表示式的值。
如果?
命令后边不带任何参数,则起到换行作用。
15、常量与变量
常量:
也称常数,指固定不变的数据。
FoxPro中的常量主要分为数值常量,字符常量,日期常量和逻辑常量四大类。
变量:
在命令或程序执行中,能够任意改变变量的值。
在FoxPro系统中,分为内存变量和字段变量。
内存变量名用英文字母打头,由英文字母,数字及下划线等组成,也能够用汉字作为内存变量名。
区分:
如果是常量就能够明显地区分出数据的类型:
数值型,字符型,日期型或逻辑型。
如果前面四种类型都不是就是变量。
三、握Foxpro数据库的维护和应用方法
16、记录指针
记录号:
数据库中一般都有很多条记录,为确定记录在数据库中的位置,每个记录都有一个编号,叫做记录号。
记录指针:
FoxPro还设置一个记录指针,使它指向某个记录。
当前记录:
记录指针指示的记录,叫做当前记录。
记录指针的值:
当前记录的记录号,也叫做记录指针的值。
(在状态栏中显示的标志”Record:
n/m”m是当前打开的数据库中记录的总数,n就是当前记录的记录号。
)
记录指针定位:
利用FoxPro的命令,能够移动记录指针的位置,使指定的记录变成当前记录。
记录指针定位的方法:
1)n在命令窗口中,输入某一数字n然后回车,则指针移到记录号为n的记录上。
2)gon在命令窗口中,输入gon然后回车,则记录指针移到记录号为n的记录上。
3)gotop在命令窗口中,输入gotop然后回车,则记录指针移到数据库的首记录。
4)gobottom在命令窗口中,输入gobott然后回车,则记录指针移到数据库的末尾记录。
5)skipn在命令窗口中,输入SKIPn然后回车,当n为正值时记录指针从当前位置向下移动n个记录。
当n为负值时记录指针从当前位置向上移动n个记录。
当前记录号=原当前记录号+n在命令窗口中,输入SKIP然后回车,默认为skip1。
17、插入记录(P162)
执行命令
功能描述
Append
在数据库尾追加一个新记录,相当于命令:
gobottom
insert
Insert
在当前记录之后插入一条新记录,成为当前记录,其后的记录下移,且相应的记录号均加1
Insertbefore
在当前记录之前插入一条新记录,成为当前记录,其后的记录下移,且相应的记录号均加1
命令后加”blank”表示插入一条空记录。
例:
insertblank
命令执行结果:
直接在当前记录后插入一个空记录。
18、删除(P163)
命令
功能
操作范围
恢复
逻辑删除
delete
为要删除的记录做逻辑删除标记
默认当前记录
用recall命令
物理删除
pack
删掉所有带逻辑删除标记的记录
被逻辑删除的记录
不可恢复
zap
删除所有的记录,只留下库结构
全部记录
不可恢复
说明:
1)恢复逻辑删除:
RECAll[<范围>][FOR<条件>]
对符合条件的记录,取消逻辑删除标记。
若所有可选项缺省,则仅将当前记录取消逻辑删除标记。
2)用browse命令方式打开浏览窗口后,用鼠标单击每个记录第一个字段左边的矩形标记,能够使她们从灰色变成黑色,或使她们从黑色变成灰色。
用这种方法也能够完成逻辑删除或逻辑恢复。
19、修改记录中的数据(P166)
1)edit修改当前记录中数据;
使用EDIT命令打开窗口后也可利用鼠标操作,经过滚动条找到要修改的数据,完成对其它记录的修改操作。
2)使用browse命令浏览时也能够修改记录中的数据。
3)使用菜单方式操作RecordChange也能够修改当前记录,或经过滚动条找到要修改的数据完成修改。
20、替换数据库记录(P167)
replace[<范围>][For<条件>]<字段名>With<表示式>
功能:
将数据库指定记录中有关字段的值用命令中相应的表示式来替换。
(默认对当前记录操作;一般用于成批替换或添加记录。
)
例:
usecj.dbf
appendblank
replace姓名with‘张三’,学号with‘190617’
21、数据库结构操作(P168)
命令
功能
注意
Copyto备份文件名
复制数据库文件,包括结构和记录
被复制的数据库要先打开
Copystruto新库文件名
复制数据库结构,只包括结构
被复制的数据库要先打开
Modifystru
修改数据库结构
有可能导致数据丢失,执行前先进行备份
例如:
要将当前数据库复制到d盘stu文件夹下,文件名为”01.dbf”,则其命令为:
COPYtod:
\stu\01.dbf
**修改数据库结构还能够用菜单命令:
DatabaseSetup
22、排序1)分类排序(P171)
sortto<新文件名>on<字段名1>[/A|/D][/C][,<字段名2>][/A|/D][/C]…]
说明:
①排序就是根据库文件的某些字段值重排记录。
排序后将产生一个新的数据库文件,文件中的记录按照新的顺序排列,原数据库文件形式不变。
②SORT命令可采用多重排序,即先按主排序字段<字段名1>排序,如果字段中某些数据相同,再按第二排序字段<字段名2>排序。
依此类推。
③选项/A和/D用来指定升序或降序,缺省时按升序排序。
选项/C表示不区分字段值中的字母大小写,即把同一字母的大写与小写看成一样的。
2)索引排序 (P173)
A、索引文件的建立:
Indexon<索引关键字>to<索引文件名>
说明:
①<索引关键字>为字段名,索引文件的逻辑顺序默认为升序排列。
索引关键字也能够写成表示式。
例1:
本题要求按总分字段建立降序排列的索引文件,则能够将关键字写成”1000-总分”或写成”-总分”。
例2:
要求按数学和语文成绩之和建立降序排列的索引文件,则能够将关键字写成:
-(数学+语文)
②TO子句建立的索引文件默认扩展名为.IDX,TO子句不能缺省。
③在同一个数据库文件中,能够对不同字段建立多个索引文件。
B、索引文件的使用
打开:
1)use库文件名index索引文件名
2)Setindexto[<索引文件表>] (数据库已打开)
3)菜单方式
关闭:
1)打开新的索引文件,原来打开的文件就会自动关闭
2)setindexto
3)关闭数据库文件,索引文件会随数据库一起关闭
23、索引查询:
顺序查询
locate范围for条件表示式
查找符合条件的第一条记录,若还要继续查找,能够执行continue命令
索引查询
seek表示式
在已建立并打开索引文件的数据库中按建立索引的关键字搜索满足<表示式>条件的第一条记录。
说明:
LOCATE命令是在指定范围内顺序,找到后,系统自动将记录指针指向该记录。
若找到符合条件的记录,能够执行continue命令。
如此继续,直到状态栏中显示”Endoflocatescope”,即找不到符合条件的记录为止。
此时记录指针指向文件结尾处。
Seek可用来搜索字符型、日期型和数值型数据,查找的数据类型必须与索引文件中关键字的类型一致。
24、掌握Foxpro中简单程序的编制:
1)建立程序文件
菜单操作方式:
File——>new——>program——>new
(数据库文件扩展名为:
.dbf索引文件扩展名:
.idx程序文件的扩展名为:
.prg)
字符命令方式:
modifycommand[<路径>][<程序文件名>]
2)运行程序:
do[<路径>]<程序文件名>
25、Foxpro的相关命令:
1)建立数据库:
create[路径][数据库文件名]
2)打开数据库:
use[路径][数据库文件名]
关闭数据库:
use
3)追加数据记录:
append
4)插入数据记录:
insert[blank][before]
5)删除记录(逻辑删除):
delete[范围参数][for条件]
6)物理删除:
packzap
7)查看记录:
listdisplay
8)浏览编辑:
browse[field字段列表][for条件]
9)替换命令:
replcae[范围]<字段名1with表示式>[,<字段名2with表示式,...>][for条件]
(注:
默认范围为当前记录)
10)物理排序(产生新库文件):
sorton字段to数据库文件名[排序方式(/a/d)]
11)索引排序(建立索引文件):
indexon字段to[索引文件名]
12)打开索引文件:
setindexto[索引文件名]
同时打开数据库和索引文件:
use数据库文件index索引文件
关闭索引文件(关闭数据库文件时,索引文件也会被关闭):
setindexto
13)顺序查找:
locate[范围]for<查找条件>查下一个:
continue
14)索引查找:
find<字符表示式>seek<表示式>
15)指针移动:
gotop/bottom/(record)n
skip
16)拷贝:
复制已打开的数据库文件[或数据结构]
copy[structure]to数据库文件[fields字段列表][for条件]]
完全复制任意类型关闭的文件:
copyfile<原文件名>to<新文件名>
17)求和:
sum[范围][字段列表][to变量列表][for统计条件]
18)求平均:
average[范围][字段列表][to变量列表][for统计条件]
19)计数:
count[to变量][for条件]
21)?
命令:
?
表示式1[,表示式2……](用于显示表示式的结果)
22)@命令(在指定位置显示提示字符串,在其后显示变量的值):
@<行坐标,列坐标>say〈提示字符串>get<变量〉(用read语句激活get变量)
23)输入命令:
accept<提示字符串>to<变量名>
24)settalkoff:
在执行程序时,程序运行的中间值或表示式的值不会在屏幕上显示出来;用settalkon恢复状态。