数据库VF第1-0讲 第1章概述
- 格式:ppt
- 大小:406.00 KB
- 文档页数:4
第一章Visual FoxPro数据库基础大纲要求一、Visual FoxPro基础知识。
数据库、数据库系统、数据库管理系统以及三者之间的关系;数据库系统的特点;数据模型。
二、关系数据库。
关系中的关系、元组、属性、域、关键字、外部关键字;关系的特点:关系模型。
三、关系运算。
传统的集合运算:并、差、交;专门的关系运算:选择、投影、联接。
最近两年还有考到:笛卡尔积、除法四、掌握项目管理器中的6个选项卡,记住各选项卡中创建的文件类型。
历年考点1.1.1计算机数据管理的发展1.计算机在数据管理方面的几个阶段(1)人工管理阶段:数据与程序不存在独立性,数据存在大量冗余。
(2)文件系统阶段:提供了简单的数据共享与数据管理能力,但是它无法提供完整的、统一的、管理和数据共享能力。
(3)数据库系统及分布式数据库系统阶段:提高数据的共享性,使多个用户能够同时访问数据库中的数据;减小数据的冗余度,以提高数据的一致性和完整性;提供数据与应用程序的独立性1.1.2数据库系统1.数据库有关概念(1)数据库系统(DBS):由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件平台(软件)五个部分构成的运行实体。
(2)数据库(DB):是存储在计算机上结构化的相关数据集合,它不仅包括描述事物的数据本身,而且还介绍数据库管理系统所支持的各种数据模型。
(3)数据库管理系统(DBMS):一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,是数据库的核心。
VF是数据库管理系统。
(4)数据库管理员(DBA):对数据库进行规划、设计、维护、监视等的专业管理人员。
(5)数据库应用系统:由数据库系统、应用软件及应用界面三者组成。
2. 数据库系统的特点数据库系统的基本特点:(1) 数据的集成性(2) 数据的高共享性与低冗余性(数据不一致性)(3) 数据独立性(物理独立性与逻辑独立性)(4) 数据统一管理与控制(完整性/安全性/并发控制)1.1.3数据模型1. 实体的描述(1)实体:客观存在并且可以相互区别的事物,实体可能是实际的事物,也可能是抽象的事件。
文件扩展名及备份文件扩展名第一章数据库基础知识1、数据库管理系统:DBMS;数据库应用系统:DBAS;数据库系统:DBS;数据:DBDBS包括DBMS,DBAS,DB2、实体间的联系:一对一,一对多,多对多。
3、数据库中的数据模型:网状模型,层次模型,关系模型。
4、关系:一个关系就是一个二维表,每一个关系有一个关系名。
5、元组:二维表中的行称为元组。
6、属性:二维表中的列称为属性。
7、域:属性的取值范围。
8、关系→表;关系名→表名;属性→字段;元组→记录;行→记录,元组;列→字段,属性。
9、传统的集合运算:并,差,交。
10、专门的关系运算:选择(水平方向)for,while,where投影(垂直方向)fields,select联接(一对一,一对多,多对多)11、定义数组:dime/declare 数组名(3,4)第二章VF基础知识1、创建项目:①通过菜单创建②命令:creat project项目名2、打开项目管理器:①通过“文件→打开”菜单项②命令:modify project 项目名3、各类文件选项卡:①数据选项卡(数据库,自由表,查询,视图)②文档选项卡(表单,报表,标签)③类④代码⑤其他第三章数据与数据运算* N包括Y,F,B,I2、变量:在程序运行过程中,其值可能发生变化的量。
3、变量的分类:字段变量,内存变量,数组变量,系统变量,对象变量。
4、常用的函数①、数值型函数1.绝对值函数【函数格式】?abs(<数值表达式> )【函数功能】返回指定“数值表达式”的绝对值【返回值类型】数值型eg:?abs(-1) 12.平方根函数【函数格式】?sqrt(<数值表达式>)【函数功能】返回指定“数值表达式”值的平方根。
“数值表达式”的值必须是大于或等于零【返回值类型】数值型eg:?sqrt(25) 5sqrt(81) 9sqrt(7^2-4*2*4) 4.123.取整函数【函数格式】?int(<数值表达式>)【函数功能】返回指定“数值表达式”整数部分的值【返回值类型】数值型eg:?int(6489.658) 6489?int(123.58) 1234.四舍五入函数【函数格式】?round(<数值表达式1>,<数值表达式2>)【函数功能】对指定的<数值表达式1>进行四舍五入运算【使用说明】<数值表达式2>指定四舍五入运算精确的位数。
第一章教案课题名称1.1数据库基础知识 1.2 关系数据库授课时间时数2教学目标应知了解计算机数据管理的发展历程应会掌握数据库系统的基本概念、数据库管理系统的功能教材分析重点数据库系统难点数据模型 关系数据库教学方法讲授教学资源教学参考书教学内容时间分配1、数据库基础知识2、关系数据库30分60分教学后记作业内容备 注引入:为什么要学数据库管理?§1.1数据库基础知识§ 1.1.1 计算机数据管理的发展一、数据与数据处理1.数据:是描述客观事物的符号记录,是用物理符号记录下来的可以鉴别的事物特性。
包括:数字、文字、图形、图像、动画、声音等。
2.信息:是数据经过加工处理后的有用结果。
或是能表示一定含义的数据。
例:数据描述: 王阳,9098135,男1980,江苏,计算机系,1998。
经过简单的推论后,可得出这样的信息:王阳是位男大学生,学号为9098135,1980年出生,江苏人,1998年考入计算机系。
3.数据处理:将数据转换成信息的过程。
内容包括:数据收集 →数据整理(鉴别) → 存储数据 → 使用数据(计算、统计、查询等) →维护数据????故通过数据处理可以获取信息,然后对信息进行解释、推论、归纳、分析、综合等而产生决策。
在一个企事业单位中,数据的处理与作用呈金字塔形,如下图所示:战略层战术层 操作层二、数据管理技术的发展计算机对数据的管理是指对数据的组织、分类、编码、检索和维护所提供的操作手段。
经历了:人工管理、文件系统、数据库系统、分布式数据系统、面向对象数据库系统。
1、人工管理20世纪50年代中期以前特点:①程序员必须掌握数据在计算机中的存储地址和方式,才能在程序中正确的使用数据。
②程序与数据不独立,数据不能保存,程序之间有数据冗余。
2.文件系统20世纪50年代后期至60年代中期特点:①数据存储在数据文件中,由文件管理系统使用数据。
②数据文件和程序文件相互依赖,数据冗余度大,且造成数据的不一致性。
第一章VF数据库基础教案(最终定稿)第一篇:第一章 VF数据库基础教案第一章 VF数据库基础一、什么叫数据:是指存储在某种媒体上的能够识别的物理符号如:数字、字母、文字、特殊字符组成的文本形式数据,还有图形、动画、影像、声音等多媒体数据,而最多、最常用的是文字数据。
注:数据包括:描述事物特性的内容和存储在媒体上的数据形式。
二、什么叫数据处理?是指将数据转换成信息的过程。
三、数据处理的目的(其中核心问题是数据管理)计算机对数据的管理发展阶段及特点:经历了五个阶段:1、人工管理阶段:20世纪50年代;数据和程序不具有独立性,无法进行长期保存,数据不能共享,数据冗余大。
2、文件管理阶段:20世纪50年代后期至60年代中后期,程序和数据有一定的独立性,程序和数据分开存储。
3、数据库系统管理;从20世纪60年代后期开始:特点:数据和程序具有较高的独立性,实现了数据共享,减少数据冗余(注:但并不是完全避免数据冗余)4、分布式数据库系统:20世纪70年代后期,是数据库技术和计算机网络技术紧密结合的产物。
5、面向对象数据库系统:20世纪80年代引入计算机科学领域的一种新的程序设计技术模型特点:就是按照人们认识世界和改造世界的习惯方法对现实世界的客观事物对象进行最自然的最有效的抽象和表达,同时又以各种严格高效的行为规范和机制实施客观事物的有效模拟和处理。
注:在数据管理技术的发展过程中:数据库系统可以实现数据共享。
一、数据库系统:1、数据库(DB):是存储在计算机设备上结构化的相关数据的集合,它不仅包括描述事物数据本身,而且还包括相关事物之间的联系。
可以被多个和户、多个应用程序共享2、数据库应用系统(DBAS):是指系统开发人员利数据库系统资源开发出来的。
3、数据库管理系统(DBMS):是对数据库的建立,使用和维护进行管理。
4、数据库系统(DBS):是指引进数据库技术后的计算机系统,实现有组织地、动态地存储大量相关数据提供数据处理和信息资源共享的便利条件。
第一章数据库基础知识一、数据:1、数据(DATA):存储在媒体上能够识别的物理符号。
其一,能够描述事物的特性,其二,能够存储在媒体上。
文字数据(数字,字母,文字)和多媒体数据(声音,图象,动画)2、数据处理:将数据转化成信息的过程。
3、数据管理发展三个阶段:人工管理阶段,文件系统阶段,数据库系统阶段。
数据库系统阶段特点:提高共享性,减少冗余度。
二、数据库系统:DATABASE SYSTEM1、数据库DATABASE (DB):存储在计算机上的结构化数据的集合。
2、数据库管理系统(DBMS):对数据库的建立、更新和维护所配置的软件。
是数据库系统的核心软件。
VISUAL FOXPRO 就是一个可以在计算机和服务器上运行的数据库管理系统。
3、数据库应用系统:系统开发人员利用数据库系统资源开发出来的、面向某一类实际应用的应用软件系统,例如以数据库为基础的财务管理系统、人事管理系统、图书管理系统、教学管理系统、生产管理系统。
4、数据库管理员(DBA):职责:●参与数据库的规划、设计和建立;●负责数据库管理系统的安装和升级;●规划和实施数据库的备份和恢复;5、数据库系统(DBS):由五部分组成:硬件系统,数据库集合,数据库管理系统,数据库管理员和用户。
6、数据库系统的核心软件:数据库管理系统(DBMS)。
7、DBS、DB、DBMS 三者之间的关系:DBS包含DB和DBMS三、数据模型:1、实体:客观存在的并且可以相互区分的事物称为实体。
2、属性:描述实体的特征和状态称为属性。
3、实体间联系:(1)一对一联系:学生和学号,公司和经理1:1(2)一对多联系:学校和学生,部门和职员1:M(3)多对多联系:学生和选课,图书和读者M:N4、数据模型:表示实体和实体间联系的方法的一种结构图。
(1)层次模型:用树形结构表示实体和实体间联系的模型。
(2)网状模型:用网状结构表示实体和实体间联系的模型。
(3)关系模型:用二维表结构表示实体和实体间联系的模型。
第一章vf的基础知识(1)人工文件数据库(2)关系运算传统:交并差专门:选择:行元组(记录) for where 行减少一个表投影:列属性(字段) fields 列减少一个表连接:多个表行列减少变多join on自然连接:多个表去掉重复属性的等值连接笛卡尔积:多个表3 * 3(3)关系的特点: 关系表二维表(.dbf)一个关系必须规范化元组不能重复属性不能重复属性的顺序没有要求记录顺序没有要求(4)项目(.pjx)建立项目:create project [项目名]修改项目:modify project [项目名]第二章函数常量数值表示方法:直接表示123 12.35 N货币常量表示:$123 默认4位小数$123 123.0000 8字节Y字符常量表示:"" '' [] sql Cthisform.grid1.recordsource="sele ..where 颜色='蓝' "日期常量{} 2005/05/02=>数值表示:{yyyy/mm/dd} 8字节D{yy/mm/dd}{mm/dd/yyyy} 传统严格:{^yyyy/mm/dd}set mark to ',' : set mark to :set date to ymd mdy dmy ...set cent on|offset stri to 0|1|2日期时间常量: {yyyy/mm/dd hh..} 8字节T逻辑型:m=5>6 .t. .T..y..Y. .F. .f..N..n. 1字节L表达(1)字符: + - 连接类型必须相同1+2=3"1"+"2"=12 1+"2" ×"1"-"2"=12"1 "+" 2 "=1口口2口"1 "-" 2 "=1口2口口(2)日期表达式:日期+日期×日期+数值√日期-数值√日期-日期(3)逻辑: and or not !.and. .or. .not. not>and>or(5)==:精确比较职工号=="z1" z1 z11 z12 z112日期越后的越大.t.>.f.$:包含left 左边right右边substr "...........""计算机" $ 商品名商品名like "%计算机%"like(商品名,"*计算机*")函数数值abs()sign()sqrt()int(3.456) =>3ceil(3.456)=>4floor(3.456)=>3round(3.456,2)=>3.46round(456.325,-2)=>500max("2","9","85")=>9min("计算机","电脑")=>电脑j d字符函数(1)len(字符型):结果数值len(sapce(0))=>0len(space(3)+space(5))=>8len(space(5)-space(3))=>8(2)space(数值):结果字符(3)trim() 后面结果字符ltrim() 前面allttrim() 前后into table allt(thisform.text1.value) (4)left(姓名,2) 左结果字符right(姓名,2) 右substr(姓名,2)任意位置截取一直到末尾substr(姓名,2,3):(5)at("..","..."):第一次结果数值at("..","...",n):第n次(6)stuff("abcdef",2,3,"11"):a11efstuff("abcdef",2,3,""):aefstuff("abcdef",2,0,"11"):a11bcdef(7)like(表达式1,表达式2):表达式可以出现通配符?*like("ab*","abcd") .t.like("abcd","ab*") .f.转换(1)str():数值转换为字符str(表达1,表达2,表达3) str(thisform.text1.value,8,2)(2)val():字符转数值(3)ctod():字符转日期(4)dtoc():日期转字符(5)year():截取年份n(6)month():月份n(7)day():天n(8)date():系统日期d(9)time():系统时间c(10)bof():表的首部(11)eof():表的末尾do while not eof()(12)&: &"123"=>123(13)vartype():(14)empty():"空值"测试0 .f. 空格空串 .t.empty(.null.)=> .f.(15)isnull():空值isnull(.null.) => .t.(16)iif(150>200,200,300)变量字段变量(表中的字段名)和内存变量(除表的字段名以外)当字段变量和内存变量同名,最终字段变量优先,要访问内存变量m.内存变量m->内存变量(1)假设表中的字段名姓名张三命令窗口输入:姓名=姓名-"你好"?姓名=>张三?m.姓名?m->姓名=>张三你好(2)假设表中的字段名商品名计算机命令窗口输入:m=商品名-"技术"?m => 计算机技术?商品名->计算机(3)x=3y=3store 3 to x,y(4)?:换行输出??:当前光标处输出一行(5)数组dime(1)数组的初值: .f.(2)数组的起始的小标(下标的下线):1(3)数组的个元素的类型可以不一样(4)vf变量的数据类型由变量的值决定,可以通过改变变量的值来改变变量的类型(5)对数组名赋值代表对所有元素赋值(6)可以用一维数组表示二维数组(6)scatter to :将表的当前记录赋值到数组gather from :将数组的值赋值到表的当前记录第三章数据库基本操作数据库(.dbc)数据库的命令(1)建立数据库:create database 数据库名(2)打开数据库:open database(3)修改数据库(打开数据数据库设计器):modify database(4)关闭数据库:close database(5)删除数据库:delete database(6)将自由表添加到数据库:add table(7)将数据库移除变为自由表:remove table(8)设置当前数据库:set database to 数据库名(9)取消当前数据库:set database to (所有的数据库都不是当前,不是关闭) 自由表:不属于任何一个数据库的表数据库表:放在库中(1)一个表只能属于一个数据(2)数据库表(1)字段有效性(域完整性):规则:逻辑表达式><信息:字符表达式""默认值:由字段的类型"" {} $ 123(2)索引:主候选普通唯一(3)联系:永久联系:表现为表与表之间的连线(1)必须在数据库设计器(2)建立永久联系必须先建索引:一个主一个普通(3) 一对一一对多主主(默认) 主普通(默认)候选候选主唯一主候选候选普通候选主候选唯一临时联系:指针的联动(1)先建立索引,一般主对普通(2)指针的联动:当父表的指针指向某条记录,子表的指针自动指向同一条记录(3)建立临时命令:set relation to 索引字段into 表名(4)取消临时联系:set relation to(4)参照完整性:更新插入删除步骤:(1)建立索引(2)建立永久联系(3)清理数据库:数据库->清理数据库(4)建立参照完整性更新:级联父子限制父子忽略删除:级联父子限制父子忽略插入:限制子父忽略自由表的特点:(1)自由表不能建立上面的操作(2)自由表不支持长表名into table allt(thisform.text1.value)(3)自由表:候选普通唯一(4)将数据库表删除后,原来是主索引->候选索引索引:逻辑顺序由指针构成的文件索引和表单独存放(1)主索引: 一个数据库表只能建立一个主索引建立主索引的字段值不能重复(2)候选索引:一个表可以建立多个候选候选索引和主索引的功能完全相同建立主索引的字段值不能重复(3)普通:一个表可以建立多个普通建立普通就是为了排序建立普通索引的字段值可以不重复,也可以重复(4)唯一:一个表可以建立多个唯一建立唯一就是为了排序建立唯一引的字段值可以不重复,也可以重复建立唯一索引,如果字段不重复,结果全部出现如果字段重复,重复字段结果只出现一个,默认出现第一个(5)建立单索引(.idx)index on 索引表达式to 索引名注意(1)一个单索引产生一个文件,多个单索引产生多个文件(2)单索引的文件名就是to后面的索引名(3)单索引只能升序,不能降序(4)单索引只能两种索引:普通(默认) 唯一(unique)(6)结构符合索引(.cdx)注意:(1)多个结构符合索引只产生一个文件(2)结构符合索引的文件名就是表名(3)结构可以升序,也可以降序默认:升序asce desc(4)建立三种:候选(candidate) 唯一(unique) 普通(默认)(5)index on 索引表达式tag 索引名(7)排序:物理顺序生成一个表文件和原来的表分开存储命令:sort on 排序字段to 表名(8)查找顺序查找:locate for 查找条件(1)locate for 无论执行多少次,最终只能找到符合条件的第一条记录(2)继续查找:continue(3)判断查找是否成功:found() .t. 找到.f. 未找到(4)如果找到则eof()=> .f.如果没有找到: 则eof()=>.t.索引查找:seek(1)要用seek,必须按查找的字段先建立索引(2)继续查找:skip(3)locate for 性别="男" seek "男"(9)设置当前索引(打开索引)(1)命令建立索引:index on tag 直接有效(2)设计器:不会直接有效set order to 索引名set order to :关闭有效索引第四章sql(1)简单sql公式sele 结果字段1,结果字段2,...from 表where 条件注意:(1)*:所有字段* from 表1 * from 表1,表2 表1.*(2)distinct:去掉重复记录张三女张三女(3)where 查询条件(2)连接查询(1)where 连接等价于[inner] join on 内连接wheresele 结果字段from 表1,表2,..where 表1.公共字段=表2.公共字段; and ..and 查询条件join on (2个表)sele 结果字段from 表1 join 表2 on 表1.公共字段=表2.公共字段; where 查询条件join on(3个表)sele 结果字段from 表1 join 表2 join 表3 ;on 表2.公共字段=表3.公共字段;on 表1.公共字段=表2.公共字段;where 查询条件(2)超级连接left join :左连接左的表如果不满足条件,结果也会出现,满足条件的也会出现right join:右连接full join:全连接join on:内连接只有满足的才会出现嵌套(1)in not in 在....里面sele 结果字段from 结果的表where 公共字段in;(sele 公共字段from 条件的表where 查询条件)(2) exists (真的条件) not exist (假的条件)sele 结果字段from 结果的表where exists;(sele * from 条件的表where 结果表.公共字段=条件表.公共字段; and 查询条件)计算查询(1)sum(参数) 求和(2)max (3)min (4)avg() (5)count()数数计数排序sele 结果字段from 表where 条件;order by 字段1 [asc|desc],排序字段2 [asc|desc],...注意:(1)order by 排的最终结果的顺序修正(2)排序可以更多个字段,从左到右的顺序(3)asc 升序desc 降序默认为升序分组sele 结果字段from 表where 条件;order by 排序[asc|desc];group by 分组字段1,分组字段2,...[having 分组的条]注意(1)as 重命名sele 原字段as 结果字段...(2)avg max sum min count:只能写在sele 或having(3)order by :结果排序只能跟结果字段(4)where :只能跟原字段(5)group by :可以跟原字段也可以是结果字段(6)条件:where having(7)having:必须跟在group by 的后面(8)having 和where 不矛盾先用where 限定元组,在用group by 分组,然后再用having去掉不满总条件的分组(9)嵌套查询sele ..(sele...)order by 不能用在子查询中查询去向(1)top n [perc] :前多少条:top必须和order by 同时使用(2)into array 数组名(3)into cursor 临时表(4)into table|dbf 永久表(5)to file 文本文件数据操纵(1)插入数据非sql:append insert append fromsql:insert into 表名values(字段值):插入全部字段insert into 表名(制定字段)values(字段值):插入部分字段insert into 表名from array 数组名insert into 表名from memvar 从同名的内存变量(2)更新数据非sql:replace 更新字段名with 字段值:只能当前一条replace 更新字段名with 字段值for :满足条件replace all 更新字段名with 字段值for : 满足条件replace all 更新字段名with 字段值:全部sql:update 表名set 字段名=字段值:默认全部update 表名set 字段名=字段值where :符合条件(3)删除记录非sql(1)逻辑删除:dele for 条件(2)恢复:recall for 条件(3)物理删除:pack 必须先逻辑后物理(4)彻底删除:zap 删除全部记录后,表依然存在sql:(1)逻辑删除:dele from 表名where 条件(2)物理:pack数据定义(1)建立表:create table|dbf 表名[name 长表名][free];(字段名1 字段类型[(字段宽度[,小数位数])] [null|not null] [check [error]] [default][primary key |unique ][refe 表2][,字段名2...])(2)修改表格式1:alter table 表名add|alter [column] 字段名字段类型[(字段宽度[,小数位数])] [null|not null][check [error]] [default][primary key |unique ][refe 表2][,字段名2...])格式2:alter table 表名alter [column] 字段名[null|not null] [set default] [set check][drop default] [droup check]格式3:alter table 表名drop 字段名alter table 表名renamen 原字段名to 新字段名alter table 表名add primary key |unique ..alter table 表名drop primary keyalter talbe 表名drop unqiue tag 索引名查询和视图查询的知识点(.qpr)(1)查询是预先定义好的sql sele 语句(2)是一个文本文件(3)建立查询(1)新建->查询(2)项目->数据->查询(3)create query 查询文件名(4)新建->文本文件->sql->保存->.qpr(4)修改查询:modify query 查询文件名(5)查询的选项卡: 字段->sele连接->join on筛选->where排序->order by分组->group by having杂项->top distinct运行查询:do 查询文件名.qpr视图(1)基于sql产生(2)视图保存在数据库中,磁盘上不存在,操作视图,必须先打开数据设计器(3)查询保存在磁盘上,就是叫查询文件,跟数据库无关(4)视图:字段连接筛选排序分组更新条件杂项(5)查询只能查表,但是不能更新表,视图既可以查询表,也可以更新表(6)建立视图:create view 视图名as sele ..(7)删除视图:drop view 视图名(8)修改视图:modify view表单(.scx)表单文件名:保存或关闭表单控件名(表单名):name表单标题:catpion背景色:backcolor自动居中:autocenter模式表单:windowtype不可移动:movable高:height宽:width左:left顶:top表单的退出命令:thisform.release方法:退出release 显示:show 隐藏:hide表单:load init destroy unload事件:click dblclick rightclick属性:caption backcolor name ...建立表单:create form 表单名修改表单:modify form 表单名运行表单:do form 表单名标签(label1)属性name:名字caption:标题fontsize:字体大小forecolor:字体颜色autosize:自动调整大小backcolorfontname:字体backstyle:是否透明文本框(text1)name:名字value:文本框的值inputmask:格式x:任意字符9:数字和+ - #:空格数字+- . , passwordchar:密码显示的字符表示文本框的值:thisform.text1.value将sql的结果放入文本框:(1)sele ..into array aa(2)thisform.text1.value=aa命令按钮(command1)属性default:默认按钮enter click .t. 一个cancel:取消escenabled:是否可用(黑色和灰色)visible:是否可见(显示和隐藏)caption:标题事件:click选项组:optiongroup1 option1 option2属性:value=n:第n 个按钮被选中if thisform.optiongroup1.value=n :选中第n个按钮.....elseendifdo casecase ....endcasebuttoncount:按钮的个数组合框(combo1)value:选中的值displayvalue:选中或输入的值displaycount:显示的最大数目字段名=bo1.displayvalue rowsourcetype:数据源的类型0-无additem 增加条目removeitem 删除条目1-值手动自己输计算机,电脑,...6-字段某个字段的值8-结构显示某个表的所有字段名3-sql 写sele 命令5-数组数组名7-文件*.doc *.xls 幻灯片pptrowsource:数据源列表框(list1)value:列表框中选中的值listcount:列表框中的条目总数rowsourcetype:数据源的类型rowsource:数据源list(i):代表第i个条目thisform.list1.value页框(pageframe1) page1 page 2..pagecount:页数activepage:激活某一页thisform.pageframe1.activepage=n:激活第n页表格(grid1)captionrecorsourcetype:数据源的类型0-表开关的状态无关1-别名表必须开4-sql sele 语句recordsource:数据源columncount:列数-1 :全部列N:只能有n列0-表thisform.grid1.recourdsource="表名"4-sqlthisform.grid1.recourdsource="sele .. into cursor "计时器(timer1)interval: 计时器时间间隔500复选框(check1)value=1 选中=0 为选中check1 check2 (一个check就是2个结果,二个check就是4个结果)菜单(.mnx .mpr)建立菜单(1)先建->菜单->(.mnx)->单击菜单->生成(.mpr)菜单文件菜单程序文件(2)运行:.mpr 程序文件(3)菜单表文件(书227页,本身并不能运行,必须要生成)(4)建立菜单/修改:modify menu 菜单名(5)退出菜单:set sysmenu to default(6)退出表单:thisform.release(7)菜单的显示位置:单击显示->常规选项->位置访问键: (\<字母)快捷键: 直接输(菜单设计器的选项打勾后,再按ctrl+某个键)分组线:\-运行菜单:do 菜单名.mpr(8)顶层表单(将菜单显示在表单上)菜单(1)建立菜单(2)单击显示->常规选项->勾上顶层表单表单(1)将表单的showwindow -2(2)给表单init (load):添加调用菜单的代码:do 菜单文件名.mpr with this注意:菜单中要用表单中的东西原来表单中:thisform.release菜单中:表单文件名.release快捷菜单(将菜单显示在表单上,右键才可以显示)菜单(1)先建->快捷菜单(2)单击显示->常规选型->设置-> para 形参名(是否设形参,关键是要看你的菜单是不要用表单,如果要就必须设,不要就不设)表单(1)在表单的rightclick 添加代码do 菜单名.mpr with this注意快捷菜单也可以用表单的东西原来在表单:thisform.release菜单中:形参名.release程序(.prg)注释*:&&:note :输入命令(1)input "输入提示" to 变量:输入任意类型数值:1213货币:$123字符型:"" '' []日期: {}(2)accetp "输入提示" to 变量:只能输入字符串字符:不用""(3)wait "输入提示" to 变量:只能输入单个字符程序结构(1)顺序结构(2)选择结构:if if do caseendif else case ..endif ..endcase (3)循环结构do while for scan for.. .. ..enddo endfor endscanloop:结束本次循环继续下一次exit:结束循环参数传递格式1: do 过程名(函数名) with 参数do aa with 5 (常量): 单向do aa with x+y (表达式):单向do aa with (x) (带括号的变量):单向do aa with x (变量):双向格式2:过程名(参数)set udfp to value:设置单向传递单向aa(5)aa(x+y)aa((x))aa(x)set udfp to refe :双向aa(5) :单向aa(x+y):单向aa((x)):单向aa(x) :双向变量的作用域公共变量:publicpublic 变量初值:.f.作用范围:全部都可以用私有变量:在他和他的下层可以使用直接定义的变量叫私有变量局部变量:local 变量名初值:.f.只能在本模块中使用建立和修改程序:modify command 运行程序:do 程序名do 查询.qprdo 菜单.mprdo form 表单报表(.frx)标签:显示文字表达式:域控件ole对象:图片建立报表:create report 报表名修改报表:modify report 报表名预览报表:report form 报表preview。
第一章 VF数据库基础1.4 vf系统简介Vf6.0是可运行于windows平台的 32位数据库开发系统1.5 项目管理器1.定义:指文件、数据、文档和visual foxpro对象的集合,是将一个应用程序的所有文件集合成一个有机的整体。
扩展名.pjx2.项目管理器包含的选项卡:●数据:数据库,自由表,查询●文档:表单,报表,标签●类:●代码:程序、函数库API,应用程序●其他:文本文件,菜单文件,其他文件●全部:包含以上各类文件3.在项目管理器中,可以:新建文件、添加文件、删除文件、修改文件,不可以重命名文件4.退出VF命令:quit1.6 数据库基础知识数据:是存储在某种媒体上能够识别的物理符号。
数据处理:将数据转化为信息的过程。
DBS(数据库系统)包括DB(数据库)、DBAS(数据库应用系统)、DBMS(数据库管理系统)数据库系统的组成:硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户。
数据库系统的核心是:数据库管理系统(DBMS)数据模型:层次模型(用树型结构表示实体及其之间联系的模型称)网状模型(用网状结构表示实体及其之间联系的模型)关系模型(用二维表来表示实体以及实体之间联系的模型。
以关系数学理论为基础)1.7关系数据库“关系”指的是:表文件(.dbf文件)外部关键字:若表中的一个字段不是本表的主关键字或候选关键字而是另外一个表的主关键字或候选关键字,这个字段就称为外部关键字。
传统的集合运算并:两个关系的元组的集合。
差:属于一个关系而不属于另一个关系的元组的集合。
交:两个关系中的公共元组。
专门的关系运算:选择:从关系中找出满足给定条件的元组的操作称为选择。
投影:从关系中制定若干属性,组成新的关系。
投影是从列的角度进行的运算。
连接:把两个关系拼接成一个关系的运算。
第二章数据与数据运算2.1 常量与变量2.1.1 常量常量的数据类型:字符数值日期日期时间货币逻辑●字符常量:可以使用的定界符“”‘’ []●数值常量:1.23E-5 科学计数法●日期常量:分严格日期格式:{^yyyy-mm-dd}传统日期格式:{mm/dd/yy}Set strictdate to 0 可以使用传统日期格式Set strictdate to 1/2 必须使用严格日期格式默认情况下使用严格日期格式Set mark to “-”日期分隔符(”/”,”–““.”)默认 /Set date to mdy /dmy/ymd 设置日期顺序默认 mdySet century on 4位年份显示Set century off 2位年份显示(默认)Set century to 世纪值 rollover 年份参照值当输入两位的年份小于参照值,输出年份世纪值+1如: set century to 19 rollover 20R={10/21/13}?r 输出为: 2013年10月21日R={10/21/95}?r 输出为: 1995年10月21日●日期时间常量●逻辑常量:.t. .f.(.y. .n.)在主窗口口只显示 .t. 和 .f.货币型常量:使用$ ,保留4位小数2.1.2 变量1.变量三要素:变量名数据类型变量值2.变量分类:字段变量和内存变量当内存变量和字段变量同名时,字段变量优先使用,如果要使用内存变量M.变量名或 M->变量名3.内存变量赋值用= 或 storeStore 值 to 变量1,变量2,…Store 一次可以对多个变量赋相同的值。
Vf笔记第一章数据库基础与VF系统概述1. VF是一个32位的关系模型的数据库管理系统2. 数据库:存放在计算机硬件中的数据集合,database 简写DB3. 数据库管理系统:DBMS DB:database M:management S:system在数据库中起核心作用。
4. 数据库系统(DBS)的组成:数据集合,硬件,数据库管理系统及其相关软件数据库管理员(DBA)用户 DBS包括DE 和DBMS5. 数据库系统特点:(1).提高了数据的独立性(2).将少数据冗余,实现数据共享(3).采用了特定的数据模型(4).每种数据库都具有统一的数据控制功能6.数据管理:发展阶段人工管理阶段文件系统阶段数据库系统阶段数据库系统阶段与文件系统阶段的最大区别?数据冗余建立数据库的目的?实现共享数据库设计的根本目的?实现共享7.DBMS所支持的数据模型?层次模型网状模型关系模型8.关系模型:用一个二维表结构来表示实体或实体间联系的模型二维表既平面表9.实体:客观存在,并且可以相互区别的事情实物抽象概念(NBA 世界杯)10.实体之间通过特点来进行区别叫属性属性:用于描述实体之间特点11.实体间联系:一对一(1:1)一对多(1:n)多对多(m:n)没有多对一关系数据库:若干张关系(二维表)组成12.关系:一张二维表,每一个关系有一个关系名(等价概念位二维表)13.属性:垂直列成为属性,每一个属性有一个属性名(属性等价为字段)14.元组:可以表示一条记录的水平行(元组等价成为记录)15.关键字:用来标识一条记录的属性或属性的组合主关键字:主键候选关键字:候选键区别:候选关键字可以有若干个,主关键字一张表中只能有一个,并且不允许为空值16.空值:没有值,缺少值或未确定值数字0或者空格不予空值等价17.外部关键字:起表之间连接作用18.域:属性的取值范围19.关系模型格式:关系名(属性名1,属性名2)20.关系特点:(1)必须规范化……表中不能有表(二维表)(2)关系的行和列的次序无关紧要(3)关系的记录不能重复,属性名不允许重复21.关系运算:传统集合运算和专门关系运算传统集合运算:交并差例如:既包含在A又包含在B的关系运算是交A-B 包含在A但是不包含B专门运算关系:投影选择和联系选择:从一张二维表中的行的运算角度,抽取表中的满足条件的记录投影:从一张二维表中的列的角度抽取表中字段或字段中的值进行运算:联接:从多个表中进行数据抽取命令短语:Quit 退出VF界面?或??在后面加上表达式多个表达式之间用,隔开表达式值在工作区中显示的结果是通过空格隔开的?/??”表达式”?与??都是用来显示表达式的值?加表达式,首先是在工作区中换行,下一行显示表达式值??在当前位置直接显示表达式的值22.VF有三种操作方法菜单操作方法命令操作方法程序操作方法23.VF的设计工具有设计器向导生成器主要设计工具是设计器第二章数据与数据运算1.数值型N 货币型Y 字符型C 日期型D 日期时间型T 逻辑型 L2. 数值型:由小数点、数字、+/—组成的整数或实数例如:①-12/85 1/2不是数值型而是运算式子②1,-12.35,12,-1 是数值型数据3.货币型:数值部分与数值型部分常量组成相同常量之间区别靠定界符$ shift+412.31(N) $12.31(Y)特点:每一个货币型常量在计算机中占8个字节,在显示色时候货币型常量采用4位小数显示不够用0代替多的四舍五入4. 字符型:由字符型常量定界符所包含的数据就是字符型常量。
第一章数据库基础理论一、信息、数据和数据处理信息是有用的数据;数据是信息的表现形式,数据是信息的载体二、数据模型有三种:层次模型、网状模型、关系模型Visual FoxPro 6.0是关系型数据模型三、关系模型关系其实就是一张二维表,由字段、记录,和数据项组成,表中的每一行称为记录或元组,表中每一列称为字段或属性,表中每一项称为数据项或分量。
四、数据库:是数据库系统的核心和管理对象五、数据库系统由四部组成:硬件系统、系统软件(操作系统、数据库管理系统)、数据库应用系统和各类人员三级模式:外模式、概念模式和内模式六、数据库管理系统(DBMS):由三部分组成:数据描述语言DDL、数据操纵语言DML、数据库管理例行程序。
二、关系数据库1、一个关系数据库由若干个数据表组成,数据表由若干个记录组成,而每一个记录是由若干个以字段属性加以分类的数据项组成。
(即数据项→记录→数据表)2、表间关联关系的类型:一对一关系、一对多关系、多对一关系3、关系完整性:是指关系中的数据及具有关联关系的数据间必须遵循的制约和依存关系,保证数据的正确性、有效性和相容性关系的完整性包括:域完整性、实体完整性、参照完整性。
其中域完整性是指:包括字段的值、类型、有效规则实体完整性是指:对关系中的记录值是唯一的。
参照完整性是指:在数据库设计时要进行参照完整性。
建立关联表间数据的参照性。
4、关系运算:选择运算:是指从关系中选择某些满足条件的记录组成的一个关系投影运算:是指从关系中选择某些字段值组成的一个关系连接运算:是将两个或多个关系通过连接条件组成一个新的关系第三章基础知识一、数据类型:(其中所提到的字符个数,一个汉字用两个字符来表示,所有的标点符号应在英文状态下输入) 有六种基本数据类型:1、字符型:由“”、‘’和[]三种作为字符型数据的定界符。
且数据长度不能超过254个字符2、数值型:包括数值型、浮点型、货币型、双精度型、整型其中数值型是最常用的数据类型,是由数字(0~9)、小数点和正负号组成,最大长度不能超过20个字符 (包括十、—号和小数点)。