FoxPro For Windows http://cc.synu.edu.cn 1
FoxPro For Windows
数据库 应用基础
FoxPro For Windows http://cc.synu.edu.cn 2
第 1讲 数据库基础知识
?数据库的基本概念
?FoxPro数据库语言基础
?FoxPro系统概述
FoxPro For Windows http://cc.synu.edu.cn 3
一.数据库的基本概念
?数据库
?数据库管理系统
?数据库系统
?数据模型
?关系模型数据库
FoxPro For Windows http://cc.synu.edu.cn 4
数据库, 按照一定的 数据模型 组织, 存储在一
起, 能为 多个用户共享 的, 与应用程序 相对独
立 的 相互关联 的 数据集合 。
什么是数据库( Database )?
学生登记表
学 号 姓 名 性别 出生日期 入学成绩 奖学金 简历 照片
9 9 0 1 0 1 王亚洲 男 8 0 / 0 5 / 2 4 515 120
9 9 0 1 0 5 白 雪 女 8 1 / 0 6 / 1 8 540 150
9 9 0 1 0 4 李冬梅 女 8 0 / 0 4 / 1 5 525 150
9 9 0 1 0 3 王 丹 女 8 1 / 0 3 / 2 6 624 120
9 9 0 1 0 6 陈小刚 男 8 2 / 0 8 / 1 6 510 100
9 9 0 1 0 2 赵 辉 男 8 1 / 1 2 / 0 3 600 140
FoxPro For Windows http://cc.synu.edu.cn 5
什么是数据库管理系统( DBMS)?
? 数据库管理系统 是建立, 使用, 管理数据库的软件系统,
只有在它的支持下才能设计编写管理数据库的程序 。
如,FoxBASE,FoxPro,visual foxpro,Oracle,sybase
SQL server等 。
? 数据管理 指对数据的分类, 组织, 编码, 检索, 维护 。
? 三部分组成:
数据描述语言 ( DDL) --描述数据库结构
数据操纵语言 ( DML) --查询, 统计, 输入, 输出
其他管理和控制程序 – 安全, 通讯控制
FoxPro For Windows http://cc.synu.edu.cn 6
?数据库系统,是具有数据库管理功能的计算机
系统, 它由计算机硬件, 软件, 数据库, 数据库
管理系统 (DBMS)和数据库管理员 ( DBA) 组成 。
?说明:数据库系统 ( DBS) 由数据库管理系统 ( DBMS) 和
数据库 ( DB) 两部分组成, 其中核心是 DBMS。
什么是数据库系统( DBS)?
FoxPro For Windows http://cc.synu.edu.cn 7
数据独立性、数据共享性、数据完整性、可控冗余度 。
数据库管理是计算机信息管理的主要方式。 FoxPro是
继 dBASE,FoxBASE之后又一流行的微机数据库管理系统。
数据库管理的应用非常广泛,如:
公司的帐务管理、销售管理、资产管理、人事管理;
学校的课程管理、学籍管理、教师管理、图书管理等等。
数据库管理特点
FoxPro For Windows http://cc.synu.edu.cn 8
什么是数据模型?
数据库的组织形式,决定数据库中数据之间联系方
式。分为,层次模型、网状模型、关系模型三种。
? 层次模型
? (一对多的联系)
? 网状模型
? (多对多的联系)
A
G
C
FED
B
A
G
C
FED
B
H
FoxPro For Windows http://cc.synu.edu.cn 9
? 关系模型, 满足一定条件的二维表的集合。
数据间是一对一的联系。
学生登记表
学 号 姓 名 性别 出生日期 入学成绩 奖学金 简历 照片
9 9 0 1 0 1 王亚洲 男 8 0 / 0 5 / 2 4 515 120
9 9 0 1 0 5 白 雪 女 8 1 / 0 6 / 1 8 540 150
9 9 0 1 0 4 李冬梅 女 8 0 / 0 4 / 1 5 525 150
9 9 0 1 0 3 王 丹 女 8 1 / 0 3 / 2 6 624 120
9 9 0 1 0 6 陈小刚 男 8 2 / 0 8 / 1 6 510 100
9 9 0 1 0 2 赵 辉 男 8 1 / 1 2 / 0 3 600 140
行,记录
列:字段(属性)
字段名
关系数据库,关系模型 ---二维表。
横向的一行称为一个记录,记录决定数据库的内容。
纵向的一列称为一个字段,每一字段是同类型的数据。
字段决定数据库的结构,数据就是记录的集合。 (,dbf)
FoxPro For Windows http://cc.synu.edu.cn 10
按关系模型建立一张二维表


??
数据库可以接受的数据类型有几种?各是什么?
FoxPro For Windows http://cc.synu.edu.cn 11
二,FoxPro数据库语言 基础
?数据 --类型、运算符、表达式
?常量、变量
FoxPro For Windows http://cc.synu.edu.cn 12
数据 --类型、运算符、表达式
1,数值型 (Numeric):由数字, 小数点和正负号组成 。 常用于数值运算 。
最长 20位, 精确到 16位 。 例,123.56 -128
2,浮点型 (Float),以浮点形式存储的数值数据 。 常用于科技计算, 宽度
和数值型相同 。 如,0.28E3= 0.28*10^3=280。
算术运算,结果为数值型。
算术运算符 表达式
?加 + 3+2 6+3+45
?减 - 4-6 68-15
?乘 * 3*20 20*2
?除 / 4/2 5/3(保留两位小数)
?求余数 % 8%3 1999%100
?乘方 ** 或 ^ 5^2 2^8 3**4
?小括号 ( 2+4) /2





^
**
%
*
/
+
_









43
25*23
?
? (2**3*5+2)/(3+4)
FoxPro For Windows http://cc.synu.edu.cn 13
3,字符型 (Character):汉字和 ASCII码字符组成 。 长度
不超过 254个字符 。 一个汉字占两个字符位 。
如,’ 沈阳 ’, ? 沈阳 ?, [沈阳 ],
单引号、双引号、方括号是限定使用的 3种 定界符 。
为什么用 3种定界符?是为了在输出时避免语法歧义。
因此注意:定界符必须半角、左右匹配、同一种不能嵌套,
如,? 他说,,你好! ? ? ×
[他说,,你好! ? ] √
字符运算,结果为字符型
字符运算符 表达式 结果
+ ? Good ‖ + ―morning!‖ ―Good
morning!‖
- ? Good ‖ - ―morning!‖ ―Goodmorning!‖
FoxPro For Windows http://cc.synu.edu.cn 14
4,逻辑型 (Logical):判断一件事情是正确的, 结果为真;,T.,,Y.;
判断一件事情是错误的, 结果为假 ;,F.,.N,;
因此:逻辑型数据只有两个,逻辑真值,逻辑假值;
长度固定为 1位 。,为逻辑型数据的定界符。
逻辑运算,结果为逻辑值,
三种操作 逻辑与 (逻辑乘 ),and,有一个假即为假
逻辑或 (逻辑加 ),or,有一个真即为真
逻辑非,not,取反
运算次序,.not.(非 ),.and.(与 ),.or.(或 )
逻辑运算符 表达式 结果
.NOT,not not not,t.
.AND,3>5 and 3<5
.OR.,t,or 3>4 and 8+2=9 and not 4<6
运算次序,算术运算 (字符运算,日期运算 )、关系运算、逻辑运算
FoxPro For Windows http://cc.synu.edu.cn 15
5,日期型 (Date),长度固定为 8位 。 如,{03/02/24}
大括号 {为日期型数据的定界符 。
可以用 SET DATE 命令设置日期不同的表示方式:
SET DATE TO AMERICAN {月 /日 /年 }
SET DATE TO FRENCH {日 /月 /年 }
SET DATE TO JAPAN {年 /月 /日 }
日期运算:结果为日期或数值
日期加数字(数字加日期)表示在该日期后几天的日期
? 3+{04/02/18}? {04/02/18}+ 3 结果,04-02-21
日期减数字表示在该日期前几天的日期
? {03-10-18}-3 结果,03-10-15
日期减日期表示两个日期间相差的天数
{03-10-16}-{03-10-15} 结果:
日期 +日期属非法表达式;? 为输出命令
FoxPro For Windows http://cc.synu.edu.cn 16
关系运算,结果为逻辑值
用于比较各种类型的数据,比如数值,字符或日期的大小,所有关
系运算的结果都为逻辑型数据。
关系运算符 表达式 结果
> < = 3>5 ?ab‘>―a‖ ?ab‘<?a‘ ?ab‘=―a‖,f.,f.,f.,t.
>= <= 5>=5 {99/10/02}>{99/01/04},t.,t.
<>或#或! {02-3-1}-1<>{02-2-28},f,
$(字符串比较) ? ab‖$‖aabb‖ ―ab‖$‖abcd‖,t.,t.
[师范 ]$[沈阳师范大学 ]
==(字符串全等比较) ‘ asdf‘==?asdf‘,t.
FoxPro For Windows http://cc.synu.edu.cn 17
6,备注型 (Memo ),10位, 存储指针 。 是字符型的特例,
备注型存放在备注文件,FPT中 。
7,通用型 (General ),10位,存储指针。 G型数据可为
图像、声音、动态视频等,存储在,FPT文件中。
FoxPro系统定义了 七种数据类型
英文单词的词头为数据类型标示符号,N F C L D M G
算术、字符、逻辑、日期、关系运算
运算顺序:算术运算 (字符运算,日期运算 )、关系运算、逻辑运算
FoxPro For Windows http://cc.synu.edu.cn 18
常量与变量
常量,命令、程序中不能发生变化的量。如,23,54
常量有四种类型,数值型 (N)、字符型 (C)、日期型 (D)、逻辑型 (L)
注意 C,D,L型常量的定界符。注意区分 ? 2010”为字符型常量,而不是数值型
常量。逻辑型常量必须用 ?,”定界。注意各类型数据的宽度。
变量,在程序运行中可以变化的量。程序中通常使用变量代替常量进
行计算。变量在使用前要先赋予一个初始值,然后我们就可以使用变
量来代替那个值进行计算。包括内存变量、字段变量、系统变量。
如,Y=5x+2,当 x=2时计算 y的值,当 X=3,4,5呢?
变量名字,以字母(汉字)开头,任意字母、汉字、数字、下划线。
不能超过 10个字符。不要与 foxpro数据库语言的默认命令重名。
规范的变量名字 x1 m_34 姓名
不规范变量名字 3e e;5 eft{9} list
FoxPro For Windows http://cc.synu.edu.cn 19
? 一个表达式中同时出现各种运算符时,注意其优先顺序。
优先级由高到低依次为:算术、字符、日期 → 关系 → 逻辑运算。
例 1," ABC" >" ASC",AND.,F.,OR.,NOT,23=60/2
.F.,F.
.F.,T.
.T.
例 2,下列表达式中,运算结果为字符串的是 _______。
(A)"234"+"567" (B)123+789
(C){99/09/19}-9 (D)3>6/2
? 相同优先级的运算按从左到右的顺序计算。
? 复合关系表达式,如,0≤X < 10 应为 X> =0,AND,X< 10。
? 在 FoxPro中,对于逻辑运算符两边的 ?,”可以省略。
? 逻辑表达式包含关系表达式,关系表达式中包含算术表达式。注
意,关系表达式与逻辑表达式的结果都为逻辑型
难点解析,
FoxPro For Windows http://cc.synu.edu.cn 20
? 同类型数据才能比较,结果逻辑型。
原则:
字符 ---ASCⅡ A(65),B(66), ∵ 66>65,∴ ? B‖> ―A‖
汉字 ---拼音 ; 日期 ---年,月,日; 逻辑不能比
? Set exact on|off设置字符串比较的状态
ON 精确,? =?号两边字符个数等、对应字符等,才为真。
OFF不精确:? =‖号右边的字符串与左边的字符串开头等,即右
串是左串的左子串,即为真。
√ ‘数据库’ =?数据’ × ?数据’ =?数据库’
注意:? = =‖与? $‖与 set exact 设置无关。
比较符? $‖为真的条件左右串等,或左在右串中。
√ ‘数据’ $?数据库’ × ?数据库’ $?数据’
FoxPro For Windows http://cc.synu.edu.cn 21
ASCII码表 01000001 01100001
FoxPro For Windows http://cc.synu.edu.cn 22
三,FoxPro系统概述
?FoxPro 的特点
?FoxPro 的主要技术参数
?FoxPro 主要文件类型
FoxPro For Windows http://cc.synu.edu.cn 23
FoxPro 2.5的特点( P3)
。典型 Windows界面风格的关系型数据库管理系统
。支持命令、程序、菜单三种执行方式
。界面友好
。丰富的辅助设计和辅助管理工具
……
FoxPro For Windows http://cc.synu.edu.cn 24
FoxPro 的主要技术参数( P4)
数据库记录最大数 10亿
每条记录的最大长度(字节) 65000
打开数据库的最大数 225
每条记录包含的最大字段数 255
字符型字段最大长度(字节) 254
数值型字段最大长度 20位
数值计算精度 16位
可同时打开的,dbf文件数 不多于 225个
命令行最大长度 2048字符
说明:
以上几个参数经常在考试中出现,请记住各参数的值。
FoxPro For Windows http://cc.synu.edu.cn 25
FoxPro文件的主要类型
数据信息以文件形式存放,文件按名访问。
主文件名由 1-8个字符组成(不含空格),扩展名
由 1-3个字符组成。扩展名用来区分文件的类型。
FoxPro数据库管理系统中所使用的文件类型及
用途如 P5页表 1.2。
。数据文件,dbf 备注文件,fpt
。程序文件,prg 目标文件,fxp
。单索引文件,idx 复合索引文件,cdx
。内存变量文件,mem 文本文件。 txt
FoxPro For Windows http://cc.synu.edu.cn 26
3.函数:
标准函数和用户自定义函数两种
作业:测试篇 --下篇 —―数据库基础知识 ? 测试题
实验:熟悉工作界面,命令窗口使用
在命令窗口完成基础实验
针对出现的问题总结命令书写规范
注意提示信息
建立一个数据库