vf6理论基础知识.docx
- 文档编号:30431702
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:9
- 大小:23.34KB
vf6理论基础知识.docx
《vf6理论基础知识.docx》由会员分享,可在线阅读,更多相关《vf6理论基础知识.docx(9页珍藏版)》请在冰豆网上搜索。
vf6理论基础知识
理论基础知识
●表:
关系数据库的表采用二维表格来存储数据,是一种按行与列排列的具有相关信息的逻辑组,它类似于工作单表。
一个数据库可以包含任意多个数据表。
●字段:
数据表中的每一列称为一个字段,表是由其包含的各种字段定义的,每个字段描述了它所含有的数据的意义,数据表的设计实际上就是对字段的设计
●记录:
表中的每一行称为记录。
一般来说,数据库表中的任意两行都不能相同,如一个学生在数据库中不能登记两次,只能有一个学号
●关键字:
关键字用来确保表中记录的唯一性,可以是一个字段或多个字段,常用作一个表的索引字段。
每条记录的关键字都是不同的,因而可以唯一地标识一个记录,关键字也称为主关键字,或简称主键。
●索引:
索引可以更快地访问数据,索引是表中单列或多列数据的排序列表,每个索引指向其相关的数据表的某一行。
●表间关系:
在实际情况中,一个数据库往往都包含多个表,不同类别的数据存放在不同的表中。
表间关系把各个表联接起来,将来自不同表的数据组合在一起
●数据库的表之间都会存在3种关系(设有A表与B表):
一对一关系(1:
1):
一个表的一条记录对应另一个表的一条记录。
一对多关系(1:
N):
一个表的一条记录对应另一个表的多条记录。
多对多关系(M:
N):
一个表的多条记录对应另一个表的多条记录。
第一个表通常称之为父表(A表),另一个表称之为子表(B表)。
●数据库(DataBase,缩写为DB)就是按一定的组织结构存储在计算机内可共享使用的相关数据的集合。
它以文件的形式组织,包括一个或多个文件,可以被多个用户所共享,它是数据库系统的重要组成部分。
●数据库管理系统(DataBaseManagementSystem,缩写为DBMS)是用来建立、存取、管理和维护数据库的软件系统。
它是数据库系统的核心软件。
●数据库系统(DataBaseSystem,缩写为DBS)就是指计算机系统中引用了数据库技术后的完整系统,主要由计算机硬件(主机、键盘、显示器、打印机等)、软件(操作系统、数据库管理系统、开发工具等)、数据库和用户(数据库管理员、终端用户等)四个主要部分组成
●数据模型是数据库系统的核心和基础,常见的数据模型有层次模型、网状模型和关系模型三种类型
●关系型数据库关系型数据库是把每一个实体看成一个二维表,用二维表来组织和存储数据,它是目前应用广泛的一种数据模型。
每个二维表又称为关系。
关系型数据库管理系统是支持关系模型的数据库管理系统。
关系型数据库管理系统不但提供了数据库管理系统的一般功能,还提供了筛选、投影和连接三种基本的关系操作。
●常用的文件类型有:
数据库(.DBC)、表(.DBF)、项目(.pjx)、表查询(.qpr)、视图、报表(.frx)、标签(.lbx)、程序(.prg)、文本(.txt)、表单(.form)、菜单(.mnx)等。
●输入时,数据必须与字段类型一致,否则系统将不接受。
输入逻辑型字段时,输入的数据应为T、t、F、f、Y、y、N、n这些有效的字符。
输入数字型数据时,输入的应是正负号、数值和小数点。
输入日期型字段时,系统具有10种格式,默认格式为mm/dd/yy,mm表示月份,dd表示日期,yy表示年份,中间的分隔符“/”由系统自动提供,不需要用户输入。
输入通用型字段时,双击gen处或当光标在gen处时按Ctrl+PgDn组合键,此时用户可利用链接和嵌入(OLE)技术编辑该字段内容,选择主菜单中“编辑”→“插入对象”或“粘贴”命令,可以插入各类对象类型。
最后按Ctrl+W组合键存盘返回;按Esc键不保存返回。
输入备注型字段时,双击memo处或当光标在memo处时按Ctrl+pgDn键,即可进入编辑窗口,此时便可输入相应的文字信息。
完成后按Ctrl+W存盘返回;按ESC则放弃存盘返回。
当一条记录输入完成后,自动进入下一条记录输入状态,当所有记录输入完成后,按Ctrl+W组合键即可将输入的数据保存到表文件中。
●常量是在命令或程序中可直接引用、具有具体值的命名数据项,其特征是在整个操作过程中其值和表现形式保持不变。
不同类型的常量有不同的书写格式。
在VisualFoxPro中常量有6种类型:
数值型常量、字符型常量、货币型常量、逻辑型常量、日期型常量、日期时间型常量①数值型:
由数字、小数点和正负号组成的一个常数。
格式:
由数字0~9、小数点和正负号组成。
例如103、-561、15.31、-21092.9854323、1.3E+9。
②字符型:
用定界符(单引号、双引号或方括号)括起来的字符串,由任意ASCII字符、汉字和汉字字符组成。
最大长度254个字符格式:
用定界符将字符串括起来。
定界符为双引号""、单引号''、方括号[]。
例如:
"Iamaboy",'学生',['md'小组]。
说明:
定界符不能作为常量本身的内容。
若某字符本身是常量中的内容,则要用另一种定界符括起来。
定界符必须成对出现。
③货币型:
用来表示货币值的大小,其格式是在数值型常量前加一个“$”符号。
格式:
$+数字0~9、小数点和正负号组成。
例如:
$43.56、$19。
④逻辑型:
只有真和假两种值,分别用(.t.或.y.)和(.f.或.n.)表示真和假。
格式:
.T..t..Y..y.;.F..f..N..n.说明:
逻辑常量只有真和假两种值;应在表示逻辑常量的字母左右加注圆点符“.”以示区别,否则会被误认为变量名。
⑤日期型:
表示一个确切的日期,用花括号{}作为定界符。
⑥日期时间型。
格式:
{<日期>,<时间>}说明:
日期部分同日期型常量。
例如:
hh:
时mm:
分ss:
秒a:
AM上午系统默认值p:
PM下午
●变量是指在命令操作或程序执行期间其值可以改变的量。
每个变量都用一个变量名来表示。
变量名由字母、汉字、下划线和数字命名,必须以字符或汉字开头。
一般建议不采用汉字命名.
VisualFoxPro中变量分为两类:
字段变量、内存变量。
(变量名最长254字节)①字段变量:
指数据库中的各字段。
各字段中的数据随着记录的不同而变化,因此表文件中字段为字段变量。
避免使用VisualFoxPro的保留字。
②内存变量:
是一种独立于数据库之外而存在的变量。
在维护和操作数据库时,经常需要一些内存单元,用来存放一些临时的数据或一些计算结果,这些临时开辟的内存单元就是内存变量。
内存变量可以参与计算处理。
内存变量的常用类型:
字符型、数值型、货币型、逻辑型、日期型、日期时间型。
内存变量的赋值:
内存变量的赋值操作和其他高级语言一样,必须先定义后使用。
格式一:
STORE<表达式>TO<内存变量名表>
功能:
计算<表达式>的值并赋值给指定的内存变量。
说明:
内存变量名之间用逗号分隔。
例如:
STORE23TOas,ad,af将数值23赋给变量as,ad,afSTORE"奥运"TONAME将字符串"奥运"赋给NAME
格式二:
<内存变量名>=<表达式>例如:
A=.F.将逻辑假值赋给变量A内存变量的显示输出:
格式一:
?
表达式表
格式二:
?
?
表达式表
功能:
依次计算表达式表中各表达式并显示其值。
其中,格式一在下一行显示,格式二在当前光标处显示。
内存变量的清除:
格式一:
RELEASE内存变量名表
格式二:
CLEARMEMORY
功能:
格式一清除指定的内存变量;格式二清除所有的内存变量
●VisualFoxPro中主要的数据容器:
类型说明
变量在随机存储器(RAM)中的单个数据元素。
(变量名最长254字节)
表记录多行预定义字段,每个字段包含一条预定义数据,表存储在磁盘上。
数组随机存储器中的多元素数据。
●数据类型
类型示例
数值型1233.1415-7
字符型"TestString""123""01/01/95"
逻辑型T..F.
日期型日期时间型{^1998-01-01}{^1998-01-0112:
30:
00p}
●运算符是对数据对象进行特定加工处理的符号。
根据其处理数据对象的不同,可分为算术运算符、字符运算符、关系运算符和逻辑运算符。
●表达式是由运算符将常量、变量和函数连接起来的运算式子。
根据运算符的种类不同,可将表达式分为算术表达式、字符表达式、关系表达式、逻辑表达式、日期时间表达式①算术表达式(数值表达式)。
组成:
由算术运算符、数值常量、变量和函数组成。
运算结果:
数值型数据。
例如:
25/5+3^2(34-5)*318%4-6x1**2都是算术表达式。
下表所示为算术运算符表②字符表达式。
组成:
由字符运算符和字符型常量、变量、函数组成。
运算结果:
字符型数据。
运算符:
字符型表达式的运算符有3种。
+:
字符串完全连接。
将两个字符串首尾连接形成一个新字符串。
-:
字符串不完全连接。
将运算符前的字符串尾部空格移到运算符后的字符串尾部,连接形成一个新的字符串。
$:
字符串包含运算。
若运算符前的字符串包含在运算符后的字符串中,运算结果为逻辑真;否则,运算结果为逻辑假。
例如:
?
"北京"+"奥林匹克运动会"显示:
北京奥林匹克运动会?
"北京"-"奥林匹克运动会"显示:
北京奥林匹克运动会?
'mac'$'tucmac'显示:
.T.?
'mec'$'tucmac'显示:
.F.③关系表达式.组成:
由关系运算符与字符表达式、数值或日期表达式组成。
格式:
<表达式><关系运算符><表达式>
④逻辑表达式组成:
由逻辑运算符将逻辑型数据连接起来而形成的表达式。
结果:
一个逻辑值,即表达式成立则为“真”值,否则为“假”对于各种逻辑运算,其运算规则可由逻辑运算真值表确定,下表所示就是逻辑运算真值表⑤日期时间表达式组成:
由日期运算符和日期型常量、变量、函数组成。
运算结果:
可以是数值型,也可以是日期型。
运算符:
日期型表达式的运算符有两种:
“+”和“-”。
运算符(+)日期+数值:
结果为其后多少天的日期。
日期时间+数值:
结果为其后多少秒的时间。
例如:
?
{2004/03/01}+5结果:
{2004/03/06}运算符(-)日期-数值:
结果为其前多少天的日期。
日期时间-数值:
结果为其前多少秒的时间。
日期1-日期2:
结果为日期相差的天数。
日期时间1-日期时间2:
结果为日期时间相差的秒数。
例如:
?
{2004/03/06}-5结果:
{2004/03/01}?
{2004/03/06}-{2004/03/01}结果:
5
●运算符优先级:
圆括号>算术和日期运算>字符串运算>关系运算>逻辑运算
●NULL值表示没有任何值,选择是否允许字段为空。
但它不等同于零、空字符串或者空格,指尚未输入具体数值的数据。
如果字段不允许为空,则输入数据时必须输入相应的数据,否则被设置为默认值(如数值型默认为0)允许字段为空时,可暂时不输入数据,而且不会出错,在VisualFoxPro中使用NULL值,可以降低表达未知数据的难度
●参照完整性在数据库中的表建立关联关系后,可以设置管理关联记录的规则,用来使数据库中的数据保持一致性和完整性,即在对有关系的两表间进行插入、删除、更新记录而引起关联字段值的变化时,如何保持已定义的表间关系。
一致性与完整性的要求(针对1:
N):
(1)子表中的任一条记录在主表中必须有一个记录与之对应。
(2)子表中插入一个记录时,外部关键字的值必须是主表中主关键字值之一。
(3)当将父表中的某一条记录删除时,其相关子表中的对应记录也必须删除。
(4)当对父表中的主关键字值进行修改时,对应子表中的外部关键字的值必须同时改变。
例如,当在子表中添加一个新记录时,能保证它对应到父表中的一个记录;而当更新、删除父表中的记录时,也会将子表中的相应记录进行更新、删除。
更新规则、删除规则、插入规则①级联:
当父表中的主关键字值被更新或删除时,子表中的相关记录也被更新或删除。
②限制:
当父表中没有相关记录时,限制在子表中更新、删除或插入记录。
③忽略:
允许更新、删除或插入记录,并且不进行判断。
●触发器触发器作为特定表的属性来创建和存储,是绑定在表上的表达式。
当表中的任何记录被指定的操作命令修改时,触发器被触发。
触发器指定一个规则,这个规则是一逻辑表达式。
当某个命令或事件发生后,将自动触发相关触发器的执行,计算逻辑表达式的值,如果返回值是.F.,将不执行此命令或事件。
触发器是在进行其他所有检查之后(如有效性规则、主关键字的实施)被触发,位于所有约束的最后面。
触发器只存在于数据库表中,自由表中不存在触发器,触发器是数据库的一部分,受数据库的管理。
在VisualFoxPro中,有3种类型的触发器。
(1)插入触发器:
当所插入的记录符合此规则时,才可以插入到表中。
规则可以为表达式,也可以为自定义函数。
(2)更新触发器:
表示在修改记录后按回车键时,触发所设置的表达式或自定义函数进行检测,确定该记录被修改后是否符合所设置的规则。
如果符合则返回真值,保存修改后的记录;否则返回假值,不保存修改后的记录,同时还原修改之前的记录值。
即当修改后的记录符合此规则时,才可以进行修改。
(3)删除触发器:
表示数据表中记录被删除时,触发所设置的表达式或自定义函数进行检测。
如果检测结果为真值,该记录可以被删除;如果返回假值,则该记录禁止被删除。
即当待删记录符合此规则时,才可以被删除掉。
●索引的类型⑴、主索引能够唯一地确定数据表中一条记录的字段,或字段表达式。
就是说,该字段或字段组合表达式的值,在数据表的所有记录中不能出现重复,是唯一的。
每一个数据表只能有一个主索引,自由表不能创建主索引。
⑵、候选索引索引关键字的值也是唯一的,但每一个表可以有多个候选索引。
⑶、普通索引索引关键字段的值不要求具有唯一性,可以重复。
表记录排序时,把关键字段值相同的记录排列在一起,并按自然顺序的先后排列,一个表中可以创建多个普通索引。
⑷、惟一索引索引关键字段的值不要求具有唯一性,可以重复。
只将相同关键字值的第一条记录编入索引中。
索引文件的类型
VFP中常见的是复合索引(.CDX)文件,包括:
结构复合索引文件——与表文件同名独立复合索引文件——任意文件名3、索引文件的创建⑴、使用表设计器使用表设计器,只能创建结构复合索引文件。
⑵、使用Index命令功能:
创建结构、独立复合索引文件。
不能创建主索引4、索引的操作⑴、打开独立复合索引文件①、与数据表同时打开OPENDATABASE数据库名USE表名INDEX独立复合索引名②、单独打开OPENDATABASE数据库名USE表名SETINDEXTO独立复合索引名⑵、关闭独立复合索引文件①、SETINDEXTO功能:
关闭当前工作区所有打开的独立复合索引文件②、CLOSEINDEXES功能:
关闭所有工作区已打开的独立复合索引文件⑶、设置当前索引①、命令方式数据表已经打开,使用命令:
SETORDERTO标识名[OF独立复合索引][ASCENDING|DESCENDING]数据表没有打开,使用命令:
USE表名ORDER标识名[OF独立复合索引][ASCENDING|DESCENDING]②、对话框选择方式步骤:
打开数据表,单击菜单“显示”“浏览”单击菜单“表”选“属性”,打开“工作区属性”对话框单击“索引顺序”下拉列表框,选标识项5、索引项的删除
(1)取消当前索引设置格式:
SETORDERTO0或:
SETORDERTO功能:
取消主索引标识,指针指向表文件
(2)删除索引标识删除结构复合索引文件中的索引标识打开表文件,打开表设计器,“索引”选项卡,选定要删除索引标识,按“删除”按钮删除结构、独立复合索引文件中的索引标识打开数据表,使用命令:
DELETETAGALL|标识1,标识2„„
6、重建索引打开表与索引文件后,使用命令:
REINDEX
●1、SEEK命令命令:
SEEK<索引值>功能:
索引文件打开情况下,在表文件的主控索引中查找与<索引值>的值相匹配的第一条记录说明:
SEEK命令可查找字符型、数值型、日期型、逻辑型表达式的值。
命令中表达式必须有定界符,以确定表达式类型。
●2、FIND命令命令:
FIND<字符串>/<数值常量>功能:
在表文件的主控索引中查找定位关键字值与<字符串>或<数值常量>相匹配的第一条记录⑴、如果找到,则把记录指针指向该记录,并且将FOUND()函数的值为“真”;⑵、如果没有找到与其相符的记录,则将记录指针指向表的末尾,且将FOUND()函数的值置为“假”,将EOF()函数的值置为“真”。
⑶、如果有多个与关键字匹配的记录,则记录指针定位于其中的第一条记录上,若查询后续记录,可用SKIP⑷、执行SETEXACTOFF命令后,用FIND命令查找字符串时,字符串可以是索引表达式值的全部或是从首字符开始的一个子串。
●联接类型:
⑴、内部联接(InnerJoin):
只有两个表的字段都满足联接条件时,才将此记录选入查询结果中。
⑵、左联接(LeftOuterJoin):
联接条件左边表中的记录都包含在查询结果中,而右边表中的记录只有满足联接条件时,才选入查询结果中。
⑶、右联接(RightOuterJoin):
联接条件右边表中的记录都包含在查询结果中,而左边表中的记录只有满足联接条件时,才选入查询结果中。
⑷、完全联接(FullJoin):
无论两个表中的记录是否满足联接条件,都将全部记录选入查询结果中。
●对象在不同领域中对对象有不同的理解。
一般认为,对象就是一种事物,一个实体。
从概念上讲,对象是代表正在创建的系统中的一个实体。
例如,一个商品销售系统,像顾客、商品、柜台、厂家等都是对象。
从实现形式上讲,对象是一个状态和操作(方法)的封装体。
状态是由对象的数据结构的内容和值定义的,方法是一系列的实现步骤,它是由若干操作构成的。
●类类是创建对象的样板,它包含着所创建对象的状态描述和方法的定义。
一个类的所有对象都有相同的数据结构,并且共享相同的实现操作的代码,而各个对象有着各自不同的状态。
类是所有对象的共同行为和不同状态的集合体。
●Init创建对象。
Destroy从内存中释放对象。
Click用户使用主鼠标按钮单击对象。
DblClick用户使用主鼠标按钮双击对象。
RightClick用户使用辅鼠标按钮单击对象。
GotFocus对象接收焦点,由用户动作引起,如按Tab键或单击,或者
LostFocus对象失去焦点,由用户动作引起,如按Tab键或单击,或者KeyPress用户按下或释放键。
MouseDown当鼠标指针停在一个对象上时,用户按下鼠标按钮。
MouseMove用户在对象上移动鼠标。
MouseUp当鼠标指针停在一个对象上时,用户释放鼠标按钮。
●对象属性说明Caption复选框旁边的说明性文字。
Enabled复选框能否被用户选择。
ForeColor标题文本的颜色。
Left复选框左边的位置。
MousePointer在复选框内鼠标指针的形状。
Top复选框顶边的位置。
Visible指定复选框是否可见Click用户单击复选框。
GotFocus用户选择复选框。
LostFocus用户选择其他控件Refresh复选框中的值被更新,以反映隐含数据源的数据变化。
SetFocus焦点被置于复选框,好像用户刚使用TAB键选中复选框。
●程序设计(Programming)是指设计、编制、调试程序的方法和过程(程序设计=数据结构+算法)。
它是目标明确的智力活动。
由于程序是软件的本体,软件的质量主要通过程序的质量来体现,在软件研究中,程序设计的工作非常重要,内容涉及有关的基本概念、工具、方法及方法学等。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vf6 理论基础 知识