




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
知行教育冲刺班笔记总结第一章:公共基础知识1.1数据结构与算法1.1.1算法1.算法的基本概念(1)概念:算法是指一系列解决问题的清楚指令。(2)算法的4个基本特性:可行性、拟定性、有穷性、拥有足够的情报。(3)算法的两种基本要素:对数据对象的运算和操作、算法的控制结构(运算和操作时间的顺序)(4)算法设计的基本方法:列举法、归纳法、递推法、递归法、减半递推技术和回溯法。2.算法的复杂度(1)算法的时间复杂度:执行算法所需要的计算工作量。(2)算法的空间复杂度:执行算法所需的内存空间。1.1.2数据结构的基本概念数据结构指互相有关联的数据元素的集合,即数据的组织形式。其中逻辑机构反映数据元素之间逻辑关系;存储结构为数据的逻辑结构在计算机存储空间中的存放形式,有顺序存储、链式存储和散列存储四种方式。数据结构按各元素之间前后件关系的复杂度可划分:(1)线性结构:有且只有一个根节点,且每个节点最多有一个直接前驱和一个直接后继的非空数据结构。(2)非线性结构:不满足线性结构的数据结构。1.1.3线性表及其顺序存储结构1.线性表的基本概念线性结构又称线性表,线性表是最简朴也是最常用的一种数据结构。2.线性表的顺序存储结构●元素所占的存储空间必须连接。●元素在存储空间的位置是按逻辑顺序存放的。3.线性表的插入运算在i个元素之前插入一个新元素的环节如下:环节一:把本来第n个节点至第i个节点依次往后移一个元素位置。环节二:把新节点放在第i个位置上。环节三:修正线性表的机构个数。4.线性表的删除运算删除第i个位置的元素的环节如下:环节一:把第i个元素之后不涉及第i个元素的n-1个元素依次前移一个位置;环节二:修正线性表的结点个数。1.1.4栈和队列1.栈及其基本运算(1)基本概念:栈是一种特殊的线性表,其插入元算与删除运算都只在线性表的一端进行,也被称为“先进后出”表或“后进先出表”。●栈顶:允许插入与删除的一端。●栈底:栈顶的另一端。●空栈:栈中没有元素的栈。(2)特点:●栈顶元素是最后被插入和最早被删除的元素。●栈底元素是最早被插入和最后被删除的元素。●栈有记忆作用。●在顺序存储结构下,栈的插入和删除元算不需移动表中其他数据元素。●栈顶指针top动态反映了栈中元素的变化情况。(3)顺序存储和运算:入栈运算、退栈运算和读栈顶运算2.队列及其基本元算(1)基本概念:队列是指允许在一端进行插入,在另一端进行删除的线性表,又称“先进先出”的线性表。●队尾:允许插入的一端,用尾指针指向队尾元素。●排头:允许删除的一端,用头指针指向头元素的前一位置。(2)循环队列及其运算:入队运算与退队运算。1.1.5树和二叉树1.树的基本概念树是简朴的非线性结构,树中有且仅有一个没有前驱的节点称为“根”,其余节点提成m个互不相交的有限集合T1,T2,…,T}rmm,每个集合又是一颗树,称T1,T2,…,T}rmm为根节点的子树。●父节点:每一个节点只有一个前件,无条件的节点只有一个,称为树的根结点(简称树的根)。●子节点:每一个节点可以后多个后件,无后件的节点称为叶子节点。●树的度:所有节点最大的度。●树的深度:树的最大层次。2.二叉树及其基本性质二叉树是一种非线性结构,是有限的节点集合,该集合为空(空二叉树)或由一个根节点及两棵互不相交的左右二叉子树组成。可分为满二叉树和完全二叉树,其中满二叉树一定是完全二叉树,但完全二叉树不一定是满二叉树。●二叉树可为空,空的二叉树无节点,非空二叉树有且只有一个跟结点;●每个节点最多可有两颗子树,称为左子树和右子树。3.二叉树的存储结构二叉树通常采用链式存储结构,存储节点由数据域和指针域(左指针域和右指针域)组成。二叉树的链式存储结构也称为二叉链表对满二叉树和完全二叉树可按层次进行顺序存储。4.二叉树的遍历二叉树的遍历是指不反复地访问二叉树中所有节点,重要指非空二叉树,对于空二叉树则结束返回。二叉树的遍历涉及前序遍历,中序遍历和后序遍历。1.1.6查找技术(1)顺序查找:在线性表中查找指定的元素。(2)二分查找:线性表必须是顺序存储结构,且必是有序表,反复查找直到成功或子表长度为0时结束。排序技术(1)互换类排序法:借助数据元素的“互换”进行排序,涉及冒泡排序法和快速排序法。(2)插入类排序法:涉及简朴插入排序法和希尔排序法(3)选择类排序法:涉及简朴选择排序法和堆排序法。1.2程序设计基础程序设计方法与风格(1)设计方法:程序设计指设计、编制、调试程序的方法和过程,重要有结构化程序设计方法,软件工程方法和面向对象方法。(2)设计风格:良好的设计风格要注重源程序文档化,数据说明方法,语句的结构和输入输出面向对象的程序设计面向对象方法的本质是主张从客观世界固有的事物出发来构造系统,强调建立的系统能映射问题域。●对象:用来表达客观世界中任何实体,可以是任何有明确边界和意义的东西。●类:具有共同属性,共同方法的对象的集合。●实例:一个具体对象就是其相应分类的一个实例。●消息:实例间传递的消息,它统一了数据流和控制流。●继承:使用已有的类定义作为基础建立新类的定义技术。●多态性:指对象根据所接受的信息而作出动作,同样的信息被不同的对象接受时有不同行动的现象。面向对象程序设计的优点:与人类习惯的思维方法一致,稳定性好,可重用性好,易于开发大型软件产品,可维护性好。1.3软件工程基础软件工程基本概念1.软件的定义与特点(1)定义:软件是指与计算机系统的操作有关的计算机程序、规程、规则,以及也许有的文献、文档和数据。(2)特点:●是逻辑实体,有抽象性。●生产没有明显的制作过程。●运营使用期间不存在磨损、老化问题。●开发、运营对计算机操作系统有依赖性,受计算机系统的限制,导致了软件移植问题。●复杂性较高,成本昂贵。●开发涉及诸多社会因素。2.软件危机与软件工程软件危机指在计算机软件的开发和维护中碰到的一系列严重问题。软件工程是应用于计算机软件的定义,开发和维护的一整套方法、工具、文档、实践标准和工序,涉及软件开发技术和软件工程管理。3.软件工程过程把输入转化为输出的一组彼此相关的资源和活动。4.软件生命周期软件产品从提出、实现、使用维护到停止使用的过程。5.软件工程的目的在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可合用性、可移植性、可追踪性和可互操作性且满足用户需求的产品。6、软件工程的原则软件工程的原则涉及:抽象、信息隐蔽、模块化、局部化、拟定性、一致性、完备性和可验证性。7.软件开发工具从初期的单向工具向集成工具发展,软件开发的方法必须得到相应工具的支持。8.软件开发环境软件开发环境是全面支持软件开发工程的软件工具的集合。计算机辅助软件工程(CASE)是当前最有特色的研究工作和发展方向。1.3.2结构化分析方法需求分析的任务是发展需求、求精、建模和定义需求的过程,可概括为:需求获取,需求分析、编写需求规格说明书和需求评审常用的分析方法:●结构分析方法:其实质着眼数据流,自顶向下,逐层分解,建立系统的解决流程。常用工具涉及数据流图,数字数字字典(核心方法)、判断树和判断表。●面向对象分析方法。结构化设计方法1.软件设计的基本概念和方法软件设计是一个把软件需求转换为软件表达的过程。(1)基本原理:抽象、模块化、信息隐藏、模块独立性(度量标准:耦合性和内聚性)。(2)基本思想:将软件设计成由相对对立、单一功能的模块组成的结构。2.概要设计(1)4个任务:设计软件系统结构、数据结构及数据库设计、编写概要设计文档、概要设计文档评审。(2)面向数据流的设计方法:数据流图的信息分为互换流和事物流,结构形式有互换型和事务型。3.具体设计的工具具体设计的工具涉及:●图形工具:程序流程图、N-S、PAD、HIPO。●表格工具:鉴定表。●语言工具:PDL(伪码)软件测试1.目的:为了发现错误而执行程序的过程。2.准则:●所有测试应追溯到用户需求●严格执行测试计划,排除测试的随意性。●充足注意测试中的集群现象。●程序员应避免检查自己的程序。●穷举测试不也许。●妥善保存设计计划、测试用例、犯错记录和最终分析报告。3.软件测试技术和方法软件测试的方法按是否需要执行被测软件的角度,可分为静态测试和动态测试,按功能分为白盒测试和黑盒测试。(1)白盒测试:根据程序的内部逻辑设计测试用例,重要方法有逻辑覆盖测试、基本途径测试。(2)黑盒测试:根据规格说明书的功能来设计测试用例,重要诊断方法有等价划分法,边界值分析法,错误推测法、因果图法等,重要用于软件拟定测试。程序的调试(1)任务:诊断和改正程序中的错误。(2)调试方法:强行排错法、回溯法和因素排除法。1.4数据库设计基础1.4.1数据库系统的基本概念(1)数据(Data):描述事物的符号记录。(2)数据库(DataBase)长期存储在计算机内的、有组织的、可共享的数据结合。(3)数据库管理系统的6个功能:数据组织、数据操纵、数据维护、控制及保护和数据服务。(4)数据库技术发展经历了3个阶段:人工管理阶段——文献系统阶段——数据库系统阶段(5)数据库系统的特点:集成性、高效性、高共享性、低冗余性、数据独立性、数据统一管理与控制等。(6)数据库系统的内部机构体系:三级模式(概念模式、内模式、外模式)和二级映射(外模式/概念模式的映射、概念模式/内模式的映射)构成了数据库系统内部的抽象结构体系。1.4.2数据模型数据模型是数据特性的抽象,从抽象层次上描述了系统的形态特性、动态行为和约束条件,描述的内容有数据结构、数据操作和数据约束。有3个层次:概念数据模型、逻辑数据模型和物理数据模型。(1)E-R模型:提供了表达实体、属性和联系的方法。实体间联系有:“一对一”、“一对多”和“多对多”;(2)层次模型:运用树形结构表达实体及其之间联系,其中节点是实体,树枝是联系,从上到下是一对多关系;(3)网状模型:用网状结构表达实体及其之间联系,是层次模型的扩展。网络模型以记录型为节点,反映现实中较为复杂的事物联系。(4)关系模型:采用二维表(由表框架和表的元组组成)来表达,可进行数据查询、增长、删除及修改操作。关系模型允许定义“实体完整性”、“参照完整性”和“用户定义完整性”三种约束。●键(码):二维表中唯一能标记元组的最小属性集。●候选键(候选码):二维表中也许有的多个键。●主键:被选取的一个使用的键。1.4.3关系代数(1)传统的集合运算:关系并运算、关系交运算、关系差运算和广义迪卡尔积。(2)专门的关系运算:选择、投影、连接。数据库设计与管理1.数据库设计概念●基本思想:过程迭代和逐步求精。●方法:面向数据的方法和面向过程的方法。●设计过程:需求分析——概念设计——逻辑设计——物理设计——编码——测试——运营——进一步修改。2.数据库设计的需求分析需求收集和分析是数据库设计的第一阶段,常用结构化分析方法(自顶向下、逐层分解)和面向对象的方法,重要工作有绘制数据流程图,数据分析、功能分析、拟定功能解决模块和数据间关系。数据字典:涉及数据项、数据结构、数据流、数据存储和解决过程,是对系统中数据的详尽描述。3.数据库的设计(1)数据库的概念设计:分析数据间内在的语义关联,以建立数据的抽象模型。(2)数据库的逻辑设计:从E—R图向关系模型转换,逻辑模式规范化,关系视图设计可以根据用户需求随时创建。(3)数据库的物理设计:是数据库在物理设备上的存储结构与存取方法,目的是对数据库内部物理结构作出调整并选择合理的存取途径,以提高速度和存储空间。4.数据库管理数据库管理涉及数据库的建立、数据库的调整、数据库的重组、数据库的安全性与完整性控制、数据库故障恢复和数据库的监控。第2章VisualPoxPro数据库基础2.1数据库基础知识数据库系统1.数据库数据库是指存储在计算机存储设备上的结构化的相关数据的集合,涉及描述事物的数据自身及相关事物间的联系。2.数据库管理系统数据库管理系统是指为数据库建立、使用和维护而配置的软件系统,简称DBMS,是数据库系统的核心。3.数据库应用系统数据库应用系统是指系统开发人员运用数据库系统资源开发出来的,面向某一类实际应用的应用软件系统。4.数据库管理员负责全面管理和实行数据库控制和维护的技术人员。5.数据库系统数据库系统是指引进数据库技术后的计算机系统,由硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户组成。6.数据库设计过程需求分析→拟定数据库中需要的表→拟定所需字段→分析各个表所代表的实体之间存在的联系→设计求精2.1.2数据模型1.实体的描述(1)实体:客观存在并且可以互相区别的事物称为实体,实体可以是客观存在的事物,也可以是抽象的事件。(2)实体的属性:描述实体的特性称为实体的属性。(3)实体型:属性值的集合表达一个具体的实体,而属性的集合表达一种实体的类型,称为实体型。(4)实体集:同类型的实体的集合,称为实体集。2.实体间联系及联系的种类一对一联系、一对多联系和多对多联系。3.数据模型数据模型是数据库管理系统用来表达实体及实体间联系的方法。3种数据模型:层次数据模型、网状数据模型和关系数据模型。2.2关系数据库2.2.1关系模型(1)定义:用二维表形式表达实体和实体间联系的数据模型。(2)关系:一个关系的逻辑结构就是一张二维表,每个关系有一个关系名。(3)元组:在二维表中,水平方向的行称为元组,每一行是一个元组。元组相应存储文献中的一个具体记录。(4)属性:二维表中垂直方向的列称为属性,每一列有一个属性名,在VisualPoxPro中表达为字段名,每个字段的数据类型、宽度等在创建表的结构时规定。(5)域:指属性的取值范围。(6)关键字:指属性或属性的组合。(7)外部关键字:表中一个字段是另一个表的主关键字或候选关键字,这个字段属性就称为外部关键字。2.2.2关系运算(1)传统的集合运算:并、差、交。(2)专门的关系运算:选择、投影、连接、自然连接。第三章VisualPoxPro程序设计基础3.1常量和变量3.1.1常量常量涉及:数据型常量、货币型常量、字符型常量、日期型常量、日期时间型常量、逻辑型常量(只有数据真和逻辑假两个值)。3.1.2内存变量常用命令1.内存变量的赋值●格式1:store<表达式>to<内存变量名表>●格式2:<内存变量名表>=<表达式>2.表达式值的显示●格式1:?[<表达式表>]●格式2:??[<表达式表>]3.内存变量的显示●格式1:LISTMEMORY[LIKE<通配符>][TOPRINTER|TOFILE<文献名>]●格式2:DISPLAYMEMORY[LIKE<通配符>][TOPRINTER|TOFILE<文献名>]4.内存变量的清除●格式1:CLEARMEMORY●格式2:RELEASE<内存变量表名>●格式3:RELEASEALL[EXTENDED]●格式4:RELEASEALL[LIKE,<通配符>|EXCEPT<通配符>]5.表中数据和数据组数据之间的互换(1)将表的当前记录复制到数组。●格式1:SCATTER[FIELDS<字段名表>][MEMO]TO<数组名>[BLANK]●格式2:SCATTER[FIELDSLIKE<通配符>|FIELDSEXCEPT<通配符>][MEMO]TO<数组名>[BLANK](2)将数组数据复制到表的当前记录●格式1:GATHERFROM<数组名>[FIELDS<字段名表>][MEMO]●格式1:GATHERFROM<数组名>[FIELDSLIKE<通配符>|FIELDSEXCEPT<通配符>][MEMO]3.2字符函数字符函数是指自变量一般是字符型数据的函数。(1)求字符串长度函数:LEN(<字符表达式>)。(2)大小写转换函数:LOWER(<字符表达式>)、UPPER(<字符表达式>)。(3)空格字符串生成函数:SPACE(<数值表达式>)。(4)删除前后空格函数:TRIM(<字符表达式>)、LTRIM(<字符表达式>)、ALLTRIM(<字符表达式>)。(5)取子串函数:LEFT(<字符表达式>,<长度>)、RIGHT(<字符表达式>,<长度>)、SUBSTR(<字符表达式>,<起始位置>[,<长度>])。(6)计算子串出现次数函数:OCCURS(<字符表达式1>,<字符表达式2>)。(7)求子串位置函数:at(<字符表达式1>,<字符表达式2>[,<数值表达式>])ATC(<字符表达式1>,<字符表达式2>[,<数值表达式>])。(8)子串替换函数:STUFF(<字符表达式1>,<起始位置>,<长度>,<字符表达式2>)。(9)字符串匹配函数:LIKE(<字符表达式1>,<字符表达式2>)。3.3程序文献的建立与执行(1)程序文献的扩展名:prg。(2)命令方式建立、修改程序,格式为:MODIFYCOMMAND<文献名>。3.4循环结构循环结构也成为反复结构,指在程序建立过程中,某段代码被执行若干次。支持循环的语句有:DOWHILE-enddo、FOR-ENDFOR和SCAN-ENDSCAN。3.5多模块程序设计3.5.1参数传递格式:DO<文献名>︱<过程名>WITH<实参1>[,<实参2>,…]或<文献名>︱<过程名>(<实参1>[,<实参2>,…])3.5.2变量的作用域(1)公共变量:在任何模块中都可使用的变量成为公共变量。public(2)私有变量:在程序中直接使用由系统自动隐含建立的变量都是私有变量。(3)局部变量:只能在建立它的模块中使用,不能在上层或下层模块中使用。local第四章VisualFoxPro数据库及其建立4.1VisualFoxPro数据库及其建立4.1.1在数据库中建立表1.字段名(1)自由表字段名最长为10个字符。(2)数据库表字段名最长为128个字符。(3)字段名必须以字母、汉字、数字和下划线组成(4)字段名必须以字母或汉字开头。(5)字段名不能包含空格。2.字段类型和宽度(1)字符型(C):可以是字母、数字等各种字符型文本。(2)货币型(Y):货币单位,如货品价格.宽度(8)(3)数值型(N):整数或小数,如订货数量。(4)整型(I):由整数构成宽度(4)(5)逻辑型(L):值为“真”(.T.)或“假”(.F.),表达订单是否已执行完宽度(1)(6)日期型(D):由年、月、日构成的数据类型,如订货日期宽度(8)(7)日期时间型(T):年月日时分秒构成宽度(8)(8)通用型(G):存放电子表格或图片,如照片宽度(4)(9)备注型(M):不定长的字符如经历,家庭情况。宽度(4)4.1.2表的基本操作1.NULL:空值,指尚未拟定的值。在表中用ctrl+0输入,在表设计器中默认值处直接输入NULL但是这2种情况均要在表设计器的null上打对号2.显示表结构:liststructure 注:表的字段总宽度为各字段宽度之和再加1(存放逻辑删除标记)每条记录的总宽度为各字段宽度之和再加1,其中多余的一位宽度用来存放表记录的删除标记。例:某数据表中只包含1个日期型字段、1个备注型字段和1个逻辑型字段则该数据表的记录长度为(B)A、13B、14C、17D、183.修改记录:replace要修改的字段名with新值for条件4.定位记录指针:go记录号locatefor……continue 移动记录指针:skip数字首记录指针:gotop尾记录:gobottom5.物理删除记录:pack(只删除带逻辑删除标记的记录)zap(物理删除当前表中的所有记录,即清空表)6.恢复记录:recall假如要物理删除当前表中的某些记录,应先后使用两条命令(C)A、delete、zapB、pack、zapC、delete、packD、zap、pack7.复制表结构:打开表之后copystructuryto新表名复制表(涉及记录):Copyto新表名定义:规定了数据的类型以及起始和终止的界线定界符字符型定界符:双引号""单引号''方括号[]如:姓名="张三"或姓名='张三'或姓名=[张三]类型日期型定界符:花括号+脱字符{^}如:出生日期={^1982/09/11}逻辑型定界符:两个点如:少数民族否=.T.婚否=.F.定义:数据库(database)是结构化的相关数据集合,用来管理数据。(扩展名:.dbc)1.新建:新建—数据库—新建文献—输入数据库名—保存(createdatabase数据库名)8.数据库createdatabase?弹出创建对话框,提醒用户输入名字2.打开:文献—打开—选择要打开的数据库—拟定(opendatabase数据库名)独占:exclusive只读:noupdate共享:shared检查引用的对象是否合法:validate3.关闭:closedatabase(后不跟名字)基本操作4.修改:modifydatabase数据库名(同时也是打开数据库设计器的命令,同opendatabase区别开)5.往数据库中添加表:在数据库空白处右击—添加表—选择要添加的表—拟定(addtable表名)6.从数据库中移去表:选中要移去的表—右击—删除—移去(removetable表名)7.删除:deletedatabase数据库名recycle9.增长记录的命令(1)append命令:是在表的尾部增长记录。(2)insert命令:可以在表的任意位置插入新的记录10.删除记录的命令(1)逻辑删除的格式为delete(2)物理删除有删除标记的记录的命令是pack(3)ZAP命令可以物理删除表中的所有记录。11.修改记录的命令1:replace字段名with新字段值功能:修改当前记录2:replaceall字段名with新字段值功能:修改表中所有记录3:replace字段名with新字段值for条件功能:修改所有符合条件的记录4.2索引定义:索引是逻辑排序,不改变表中记录的物理顺序。提高了查询的速度,但减少了插入、删除、修改的速度。索引文献的种类:单索引文献(.idx)、复合索引文献(.cdx)主索引:字段值不能反复,一个数据库表能建一个索引,自由表不能建立主索引,索引候选索引:字段值不能反复,一个表能建多个索引类型唯一索引:字段值能反复,一个表能建多个索引普通索引:字段值能反复,一个表能建多个索引索引菜单方式:打开表设计器,在“字段”选项卡选择要建立的索引的字段,在索引项选择升序或降序,然后切换到“索引”选项卡,改变类型,拟定,是。建立索引Indexon索引表达式tag索引名candidate建立候选索引(重要)ﻩ命令方式Indexon索引表达式tag索引名unique建立唯一索引ﻩIndexon索引表达式tag索引名建立普通索引注意:用index命令无法建立主索引。假如在表上建立了主索引或候选索引则不能用insert命令。打开单项索引的命令:setindexto索引名(了解)。关闭索引文献的命令:setindexto(不跟索引名)(了解)设立当前索引的命令:setorderto索引名(记住)4.3数据的完整性1.类型:实体完整性、域完整性、参照完整性(1)实体完整性:保证表中记录唯一的特性(主索引或侯选索引可以保证实体完整性)(2)域完整性:(即字段有效性)域:属性的取值范围(字段的取值范围)ﻩ规则:字段的取值范围(逻辑表达式)NOTANDOR 信息:当输入的字段值违反规则时的提醒信息(字符串表达式)ﻩ默认值:指增长新记录时的值(随字段的类型而改变)例:给学生表的性别字段设立有效性规则规则:性别$”男女”信息:”性别必须是男或女,请重新输入”默认值:”男”ﻩ设立过程:打开表设计器—选中要设有效性规则的字段—设立规则、信息、默认值—拟定—是在数据库表上的字段有效性规则是(A)A)逻辑表达式B)字符表达式C)数字表达式D)以上3种都有也许(3)参照完整性:定义:当在一个表中修改、删除或插入记录时,通过参照引用互相关联的另一个表检查本表的操作是否对的ﻩ设立过程:打开数据库——建立永久性联系(为一个表建立主索引(父表),另一个表建立普通索引(子表),然后拖动鼠标)——关闭所有打开的表(clearall)——清理数据库(数据库—清理数据库)——编辑参照完整性(单击右键—编辑参照完整性)——拟定——是——是参照完整性涉及:更新规则、删除规则和插入规则更新规则:级联—修改父表中的关键字值时,若子表有相关值也会被修改限制—修改父表中的关键字值时,若子表有相关值则严禁修改父表中的关键字值忽略—不做参照完整性检查删除规则:级联—删除父表中的记录时,若子表有相关记录也会被删除限制—删除父表中的记录时,若子表有相关记录则严禁删除父表中的记录忽略—不做参照完整性检查插入规则:限制—在子表中插入一个新记录或更新已存在的记录时,若父表中不存在相匹配的关键字值则严禁插入或更新忽略—不做参照完整性检查4.4自由表自由表是不属于任何数据库的表,数据库的特点有:●可使用长表名,在表中可以使用长字段名。●可为数据库表中的字段指定标题和添加注释。●可为数据库表的字段指定默认值和输入掩码。●数据库的字段有默认的控件类。●可为数据库表规定字段级规则和记录级规则。●支持主关键字、参照完整性和表之间的联系。●支持INSERT、UPDATE和DELETE事件的触发器。 ﻩ ﻩ4.5工作区工作区在同一时刻最多可打开32767个表(32767个工作区)select0是选择了编号最小的空闲工作区可以在use命令中用alias短语指定别名:use学生in1aliasstudent第五章关系数据库标准语言SQL5.1查询功能5.1.1简朴查询与简朴链接查询SQL的核心是查询,基本形式由select-from-where查询块组成,多个查询块可嵌套执行。ﻩ●select说明要查询的数据。from说明要查询的数据来自哪个或那些表。Where说明查询条件,即选择元组的条件。Groupby短语用于对查询结果进行分组。Having短语用于限定分组必须满足的条件。Orderby短语用于对查询的结果进行排序。简朴查询是由select和from短语构成的无条件查询,或由select、from和where短语构成的条件查询。连接是关系的基本操作之一,连接查询是一种基于多个关系的查询。5.1.2嵌套查询与集合的并运算(1)嵌套查询:可使用谓词in或notin来判断在外层的查询条件中是否包含内层查询的结果。(2)集合的并运算:SQL支持集合的并(union)运算,既可以将两个select语句的查询结果通过并运算合并成一个查询结果。5.1.3几个特殊运算符与排序1.between…and…表达该查询的条件是“在。。。和。。。之间”,相称于用and连接的一个逻辑表达式。2.like一个字符串匹配运算符,通配符“%”表达0个或多个字符,通配符“_”表达一个字符。3.排序格式:orderbyﻩ可以按升序(ASC)也可降序(DESC)排序。5.1.4简朴的计算查询与分组计算查询用于计算检索的函数有count(计算)、sum(求和)、avg(计算平均值)、max(求最大值),以及min(求最小值)。可运用groupby子句进行分组计算查询,格式为:GROUIPBYGroupColumn[HAVINGFilter-Condition]5.1.5运用空值查询、使用量词和谓词的查询及SQLSELECT的几个特殊选项1.运用空值查询查询空值时使用isnull。exists或notexists只是判断子查询中是否有结果返回(即存在或不存在元组)any和sum是同义词,只要在子查询中有一行能使结果为真,则结果就为真。(等价:min())all规定所有的行都使结果为真,则结果为真。(等价:max())1.select*from仓库where仓库号in(select仓库号from职工)等价:select*from仓库whereexists(select*from职工where仓库号=仓库.仓库号)2.selectdistinct仓库号from职工where工资>=(selectmin(工资)from职工where仓库号=WH1)等价:selectdistinct仓库号from职工where工资>=any(select工资from职工where仓库号=WH1)3.selectdistinct仓库号from职工where工资>=(selectmax(工资)from职工where仓库号=WH1)等价:selectdistinct仓库号from职工where工资>=all(select工资from职工where仓库号=WH1)超连接查询:普通连接:innerjoin等价于join左连接:leftjoin右连接:rightjoin全连接:fulljoinSelet仓库.仓库号,城市,面积,职工号,工资from仓库,职工where仓库.仓库号=职工.仓库号and条件等价:Selet仓库.仓库号,城市,面积,职工号,工资from仓库join职工on仓库.仓库号=职工.仓库号wher条件只显示前几项记录top数字percent字段名将查询结果存放到数组中intoarray数组名将查询结果存放在临时表中intocursor表名将查询结果存放到永久表中intotable表名等价:intodbf表名将查询结果存放到文本文献中tofile文本文献5.1.6SQL是结构化查询语言(StructuredQueryLanguage)的缩写。SQL语言特点:一体化语言、高度费过程化语言、非常简洁、即可用命令方式也可用程序方式使用。SOL功能:数据查询、数据定义、数据操作、数据控制,但VF只有前三个功能,既无数据控制。数据查询:select数据定义:creat、drop、alter数据操作:insert、update、deleteSOL语言的核心是:查询SOL基本形式:selectfromwhereSOL——查询语句Select字段名1,字段名2,字段名3,from表名1,表名2,表名3;where条件and表名1.公共字段名=表名2.公共字段名=表名3.公共字段名groupby字段名1,字段名2having分组条件orderby字段名1desc,字段名2intotable表名distinct去掉反复值in是属于的意思,相称于集合运算符∈between。。。。。。and。。。。。(在。。。之间)like:字符串匹配运算符5.2操作功能插入:insertinto表名(字段名1,字段名2……)values(字段值1,字段值2……)部分插入 insertinto表名values(字段值1,字段值2……)完全插入操作insertinto表名fromarray数组名功能使用SQL语句将一条新的记录插入学院表。Insertinto学院(系号,系名)values("04","计算机")更新:update表名set要修改的字段名=新值where条件使用SQL语句完毕以下操作(将所有专家的工资提高5%)update教师SET工资=工资*1.05where职称="专家"删除:deletefrom表名where条件逻辑删除成绩表中总分在240分以下的学生记录deletefrom成绩表WHERE总分<2405.3定义功能格式:createtable表名(字段名1类型(宽度),字段名2类型(宽度),……)建表例子:createtable职工表1(仓库号c(3),职工号c(4)primarykey,工资Icheck工资>=1000and工资<=2023error"工资的范围在1000到2023之间"default1500,foreignkey仓库号tag仓库号reference仓库表1)定义常用词:主索引:primarykey规则:check信息:error默认值:default功删除表:droptable表名(物理删除)能增长字段:altertable表名addcolumn字段名类型(宽度)check规则error提醒信息default默认值增长字段修改字段类型:altertable表名altercolumn字段名类型(宽度)重命名字段名:altertable表名renamecolumn原字段名to新名删除不用字段:altertable表名dropcolumn字段名修改表结构定义或修改字段有效性:altertable表名alter字段名setcheck规则error提醒信息altertable表名alter字段名setdefault默认值删除字段有效性:altertable表名alter字段名dropcheckaltertable表名alter字段名dropdefault用SQL命令建立候选索引:altertable表名addunique表达式tag索引名(重点)用非SQL命令建立候选索引:indexon索引表达式tag索引名candidate(重点)第6章查询与视图查询是VF支持的一种数据库对象。查询是预先定义好的一个SQL语句。查询是从指定的表或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果。查询是以扩展名为.qpr的文献保存在磁盘上。查询设计器的局限性:只能建立一些比较规则的查询。当一个查询是基于多个表时,这些表之间必须是有联系的。建立查询:createquery(打开查询设计器)或文献——新建——查询——新建文献(打开查询设计器)1.新建—查询—新建文献2.添加要用的表或视图3.定义查询(字段、筛选、排序依据、分组依据)4.查询去向(表、文本文献)5.点击!6.关闭(有名字保存、无名字点否)查询设计器各选项卡与SQL语句的相应关系添加表或视图相应于from短语字段:select短语,指定所要查询的数据联接:joinon短语,用于编辑联接条件筛选:where短语,指定查询条件排序依据:orderby短语,指定排序的字段和排序方式分组依据:groupby短语和having短语,用于分组杂项:去掉反复值的distinct短语和列在前面的记录top短语查询去向:将查询结果送往何处。方法:查询——查询去向浏览:在浏览窗口中显示查询结果(默认的查询去向)临时表:将查询结果保存在一个命名的临时只读表中(intocursor表名)表:将查询结果保存在一个命名的表中(intotable表名)(重点)图形屏幕:在vf主窗口或当前活动输出窗口中显示查询结果。报表标签运营:1.Ctrl+Q2.工具栏上的运营按钮!3.查询——运营查询4.do(do查询名.qpr)视图视图兼有“表”和“查询”的特点,可以用来查询表或更新表视图是一个虚拟表,视图分类:本地视图和远程视图视图是根据表定义或派生出来的,所以在涉及视图的时候,常把表称作基本表命令方式建立视图createview视图名asselect……查询以qpr文献保存在磁盘中;视图的结果保存在数据库中,在磁盘上找不到相应的文献。视图可用于更新,它有更新条件,查询中没有。查询中有查询去向,视图没有。视图的使用类似于表,在文本框、表格控件、表单或报表中使用视图作为数据源视图不可以用modifystructure命令修改结构新建—视图—新建文献2.添加要用的表或视图3.定义视图(字段、筛选、排序依据、分组依据)4.点击!5.关闭6.输入名字7.保存(若有“运用新建立的视图查询视图中的所有信息并存入表中”这句话,只需写一条命令:select*from视图名intotable表名)删除视图的命令:dropview视图名非SQL命令:增长记录:insert/append(增长空白行)逻辑删除记录:deletefor条件(不带条件时指的是只删除当前记录)物理删除记录:pack修改记录:Replace字段名with新值for条件(不带条件时指的是只修改当前记录)修改表结构:Modifystructure建立表:Create表名SQL命令:增长记录:Insertinto表名values(字段值)(增长具体记录)逻辑删除记录:Deletefrom表名where条件(不带条件时指的是删除所有记录)物理删除记录:pack更新记录(修改):Update表名set要修改的字段名=新值where条件(不带条件时指的是修改所有记录)修改表结构:Altertable表名……建立表:Createtable表名……4、打开和关闭文献文献名打开或建立关闭修改数据库OpendatabaseClosedatabaseModifydatabase表Use表名useModifystructure查询CreatequeryModifyquery视图CreateviewModifyview程序ModifycommandModifycommand表单CreateformModifyform菜单ModifymenuModifymenu文本文献ModifyfileModifyfile报表CreatereportModifyreport第7章表单设计与应用类是对一类相似对象的性质描述。同类对象具有相同的性质,即相同种类的属性及方法。7.1面向对象的概念1.对象客观世界里的任何实体都可以被视为对象。对象可以是具体的事物,也可以指某些概念。(1)属性:用来表达对象的状态。(2)方法:用来描述对象的行为。2.类(class)7.2创建与运营表单7.2.1创建表单1.使用表单向导创建表单表单向导和一对多表单向导2.使用表单设计器创建表单可以使用以下3种方法中的任何一种调用表单设计器:(1)在项目管理器环境下调用。(2)菜单方式调用:通过“文献”|“新建”命令,打开“新建”对话框,选择“表单”文献类型,单击“新建文献”按钮。(3)命令方式调用:在命令窗口中输入createform命令。运营表单修改已有的表单通过项目或使用命令:modifyform<表单文献名>,打开表单设计器。2.运营表单可以采用下列方法运营表单文献:(1)在项目管理器窗口中选择要运营的表单,单击窗口里的“运营”按钮。(2)在表单设计器环境下,选择【表单】|【执行表单】菜单命令,或单击工具栏上的“运营”按钮。(3)选择【程序】|【运营】菜单命令,打开“运营”对话框,然后在对话框中指定要运营的表单文献并单击“运营”按钮。(4)在命令窗口中输入:Doform<表单文献名>7.3表单的属性和方法7.3.1常用的表单属性表7.1列出了常用的一些表单属性。表单的常用属性属性描述默认值Alwaysontop指定表单是否总是位于其他打开窗口之上.F.Autocenter指定表单初始化时是否自动在visualfoxpro主窗口内居中显示.F.Backcolor指明表单窗口的颜色255.255.255Borderstyle指定表单边框的风格。取默认值(3)时,采用系统边框,用户可以改变表单大小3Caption指明显示于表单标题栏上的文本Form1Closable指定是否可以通过单击“关闭”按钮或双击控制菜单框来关闭表单.T.Datasession指定表单里的表是在默认的全局能访问的工作区打开(设立值为1),还是在表单自己的私有工作区打开(设立值为2)1Maxbutton表单是否有最大化按钮.T.Minbutton表单是否有最小化按钮.T.Movable表单是否可以移动.T.Scrollbars指定表单的滚动条类型。可取值为:0(无)、1(水平)、2(垂直)、3(既水平又垂直)0Windowtype指定表单是模式表单(设立值为1)或非模式表单(设立值为0)0Windowstate指明表单的状态:0(正常)、1(最小化)、2(最大化)0常用的事件和方法表7.2所示为表单及控件常用的一些事件及方法。事件与方法说明Init事件在对象建立时引发Destrory事件在对象释放时引发Error事件在对象方法或事件代码在运营过程中产生错误时引发Load事件在表单对象创建对象之前产生load事件,即运营表单时,第一个引发的事件unload事件在表单对象释放时引发,是表单对象释放时最后一个要引发的事件。Gotfocus事件当对象获得焦点时引发续表。Click事件当用户单击鼠标左键或在程序中包含了一个触发该事件的代码时,将发生此事件rightclick事件用鼠标右键单击对象时引发dblclick事件用鼠标双击对象时引发interactivechang事件当通过鼠标或键盘交互式改变一个控件的值时引发Release方法将表单从内存中释放(清除)Refresh方法重新绘制表单或控件,并刷新它的所有值。Show方法显示表单,该方法将表单的visible属性值设立为.t.,使之成为活动表单Hide方法隐藏表单,该方法将表单的visible属性值设立为.f.Setfocus方法让控件获得焦点,使其成为活动对象。7.4基本型控件7.4.1标签控件与命令按钮控件1.标签(label)控件属性●Caption属性:指定标签的标题文本。●Alignment属性:指定标题文本在控件中的显示对齐方式。2.命令按钮(commandbutton)控件属性●Default属性:默认值为.f.●Cancel属性:默认值为.f.●Enabled属性:指定表单或控件能否响应由用户引发的事件。●Visible属性:指定对象是可见的还是隐藏的。7.4.2文本框控件文本框(textbox)控件属性:●Controlsourle属性:为文本框指定一个字段或内存变量。●Value属性:返回文本框的当前内容。●Passwordchar属性:指定文本框控件内是显示用户输入的字符还是显示占位符。●Inputmax属性:指定一个文本框中如何输入和显示数据。文本框的用法:文本框的输入:字段名=thisform.text1.valueSelect*from学生表where姓名=thisform.text1.valueSelect*from学生表where出生日期=ctod(thisform.text1.value)Select*from学生表wheredtoc(出生日期)=thisform.text1.valueSelect*from学生表where入学成绩>val(thisform.text1.value)Select*from学生表wherestr(入学成绩)>thisform.text1.value将查询结果直接放在指定的表(学生1)中Select*from学生表where性别=thisform.text1.valueintotable学生1查询结果在文本框中显示Select*from学生表where性别=thisform.text1.valueintoarrayaaThisform.text2.value=aa复选框控件、列表框控件与组合框控件1.复选框(checkbox)控件属性●Capation属性:指定显示在复选框旁边的文字。●Controlsource属性:指明与复选框建立联系的数据源。●Value属性:指明复选框的当前状态,共有3种情况:0或.f.表达未被选中;2或.null.表达不拟定。复选框的用法:Ifthisform.check1.value=1Select语句Ifthisform.check1.value=0Select语句Endif2.列表框(listbox)控件属性●Rowsourcetype属性:指明列表框中条目数据源的类型。●Rowsource属性:指定列表框的条目数据源。●List属性:存取列表框中数据条目的字符串数组。●Columncount属性:指定列表框的列数。●Value属性:列表框中被选中的条目。该属性可以是数值型,也可以是字符型。●Controlsource属性:可通过该属性指定一个字段或变量用以保存用户从列表框中选择的结果。3.组合框(combobox)控件常用属性与列表框的常用属性(除multiselect外)有相似的含义及用法。重要区别为:●组合框通常只有一个条目是可见的。●组合框不提供多重选择功能,没有multiselect属性。●组合框有两种形式:下拉组合框和下拉列表框。列表框的用法:Select*from学生表where姓名=thisform.combo1.value7.5容器型控件1.命令组(commandgroup)控件●Buttoncount属性:指定命令组中命令按钮的数目。●Buttons属性:用于存取命令组中各按钮的数组。●Value属性:指定命令组当前的状态。2.选项组(optiongroup)控件●Buttoncount属性:指定命令组中命令按钮的数目。●Buttons属性:用于存取命令组中各按
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建三明永安市公安局招聘警务辅助人员19人考前自测高频考点模拟试题及答案详解(全优)
- 2025广东潮州市饶平县新塘镇人民政府招聘后勤服务人员1人模拟试卷完整答案详解
- 2025海南琼海市招商局招聘编外人员1人(1号)模拟试卷含答案详解
- 2025年度威海机械工程高级技工学校公开招聘教师(6人)考前自测高频考点模拟试题含答案详解
- 用户参与度提升策略-第5篇-洞察与解读
- 2025春季中国电气装备平高集团、平高电气校园招聘模拟试卷及一套参考答案详解
- 2025北京大兴区妇幼保健院临时辅助用工招录岗位12人考前自测高频考点模拟试题及完整答案详解一套
- 2025年吉安市庐陵产业运营服务有限公司公开招聘物业经理模拟试卷及答案详解(各地真题)
- 2025黑龙江齐齐哈尔市建华区北华街道公益性岗位招聘模拟试卷及答案详解(有一套)
- 2025湖北襄阳市神农架林区审计局招聘投资审计专业技术人员2名模拟试卷及答案详解(名校卷)
- (2025)辅警笔试题库及参考答案
- 退役军人服务授课课件
- 劳动保障监察投诉书格式及写作范文
- 淮北矿业安全管理办法
- 中班幼儿在角色游戏中同伴模仿行为研究
- 2026年高考语文备考之家庭伦理小说知识点
- 联名合作授权协议书范本
- ECMO护理进修汇报
- 营救小羊中班课件
- 跟岗干部管理办法中组部
- 乐理知识入门教学课件
评论
0/150
提交评论