vfp知识点总结.docx
《vfp知识点总结.docx》由会员分享,可在线阅读,更多相关《vfp知识点总结.docx(128页珍藏版)》请在冰豆网上搜索。
vfp知识点总结
第一章 数据库系统基础知识
1.1数据处理与数据管理技术
1.1.1数据处理与数据管理技术
l 数据库技术是应数据处理发展的客观要求而产生的,反过来,数据库技术的发展又促进了数据处理的广泛应用
l 数据处理是指数据的分类、组织、编码、存储、查询、统计、传输等操作,向人们提供有用的信息
l 数据处理的对象数据可以是数值型数据,也可以是字符、文字、图表、图形、图像、声音等非数值型数据
1.1.2数据管理技术的发展
数据处理发展阶段
l 人工管理阶段
l 文件管理阶段
l 数据处理发展阶段
l 数据库管理阶段
1.2数据库系统的组成
l 一般认为数据库系统(DatabaseSystem-DBS)是数据库、数据库管理系统、应用程序、数据库管理系统赖以执行的计算机软硬件环境及数据库维护使用人员的总称。
l 数据库
l 数据库(DataBase-DB)是指按一定的数据结构进行组织的,可共享的,长期保存的相关信息的集合。
数据库中不仅保存了用户直接使用的数据,还保存了定义这些数据的数据类型、模式结构等数据――“元数据”
l 数据库系统
l 数据库管理系统(DataBaseManagementSystem-DBMS)是对数据进行管理的软件系统,它是数据库管理系统的核心软件。
如ORACLE、SQL-SERVER、ACCESS等由计算机软件生产企业提供的数据库管理系统
l 应用程序
l 一般是指完成用户业务功能的利用高级语言编写的程序。
高级语言可以是VB、DELPHI、POWERBUILDER等,应用程序通过数据库提供的接口对数据库的数据进行增加、删除、修改、查询、统计等操作
l 计算机软硬件环境
l 计算机软硬件环境是指数据库管理系统、应用程序赖以执行的环境。
包括计算机硬件设备,网络设备,操作系统,应用系统开发工具等
l 相关人员
l 相关人员是指在数据库系统的设计、开发、维护、使用过程中,所有参与的人员。
主要有数据库管理员(DataBaseAdministrator-DBA)、系统分析设计人员、系统程序员、用户等,其中数据库管理员在大型数据库应用中负有重要的职责,负责对数据库进行有效的管理和控制,解决系统设计和运行中出现的问题
1.3数据库系统的模式结构
数据库系统的结构定义为三级模式结构:
外部层、概念层、和内部层
1.3.1数据库,数据库系统和数据库管理系统三者的区别和联系
数据库是指以一定的组织形式存放在计算机存储介质上的相互关联的数据的集合。
数据库管理系统(DBMS)是对数据库进行管理的系统软件,是用户与数据库之间的接口。
DBMS主要由查询管理器,存储管理器和事务管理器三部分组成。
数据库系统是实现有组织地,动态地存储大量关联数据,方便用户访问的计算机软硬件资源组成的具有管理数据库功能的计算机系统。
它由数据库、数据库管理系统、操作系统、计算机硬件资源、维护应用人员等组成。
数据库,数据库管理系统和数据库系统是最基本的概念。
三者之间既有联系又有区别。
用户通过数据库管理系统可以建立和使用数据库。
使用数据库是目的,而数据库管理系统是实现目的的手段和工具。
数据库和数据库管理系统又都是数据库系统的组成部分。
数据库设计:
概念模型:
E-R(实体-联系)模型==》数据模型
1.4数据模型
1.4.1数据模型
Ø 数据模型(DataModel)是现实世界数据特征的抽象,是用来描述数据的一组概念和定义
Ø 层次模型:
按树型结构描述客观事物及其联系。
Ø 网状模型:
按网状结构描述客观事物及其联系。
Ø 关系模型:
按二维表结构描述客观事物及其联系。
Ø 面向对象模型:
用更接近人类思维的方式描述客观世界的事物及其联系,而且描述问题的问题空间和解决问题的方法空间在结构上尽可能一致,以便对客观实体进行结构模拟和行为模拟
1.4.2关系数据模型
•关系模式:
–学生基本情况(*学号,姓名,性别,出生日期,院系,专业,备注)
–学生成绩(*学号,姓名,*课程,成绩)
•关系名:
–学生基本情况
–学生成绩
•属性:
–“学号”、“姓名”、“性别”、“成绩”
•主关键字/外关键字:
–学生基本情况关系中,“学号”为主键
–学生成绩关系中,(“学号”,“课程”)主键,“学号”为外关键字
联系
•一对一
•一对多
•多对多
1.4.2.1关系型数据库术语
•关系型数据库术语
–表-由表名、列名和数据行组成
–列-也称为字段或域。
列都有列名及数据类型
–行—即记录
–值-有一定的取值范围(值域),还有一个特殊值即空值(Null)
–范式(INF、2NF、3NF、4NF、5NF)
–关系运算:
并、差、交、选择、投影、连接
–SQL语言-SQL(StructuredQueryLanguage)即结构化查询语言
关系模型,关系以及关系的性质
关系模型的性质有:
(1)二维表的记录数随数据的增删而改变,但它的字段数却是相对固定的。
因此,字段的个数,名称,类型,长度等要素决定了二维表的结构。
(2)二维表中的每一列均有唯一的字段名,且是同性质的。
(3)二维表中不允许出现完全相同的两行。
二维表中行的顺序,列的顺序均可任意交换。
1.5关系数据库标准语言SQL
SQL的基本概念
1、 SQL语言主要特点
(1) SQL是一种一体化的语言。
(2) SQL是一种高度非过程化的语言。
(3) SQL语言非常简洁。
(4) SQL以统一的语法结构对待不同的工作方式。
2、 SQL语言的执行
SQL语句可以在命令窗口中执行,也可以作为查询或视图(的内容)被使用,还可以在程序文件中被执行。
3、SQL命令
(1)建立结构
【例】创建自由表“成绩表”。
CREATETABLECJFREE(xhC(8),kcdhC(4),cjN(2,0))
注:
若无FREE选项,将在打开的数据库中创建数据库表CJ。
(2)修改结构
【例】ALTERTABLE XS ADD COLUMN BZ M
ALTERTABLE XS RENAMECOLUMN BZ TO BZ1
ALTERTABLE XS DROP BZ1
(3)插入记录
【例】在学生表中插入一条新记录。
INSERTINTOXS(xh,xm,xb,csrq);
VALUES(‘01001023’,‘王平’,‘男’,{^1984-05-03})
(4)修改记录
UPDATE[!
数据库名]<表名>;
SET<字段名1>=<表达式1>[,<字段名2>=<表达式2>…];
WHERE<条件表达式>
【例】将成绩表中所有课程代号为2的分数降低2%。
UPDATECJSETcj=0.98*cjWHEREkcdh=’2’
注:
若省略WHERE子句,将对表中全部记录进行修改
(5)删除记录
DELETEFROM<表名>WHERE<条件表达式>
【例】删除学生表中“王平”记录。
DELETEFROMXSWHERExm=‘王平’
注:
DELETE的结果只是逻辑删除记录,只有执行PACK才能物理删除
(6)表的删除
【例】删除自由表“成绩表”。
DROPTABLECJ
注:
删除表将直接从磁盘上删除表DBF文件,因此应在当前打开的数据库中删除数据库表,否则以后在使用数据库时会出现错误。
1.6数据库设计基础
1.6.1概述
•数据库及其应用系统开发的全过程可分为两大阶段:
数据库系统的分析与设计阶段;数据库系统的实施、运行与维护阶段
•数据库设计的基本任务一是根据一个单位的信息需求、处理需求和具体数据库管理系统及软硬件环境,设计出数据模式以及应用程序
数据库设计概述
•信息需求是指一个单位所需要的数据及其结构,表达了对数据库的内容及结构的要求,也就 是静态要求
•处理需求是指一个单位经常进行的数据处理,表达了基于数据库的数据处理要求,也就是动 态要求
•数据模式包括外模式、逻辑模式和内模式
数据库系统三级模式结构
1.6.2数据库设计一般步骤
•数据库设计一般分为四步:
需求分析、概念设计、逻辑设计和物理设计
需求分析
•需求分析是对用户提出的各种要求加以分析,对各种原始数据加以综合、整理,以确定应用系统的信息需求、处理需求、安全及完整性要求等,是对系统设计目标的界定
概念设计
•概念结构设计是对用户需求进行进一步抽象、归纳,并形成独立于具体DBMS和软硬件环境的概念设计模型,数据库的概念结构通常用E-R模型等来刻划
学生成绩管理的E-R模型
全局概念结构转换成关系模型
•专业(专业代号,专业名称)
•院系(院系代码,院系名称)
•课程(课程代码,课程名称)
•学生(学号,姓名,性别,出生日期,院系代码,专业代码,备注)
选课(学号,课程代码,成绩)
1.7主流的DBMS产品简介
1.7.1Oracle
1.7.2DB2
1.7.3Sybase
1.7.4MS-SQLServer
1.7.5Access
1.7.6VisualFoxpro
第二章 VFP数据库管理系统概述
2.1VFP的操作环境
2.1.1VFP的操作界面
基本的集成操作环境由两个“窗口”和三个“栏”组成
窗口——主窗口和“命令”窗口
栏——菜单栏、工具栏、状态栏
2.1.2命令说明
(1)命令的语法格式说明:
斜体字、方括号、省略号、竖线
(2)几个常用命令:
l *命令
l ?
和?
?
命令
l CLEAR命令
l DIR命令
l COPYFILE/RENAME/DELETEFILE命令
等等
2.2VFP的文件类型
(详见P35)
2.3VFP的项目管理及其操作
• 界面
• 特点
• 项目管理器
– 作用
– 操作
2.4VFP的语言基础
2.4.1数据类型
常量:
数值(N) -3.15, 38, 3.12e5
货币(Y) $100.35, $104
字符(C) “ABC”, ‘ABC’, ABC, “”
逻辑(L) .T., .F., .t., .Y., .y., .n. 空值 .NULL.
日期(时间){^2002-08-12}, {^2002-08-12 8:
12:
10p}
setdatetoansi,setcenturyon|off
– 内存变量:
变量名规则:
以字母、汉字和下划线开头,后按字母、数字、汉字和下划线构成。
– 变量:
字段变量和内存变量(访问:
加前缀M.或M->)
– 赋值:
store<表达式>to <内存变量名>
赋值:
cSoft=”vfp”
store 0 to x1,x2
注:
字段变量赋值问题。
例:
同名问题,替换字段部分内容
内存变量的保存与恢复(生成文件 .mem):
SAVETO文件名[all like类型| all except 类型]
RESTORE FROM 文件名
2.4.2VFP系统函数
数值函数:
ABS(),MAX(),MIN(),INT(),MOD(),ROUND(),SQRT(),RAND()
字符函数:
ALLTRIM(),TRIM(),LEN(),AT(),EMPTY()
SUBSTR(),LEFT(),RIGHT(),SPACE()
日期(时间)函数:
DATE(),DATETIME(),DOW()
DAY(),MONTH(),YEAR(),SECOND(),TIME()
转换函数:
ASC(),CHR(),STR(),VAL(),DTOC(),CTOD()
数据库类:
DBUSED(),DBC(),DBSETPROP(),DBGETPROP()
DELETED(),FIELDS(),FCOUNT()
EOF(),BOF(),RECCOUNT(),RECNO()
其他函数:
FILE(),INKEY(),IIF(),MESSAGEBOX()
2.4.3运算符与表达式
数值运算:
**(^),*、/,%,+、-
字符运算:
+,-,$
日期(时间)运算:
+,-
逻辑运算:
NOT(!
),AND,OR
关系运算:
>,<,=,>=,<=,<>(#,!
=),==
名称表达式与宏替换:
(),&
例:
mfile=”js”
use (mfile) 或 use &mfile
例:
var_name=”x1”
&var_name=100 【但 (var_name)=100 错】
?
x1
第三章 数据库与表的创建及使用
3.1数据库概述
数据库是比表高一级别的数据组织形式,它是一个容器,是许多相关数据库表及其关系的集合。
包括数据库表、视图、连接、存储过程。
数据库表属于数据库,但不是说表记录保存在库文件中,库表仍以.DBF文件存放。
即两者之间物理上是独立的,两者间的从属关系只是一种逻辑关系,这种关系通过双向链接实现(前链与后链)。
虽然库表文件是独立存在的,但库表的表属性,字段的扩展属性是保存在数据库中的。
如果数据库被删除,则库表的这些信息将丢失,此时需用FREETABLE名令把表转换成自由表才可用。
数据库三个文件:
.DBC .DBT .DCX
几个命令:
(1)创建数据库
CREATE DATABASE <库名>
(2)打开数据库
OPEN DATABASE <库名>
(3)设置当前数据库
SET DATABASE TO <库名>
(4)添加数据库表
ADD TABLE <自由表>
(5)删除数据库表
REMOVE TABLE <数据库表>
(6)数据库表转为自由表
FREE TABLE <数据库表>
(7)关闭数据库
CLOSE DATABASE
CLOSE DATABASE ALL
例:
数据库操作
OPEN DATABASE JXGL &&打开数据库JXGL
OPEN DATABASE DB &&同时打开数据库DB
…
SET DATABASE TO JXGL &&设置当前数据库
CLOSE DATABASE &&关闭当前数据库JXGL
[注]:
打开数据库表,将自动打开相应的数据库,关闭数据库,也将关闭所属的表。
3.2数据库的创建、打开与使用
(1) 数据库的创建(.DBC .DBT .DCX)
– 利用界面创建
– 利用命令创建
CREATE DATABASE <库名>
(2)数据库的使用
• 例子:
– Open databasedb1
– Open database db2
– Opendatabase db3 &&当前数据库
– Set database to db1 &&当前数据库设置为db1
– Close database &&关闭当前数据库及其表
– Closedatabase all &&关闭所有数据库及其表
• 检查数据库有效性
– Validate database recover
3.3表的创建与使用
3.3.1利用表设计器建立表
类型:
自由表和数据库表
两者同:
扩展名为DBF
异:
表设计器不同,数据库表与它所属的数据库之间有逻辑关系。
组成:
字段和记录
字段:
基本属性(字段名,数据类型,宽度,小数位数,空值(NULL)支持)
扩展属性(格式,掩码,标题,注释,字段有效性规则)
字段类型:
字符型 C
货币型 Y
数值型 N
浮点型 F
日期型 D
日期时间型 T
双精度型 B
整型 I
逻辑型 L
备注型 M
通用型 G
数据的输入
– 日期类型数据
– 备注、通用( .FPT文件)
– 浏览方式
3.3.2利用命令维护记录
• 常用命令
– 打开/关闭:
USE <表>
– 追加记录:
APPENDBLANK|[FROM文件…]
– 删除记录:
• DELETE[范围][FOR条件表达式][IN工作区|别名]
• RECALL [范围] [FOR条件表达式]
• PACK
• ZAP
– 修改记录
• REPLACE[范围]<字段1>WITH<表达式1>[,<字段2>WITH<表达式2>,…][FOR<条件>]
– 浏览记录:
BROWSE [Field<字段1>,<字段2>…]
– 记录的复制:
COPY TO <文件名> … 类型
3.3.3数据库表的属性
• 字段显示属性
– 字段格式
– 输入掩码
• 字段验证
– 有效性规则
– 有效性信息
– 默认值
3.3.4数据库表的扩展属性
• 长表名与表注释
• 记录验证
– 有效性规则
– 有效性信息
• 表的触发器
– 插入触发器
– 更新触发器
– 删除触发器
3.3.5相关命令及函数
• 记录处理
– 记录指针、当前记录、记录号
– 几个函数:
RECNO()、BOF()、EOF()
• 记录的定位
– 绝对定位 GOTO N (GO TOP、GO BOTTOM)
– 相对定位 SKIP N 或 SKIP–N (SKIP )
– 条件定位 LOCATE(范围) FOR
» CONTINUE
• 记录的筛选命令 SET FILTER TO 条件表达式
3.3.6多表操作
• 工作区及当前工作区
– 范围为1—32747,前10个也可用A—J表示
– 启动VFP后,默认为1
– 工作区号0
– SELECT <工作区>|<表的别名>
– USE表名 [IN工作区|表的别名] AGAIN [ALLAS表的别名]
例子:
CLOSE TABLES ALL
SELECT 1
USE XS ALIAS STUD
SELECT 0
USE JS
USE XS IN 0 AGAIN
BROW
SELECT STUD
BROW
SELECT 3 (select c)
BROW
USE
3.3.7表的索引
记录顺序:
物理顺序,逻辑顺序
索引关键字:
由一个字段或多个字段组成的表达式当有多个字段时,字符型直接用,如果类型不同,则通过函数变化,转换成相同类型,通常化成字符型
例:
有一JS表,其中有字段GH(C),XM(C),JBGZ(N),CSRQ(D)
字符型:
按GH和XM排序 GH+XM
字符型和数值型:
按GH和JBGZ排序 GH+STR(JBGZ)
字符型和日期型:
按GH和CSRQ排序 GH+DTOC(CSRQ)
注:
两个数值字段的排序问题?
如:
总分+数学
索引标识:
为了区分一张表的不同索引,每一个索引都有一个索引名,即索引标识。
索引类型:
主索引(数据库表特有),候选索引,普通索引,唯一索引
前两种索引用于约束表中记录的唯一性,唯一索引用于控制索引结果的唯一性,它不允许两个具有相同索引值的记录包含在同一个唯一索引中,但它并不要求表中的记录具有唯一性。
索引文件种类:
(1)结构复合索引文件(.CDX):
文件名同表名,自动与表同步打开,关闭,更新。
(2)非结构复合索引文件(.CDX):
文件名不同于表名,不会自动打开。
(3)独立索引文件(.IDX):
文件名用户定,不会自动打开。
主索引与主控索引:
(1)索引是索引的一种类型。
(2)主控索引是在某一时刻对表的显示或访问顺序起作用的索引,可以把复合索引中的索引或其它类型的索引或独立索引设置为主控索引。
与索引相关的一些命令:
(1)创建:
INDEX ON EexpressionTO TAG Tagname FOR Le