VFP自由表与数据库表
vf知识点总结。

VFP的窗口组成:标题栏:用于显示当前软件的软件名称;菜单栏:用于排列VFP中的所有快捷命令;常用工具栏:用来包含VFP中的所有按钮;命令窗口:提供用户与计算机交流的平台;显示命令窗口的方法:1、ctrl+F2;2、常用工具栏--显示命令窗口;3、窗口菜单--命令窗口;主窗口:主要用来显示信息;状态栏:用于显示当前操作的状态;新建数据库的方法:1、文件菜单--新建--数据库--新建文件--找到保存位置--输入数据名--保存;2、create database 数据库名;注(一个文件由主文件名和扩展名构成,主文件名即文件的名称,而扩展名即文件的类型)数据库的扩展名为.dbc;关闭数据库的方法:close database(当前)close all(关闭所有)打开数据库的方法:1、文件菜单--打开--找到位置--文件类型选择数据库--选择库名--打开;2、open database 数据库保存的位置;modify database(显示数据库设计器)删除数据库的方法:先关闭数据库—delete database 路径+库名;注:一个数据库有三个文件(dbc dct dcx)缺一不可;默认目录的设置:1、工具菜单--选项--文件位置--默认目录--找到自己的目录--设为默认值--确定;2、set default to 位置;eg:set default to d:\张三;默认目录的目的:为用户减少写路径过程;当用户设置了默认目录,用户的所有操作都在默认目录下进行着;表的操作:建立数据库表:1、文件菜单--新建--表--新建文件--找到保存位置--输入表名--保存;2、create注:表的扩展名为.dbf自由表和数据库表;1、自由表:不在数据库中的表;2、数据库表:必须存在于数据库中;3、自由表与数据库的区别:(1)自由表字段名的宽度最多为10个字符,无主索引,无有效性规则框;(2)数据库表字段名的宽度最多为128个字符,有主索引,有有效性规则框;(3)自由表与数据库表的转换:(默认目录设置在先)(1)数据库到自由表1、打开数据库--右击表--删除--移去--是;2、remove table 表名(2)自由表到数据库表1、右击数据库设计器--添加--找到表--确定2、add table 表名;表的基本操作:1、建立表create 表名;2、use 打开表/关闭表;3、浏览表:browse或者显示--浏览;表的修改(记录修改和结构修改)1、结构修改:字段名:列标题;类型:字段名所对应记录值的类型;宽度:字段名所对应记录值所占位置;索引:NULL:空值 (暂时无法确定的值)不等于0空值的设置:在建表时(表设计器窗口-选择要设置空值字段--将NULL按钮选中打上对号--默认值对话框中输入.null.)类型(字符型 C 数值型 N 日期型 D 日期时间型 T 逻辑型 l 整型 I)2、修改表的结构:打开表设计器窗口(1)打开表后--显示菜单--表设计器;(2) modify structure;为表增加字段:打开表设计器--在字段名输入新字段名即可;为表删除字段:打开表设计器--选中要删除的字段--删除--确定即可;为表修改字段:打开表设计器--选择要修改的字段--进行修改即可;调整日期的显示格式:将日期的格式设为年月日:set date to ymd将日期的格式设为月日年:set date to mdy设置年份的位数:set century on(4位) set century off(2位)设置日期的分隔符:set mark to "-"或"."或"/"表的记录修改:1、增加记录:显示--追加方式;Ctrl+Y;append blank /append2、删除记录:(逻辑删除和物理删除)1、逻辑删除:即给记录添加删除标记;(可以恢复)(1)在记录号处单击使之颜色变为黑色;(2)delete all(全部逻辑删除);Recall all(全部恢复);(3)delete for 表达式eg:delete for 仓库号="WH8"(字符型数据要加定界符,字符型的定界符"" '' [])2、物理删除:彻底的删除;(不能恢复)(1)pack:删除带有删除标记的记录;(2)zap:清空表中的记录;插入记录:(1)insert :在当前记录之后插入;(2)insert before:在当前记录之前插入;3、修改记录:1、replac 要修改的字段 with 表达式 all;eg:repla 面积 with 面积+100 all2、replac要修改的字段 with 表达式 for 条件;eg:repla 数学 with 数学-10 for 姓名="CC"3、replac 要替换的字段 with 值 for 条件eg:repla 姓名 with "优秀生" for 总分>150实体完整性:主索引,确保数据的唯一性;索引:由指针构成的记录,对表格中的数据进行逻辑排序,但不改变数据的物理顺序;建立索引的目的:提高查询速度,但当用户插入、修改、删除记录时,索引却有一定的限制;索引的类型:主索引:强调记录的唯一性,不允许出现重复值;在一张表中只能建立一个主索引;候选索引:强调记录的唯一性,不允许出重复值,在一张表中可以有多个候选索引;唯一索引:指的是索引项的唯一性;普通索引:不做限制,任意的一张表都可建立,同时也可以建立多个普通索引;索引的建立和删除:都是在表设计器中完成;索引按表达式分:单项索引和复合索引;单项索引:表达式由一个字段构成;复合索引:表达式由多个字段构成;主索引(primary key)侯选索引(candidate)唯一索引(unique)用命令建立索引(不能主索引)Index on 索引表达式 tag 索引名索引的英文名称eg:index on 姓名 tag 姓名 candidate升序 ascending (asc) 降序 descending (desc)eg:index on 姓名 tag 姓名 desc candidate(以姓名降序建立侯选索引);用命令删除过引:delete tag all域完整性:控制用户输入数据的范围(有效性规则)规则框:用于输入逻辑表达式;eg:性别="男" or 性别="女"信息框:用于显示出错信息;字节符表达式;eg:"输入的信息不对"默认值:与字段类型相同;eg:"女"参照完整性:通过修改一张表,将相应的修改结果反映到另一张上;父表:建立主索引的表;子表:建立普通索引的表;父子关系;编辑参照完整性的步骤:1、打开同一个数据库有联接的两张表观察;2、为父表建立主索引,为子表建立普通过引3、通过索引建立永久性的联系;4、清理数据库 pack database 目的是物理删除带有删除标记的记录;5、双击连接线--编辑参照完整性;更新规则:更改;级联:改父表时子表随之修改;限制:只能在父表中改子表中没有的相关记录;忽略:不做限制;删除规则:(逻辑删除)级联:删除父表中的记录时,子表中的相关记录随之删除;限制:只能在父表中删除子表中没有的相关记录;忽略:不做限制;插入规则:限制:只能在子表中插入父表中有的相关记录;忽略:不做限制;物理排序:1、打开要被排的表;2、sort to 新表名 on 排序字段名升降序;3、打开表4、浏览表;eg:use 仓库表sort to aa on 面积 ascendinguse aabrows临时联系:记录指针的同步移动;工作区:当前工作的区域;在VF中共有32767个工作区,最大工作区号:32767 最小工作区号1 空闲工区号 0 命令格式(例如) use 仓库表 in 1 order 仓库号use 职工表 in 2 order 仓库号set relation to 仓库号 into 职工表项目文件(pjx):包含了VFP中的所有文件,并且提供管理的平台;建立: creatr project;指针的移动:goto n:指针移到第N条;skip :向下移动;skip -1:向上移动;locate for 表达式:光标条件移动;go top:表头;go bottom:表尾;注:_screen.fontsize=15将主窗口中字号调至15号;常量、变量、表达式;常量:一个固定不变的量;1、数值型常量:0-9个数字加正负符号加小数点构成;2、y货币型常量:$ ¥ eg:$588.003、字符型常量:必须定界符("" [] '') eg:"abc" "" " " ['"dkdkkd"']4、日期型常量:定界符{^年月日}5、日期时间常量:定界符号{^年-月-日,时-分-秒}6、逻辑型常量:.t.和.f.定界符是..变量:其值可以不断发生改变的量;内存变量:简单的变量;eg:a=10 a为变量名,=赋值符号,10为值;意思是将10赋给变量a;store 值 to 变量名列表eg:store 100 to a,b,c,d字段变量:表中的字段名;注VFP中的输出语句是?:在不同行输出;??:在同行输出;注:当内存变量和字段变量同名时,用户若要访问内存变量则应在变量名前加M.变量名或M->变量名;显示内存变量:list memory like a清除内存变量:clear memory/release all;数组:内存开辟的一片连续的存储区域;定义数组:dimension数组名(元素)declare数组名(元素)eg:dimension aa(5) 一维数组;eg:dimension bb(2,3)二级数组;赋值数组:数组名(元素)=值eg:aa(1)=100访问数组:?数组名(元素)eg:aa(1)数组的使用:数组中的记录复制表中:1、定义数组;2、赋值数组;3、打开表;4、追加空记录;5、gather from 数组名;6、浏览表;eg:declare aa(3)aa(1)="WH6"aa(2)="安康"aa(3)=270use 仓库表append blankgather from aabrows表中的数据复制到数组中:1、打开表2、scattered to 数组名;3、访问数组;eg:use 职工表scatter to aa?aa(1)表达式:由常量变量函数通过特定的运算符连接起来的式子;数值型表达式:() **^ */% + -字符型表达式:+ -+:连接两个字符串;-:连接两上字符串,并且将前字符串的尾总空格移到新串的尾部;日期表达式:日期型;注:日期与日期不能相加;天数不能减日期;日期时间不能加日期时间;关系表达式:> >= < <= = == (!=<>#) $ 返回的结果为逻辑型;设置字符串的比较类型:工具菜单--选项--数据--排序依据--拼音;set collate to "pinyin"拼音状态下:后面字母大于前边的字母,并且大写字母大于小写字母;eg:"张三">"李四" .t. "A">"a" .t.机内码状态(machine):后面字母大于前边的字母,并且小写字母大于大写字母;eg:"A">"a" .f.笔画状态(stoke):笔画多的大于笔画少的;逻辑表达式: not and ornot:非;相反值;and:与;前后两个表达式都为真时结果为真,否则为假;or:或;只要有一个为真,结果都为真;优先级not or and所有表达式综合在一起的优先级:()数值字符日期关系逻辑函数:数据运算或转换功能;abs:绝对值;sqrt:求平方根;pi():3.14round():四舍五入;参数2如果为正数表对小数部分取,如果为负数表对整数部分取;mod()取余 %字符函数:自变量一般为字符型;len()宽度;space():生成空格的函数;ltrim():取左边空格;trim():取右边空格;alltrim():取前后空格;left():从左边取;right():从右边取;substr():从中间取;occurs():子串出现次数;at():位置;act():位置;(不区分大小写)stuff():子串替换函数;(由字符表达式2替换字符表达式1中由起始位置指定宽度的字符)chrtran():字符替换函数;like()字符串匹配函数;*:任意的多个字符;?:任意的一个字符;日期时间函数:date()time() 字符型;datetime()str()数值转换为字符;val()字符转换数值;ctod() c-ddtoc() d-cttoc() t-cctot() c-t&:宏替换函数,替换的是字符型变量内的值;测试函数:isnull()空值;bof()表头表的第一条记录的上一条记录BOF为真;eof()表尾表的最后一条记录的下一条记录EOF为真;程序:能够完成一定任务多条有序命令集合;建立文件: modify command程序文件扩展名.prg运行程序:do 程序文件名.prg;ctrl+E;保存程序:ctrl+S;程序分为三种结构:顺序结构:从程序的第一条开始执行到程序的最后一条;输入语句:input "提示符" to 变量名 (任意)accept "提示符" to 变量名(字符)set talk off:屏蔽所有信息;set talk on:打开所有信息;windoes提示窗口:wait "字符" eg: windows timeout 5messagebox("提示字符",代码,"标题栏") eg:messagebox("数据不对",4+48,"提示") 选择结构:根据条件进行选择满足条件的语句执行;循环结构的语句格式:第四章关系数据库标准语言SQL语句一、认识SQLSQL功能:数据查询: select核心数据定义: creat数据操作: insert delete update数据控制:没有涉及;1、数据查询功能:简单查询:对一张表的查询;sele 要查询的字段 from 表名 where 条件查询结果以浏览窗口形式显示;*代表表中的所有信息(字段)eg:sele * from 订购单表 where year(订购日期)=2005联接查询:基于多张表的查询;sele 要查询的字段 from 表名1,表名2 where 查询条件 and 联接条件;eg:sele 城市,面积 from 仓库表,职工表,订购单表 where 订购单号="OR99" AND 仓库表.仓库号=职工表.仓库号 and 职工表.职工号=订购单表.职工号嵌套查询:结果出自一张表,而条件涉及多张表;sele 要查询的字段 from 表名1 where 公共字段 in/not in;(sele 公共字段 from 表名2 where 查询条件)eg:sele 城市 from 仓库表 where 仓库号 not in;(sele 仓库号 from 职工表 where 工资>1500)别名与自联接查询:别名的指定方法:表名 as 别名表名别名eg:sele 城市,工资等级 from 仓库表 as A,职工表 AS B where 工资>1200 and A.仓库号=B.仓库号自联接查询:表本身建立的查询;内外层互相关联嵌套查询:外层的别名为:out;内层的别名为:innerl;量词和谓词查询:量词:any som all 其中any和some是同意词;谓词:exists:in;not exists; not in;注:谓词查询与嵌套查询基本相同,但谓词查询必须写连接条件,而嵌套不用写连接条件;超联接查询:全联接:full join on 不管满足与否都显示在查询结果中;不满足条件的记录用空值表示;左联接:left join on:左边这张表中不满足条件的记录出现在查询的结果中;右联接:right join on右边这张表中不满足条件的记录出现在查询的结果中;内联接:inner join on:只显示满足条件的记录;集合的并运算:连接两条SQL语句;union;二、操作功能1、新建数据库create database 数据库名modify database (修改、显示数据库)2、新建表结构create table 表名(字段名类型(宽度)check 有效性规则 error 提示信息 default 默认值)3、插入记录insert into 表名(字段名) values 值4、更新记录updata 表名 set 字段名=值 where 条件5、删除记录(逻辑删除)delete from 表名 where 条件注:如果没有条件,表示删除全部数据6、增加字段名alter table 表名 add 新字段名类型(宽度)check 有效性规则 error 提示信息 default 默认值7、修改字段名(表中已有的字段名)(1)修改字段名alter table 表名 rename column 字段名 to 新字段名(2)修改字段名的类型、宽度alter table 表名 alter 字段名类型(宽度)8、有效性规则的删除alter table 表名 alter 字段名 drop check( drop default 删除默认值)9、删除字段名alter table 表名 alter 字段名 drop column10、删除表drop table 表名第六章面向对象设计(表单设计)表单:是VFP用于建立所有应用程序界面的主要工具;对象:客观存在任何实体;eg:学生电脑手机表单属性:用于描述对象的状态;eg:姓名身高性别eg:形状颜色方法:用于描述对象的行为;eg:考试是否团员;eg:铃声钟声;对象的属性和方法用户可以添加;类:同一类对象的相似性质的描述;父类:子类:继承:从一般到特殊的进化过程;控件:以图形化的方式显示内容;控件类控件:可直接操作;容器类控件:可以包含控件;表单:(.scx)建立:CREAT FORM;表单的组成部分:表单设计器属性栏表单控件栏;保存表单:CTRL+S;运行表单:CTRL+E;表单的属性:caption:改变表单的标题名称;用户可浏览的;name:改变表单的标题的内部名称;在程序中调时引用backcolor:表单的背景色;picture:表单的背景图片;控件:标签(label1):主要用于输入或显示内容;caption:标题;fontsize:字号;fontname:字体;forecolor:字色;backstyle:是否有背景命令按钮(command1):执行任务;颜色由红绿蓝构成(rgb)它的最大值为255,eg:rgb(255,255,255)白色;eg:rgb(0,0,0)黑色;表单的控件:命令按钮(command1):执行任务;caption:标题名称;default:响应回车键;cancel:是否响应ESC;ENABLED:是否可用;visible:是否隐藏真:显示,假:隐藏;文本框(text):输入或显示信息在文本框中; value:当前值;inputmask:如何在文本框中输入数据; passwordchar:如何在文本框中显示数据;编辑框(edit1):输入或显示数据;value:当前值;readonly:是否为只读;scrollbars:是否具有滚动条;复选框(check1):是于标记一个两值状态;caption:用于改变旁边的文字;VALUE:当前状态;0 未选中,1选中;2不确定;组合框(combo1):提供数据供用户选择(包含输入)rowsource:指定组合框的数据来源;rowsourcetype:指定组合框数据来源的类型;VALUE:当前值;列表框(list):提供条目供用户选择; rowsource:数据源;rowsourcetype:数据源的类型;value:列表框的当前值;表格(grid1):显示数据信息;recordsource:表格的数据来源; recordsourcetype:表格的数据来源类型;微调控件(spinner1):对数据进行小量的调整; spinnerheightvalue:箭头上移的最大值; spinnerlowvalue:箭头下移的最小值;keyboardheighvalue:键盘输入的最大值;keyboardlowvalue:键盘输入的最小值;increment:微调量value:当前值;计时器(timer1):计时间;interval:每隔多少毫秒显示一次时间;enabled:是否可用;容器类控件:在使用前必须右键单击 --编辑方可使用命令按钮组成(commandgroup):执行任务;buttoncount:命令按钮的个数;CAPTION:标题;选项按钮组(optiongroup):用于提供多个按钮供用户选择;选择不同的按钮将执行不同的功能;buttoncount:个数;caption:标题;value:状态;页框(pageframe1):提供多个页供用户选择;pagecount:页框的个数;caption:页框的页名;通过数据环境添加表右击表单--数据环境--添加表--确定;通过给页框添加表格来显示表;改变每个页框中的表格属性;利用向导可创建表单向导文件:系统提出问题,用户回答问题最后就枸成了一个独立的文件;关闭表单:THISFORM.RELEASE对象设置属性thisform.对象名称.属性名=值eg:thisform.text1.backcolor=rgb(255,255,255)事件:由系统预先定义好的一种动作,由用户或系统本身引发;系统事件:load:表单运行之前引发的事件;init:表单运行之时引发的事件;destroy:表单释放时引发的事件;unload:表单释放时最后一个引发的事件;用户事件:click:单击;rightclick:右击;dblclick:双击;设置数据源单击“显示”—“数据环境”—“添加”字段的添加表格的添加消息框:messagebox("字符表达式",数值)eg:messagebox("你好",4)方法:release:释放表单;visible:隐藏表单;.f.为隐藏;showwindow:选择2顶层表单第七章菜单条形菜单 (左键)弹出式(快捷)菜单(右键)菜单:每一个菜单项可以完成一项特定的功能;创建菜单:CREAT MENU菜单的设计器的组成:菜单名称:菜单名;结果:命令:由一条语句构成;过程:由多条语句构成;子菜单:基于菜单名称下的子菜单;填充名称:生成:由扩展名为mnx生成到mpr文件;(菜单--生成---运行)即可;退出菜单1\set sysmenu to default(命令)2\set sysmenu nosaveset sysmenu to default(过程)如何为菜单设置热键或访问键:在菜单名称后输入"(\<字母)"即可;如何设置快捷键:在菜单名称后--选项--选中选项--设置快捷键即可;如何设置分隔符:在菜单名称处输入"\-"即可如何将用户菜单添加到系统菜单中:创建菜单--设计菜单--显示菜单下的常规选项--追加--确定--生成菜单--运行菜单;如何将菜单添加到表单中作为顶层:1、新建表单--保存表单;2、新建菜单--常规选项--顶层表单--生成表单;3、将表单的SHOWWINDOW属性改为2;4、在表单的LOAD/INIT事件中输入DO 菜单名.mpr with this;5、运行表单;快捷菜单:如何将快捷菜单添加到表单中:1、设计表单--保存表单;2、设计快捷菜单--生成菜单;3、将表单的RIGHTCLICK事件中输入:DO 菜单名.mpr4、运行表单;第八章报表(.frx)报表:主要用于打印输出;建立报表文件:CREATE REPORT报表的组成:报表设计器:提供窗口供用户设计内容;默认组成部分:页标头:标题;细节:主要内容;页注脚:页面的最底端显示内容;页码,日期等;标签:文本说明;域控件:用于显示一些特殊的表达式函数等;标题:大标题总结:紧接着细节带区后显示一般用于数据进行总计;数据源:数据来源;预览报表:report form 报表文件名 previewole控件:即插入图片;报表向导:报表向导和一对多报表向导:根据系统提出的问题用户回答最终就可构成一个完整的文件;。
VFP基础知识

VFP基础知识第一章:1.数据管理经历了以下几个阶段:手工管理、文件系统、数据库系统、分布式数据库系统、面向对象的数据库系统,其中数据开始独立于程序的阶段是:数据库系统,数据库系统的高级阶段是:面向对象的数据库系统.2.数据库是相关的数据的集合,管理的是表及表之间的联系,一个具体的数据库就是一个实际的关系模型.3.实体:客观存在而又相互区别的事物,可以是具体的事物,也可以是抽象的概念.例如:学生,学生选课实体型:抽象实体的外型,是属性的集合,是一种实体类型,相当于表的结构.实体集:同类实体的集合,相当于一个表中的所有的记录.4.实体或称表之间的联系的类型分为三种:一对一,一对多,多对多.要建立两个表多对多的关系,只需要建立第三立表--纽带表,来实现两个一对多的关系.5.关系术语:a.关系:二维表.在vfp中表现为一个扩展名为.dbf的表文件.b.关系模式:对应于关系的结构,相当于表结构.c.元组:二维表水平方向的行,在vfp中,又叫记录.d.属性:二维表垂直方向的列,又叫记录.e.域:属性的取值范围.例如逻辑型字段的域:逻辑真或者是逻辑假.f.关键字:能够唯一标记一个元组的属性或者是属性的组合(字段或者是字段的组合),分为两种:主关键字和候选关键字.主关键字不仅可以体现主关键字的特征,而且还用于和其它表发生联系.g.外部关键字:不是本表的关键字,却是另外一个表的关键字(主关键字或者是候选关键字),这个字段就是外部关键字,一般用外部关键字来保证表之间的联系.6.关系的特点:a.关系必须规范化.(关系模式必须满足一定的要求),最基本的要求是表中的属性不可分割,即表中不能再包含表.b.关系中不能有相同的元组或者是属性(重复记录或者重名的字段)c.关系中的元组和属性的次序无关紧要(对表中排序体现了关系的特点---表中的记录的顺序无关紧要)7.数据模型分为三种:层次模型、网状模型、关系模型(用二维表来描述实体与实体之间的联系)8.关系的基本运算有两类:传统的集合运算(并,交,差),专门的关系运算(选择,投影,联接)传统的集合运算:并、交、差,要求参与运算的两个关系(表)必须具有相同的关系模式(表结构) 并:包含两个表中的所有的记录.(查询的并运算的运算符为union)交:两个关系(表)中都有的元组(记录)差:从一个关系中去掉另一个关系中也有的元组,剩下的元组(记录)专门的关系运算:选择、投影和联接.选择:从关系(表)中找出条件满足的元组(记录).在sql select 中主要用where 条件来实现选择操作.投影:从关系(表)中找出若干属性(字段).在sql select 中用select 来实现关系的投影操作.联接:两个或者是多个关系的横向组合,即形成一个更大的关系.在sql select 中主要用join 来实现其操作.等值联接:两个表根据公共字段相等进行的联接.(inner join)自然联接:去掉重复属性值的等值联接.9.数据库设计的步骤:需求分析、确定所需要的表、确定所需的字段、确定表之间的联系、设计求精.10.visual foxfro 是一个32位关系数据库管理系统,是一个可运行于windows95,windows98,windowsNT的可视化,面向对象的编辑语言.第二章:1.Visual Foxpro 有三种工作方式:1.用菜单或者是工具栏2.在命令窗口直接输入命令3.利用各种生成器来自动产生程序,或者是编写foxpro程序(命令文件)来执行它.2.菜单项后面有"...",表示会弹出一个对话框.3.用dir 命令可以显示当前目录下的表的信息.用clear 命令表示清除主屏幕的内容.4.ctrl+F2表示显示命令窗口.ctrl+F4表示隐藏命令窗口.5.项目管理器的各个选项卡的功能:数据:管理数据库各个选项卡的功能.文档:管理表单、报表、标签代码:管理是程序、API库、应用程序.其它:管理菜单、文本文件和其它文件.6.有关工具栏的操作:均在显示菜单下的工具栏实现.a.显示和隐藏工具栏.b.可以新建一全用户自己的工具栏.c.可以修改(定制)用户和系统的工具栏d.可以删除用户自己的工具栏,但是不能删除系统的工具栏.e.可以重置(恢复)系统的工具栏.7.可以定制vfp的运行环境,通过工具/选项下进行.区域选项卡:设置日期和时间的显示方式,小数位以及货币的符号.表单:可以设置表单的默认大小.语法着色:可以设置程序代码的颜色.文件位置:可以设置默认目录和帮助文件.这种设置可以是永久的,也可以是临时的.当设置完毕后,直接按确定,这种设置只在本次运行vfp时有效,因为它是保存在内存中,内存在每次退出vfp时自动释放,当设置完毕后,设置为默认值后,再按确定,这种设置永久有效,因为它保存在windows注册表中.8.vfp新增了很多向导,有新的应用程序向导,新的连接向导,新的数据库向导,新的Web发布向导,新的示例向导.9.打开不同文件时,系统会自动调出相应的设计器.第四章:1.表分为两种:数据库表和自由表.数据库表可以设计长表名,长字段名,可以设置字段有效性规则,违反规则时的提示信息,默认值,格式,输入掩码以及在浏览时显示的标题和记录级规则.数据库长表名可以长达128个字符,自由表的字段名和表名最长只能为10个字符.2.记录查找的命令:locate for ...定位到条件满足的第一条记录continue ...定位到条件满足的下一条记录seek 值---索引查找都可以用found()函数来测试是否找到结果.3.索引分为四种:主索引,候选索引,唯一索引,普通索引.主索引:体现主关键字的功能,索引字段不能重复,一般用于其它表建立联系.自由表没有主关键字,因此自由表不能建立主索引.候选索引:体现候选关键字的功能,索引字段也不能重复.唯一索引:索引字段值重复的记录,在索引项中只出现第一条记录(一般用来统计类别)普通索引:一般默认情况下建立的索引,都是普通索引,索引字段可以重复,一般用于建立一对多的联系体现外部关键字的功能.4.索引根据参与索引的字段的多少,又可以分为单项索引,复合字段索引.单项索引参与索引的字段只有一个,可以通过选择字段之后的一种索引顺序,然后转到索引选项卡中中去改其索引的类型和索引名.复合字段索引:参与索引的字段有多个.建立索引时,必须在索引选项卡中输入,而且索引表达式是:字段1+字段2+字段3...(要求字段1,字段2,字段3...具有相同的类型,如果不是同种类型,必须将其转换为同种类型)5.索引文件:存放索引的文件.根据其中索引的个数,可以将其分为单索引文件,复合索引文件(又分为结构索引文件和非结构索引)单索引文件:(里面只包含一个索引),扩展名为.idx,这种文件不会随着表随表文件打开而打开. 复合索引文件:扩展名为.cdx,文件名和表文件名同名的索引文件为结构索引文件这种文件会随着表文件的打开而打开.另一种文件名和表文件名不同名,扩展名为.cdx,这种文件不会随着表文件打开而打开.单索引文件和非结构复合索引文件在使用其中的索引项时,必须首先用命令打开.set index to 索引文件名(单索引文件名或者是非结构复合索引文件名)6.如何设置当前索引:set order to 索引名7.使所有的索引项都不成为当前索引:set order to8.建立索引:(新建的索引自动成为当前索引)index on 索引表达式tag 索引名[unique]/[candidate]unique:表示建立的索引为唯一索引.candidate:表示建立的索引为候选索引.没有这两个选项表示建立的索引为普通索引,用命令方式不能建立主索引,自由表不能建立主索引.9.删除索引项:delete tag 索引名&&删除指定的索引delete tag all &&删除表中的所有的索引.10.数据完整性分为三种:实体完整性,域完整性,参照完整性.实体完整性:即保证表中的记录的唯一性,主要通过关键字来保证的.关键字的功能通过索引来实现.域完整性:表中的字段在哪些范围内有意义.一般来说,表中有关字段的定义(类型,宽度,小数位,规则等)都属于域完整性.参照完整性:建立了联系的表之间在进行某些操作(更新,删除,插入)时,必须满足的条件.主要分为更新规则,删除规则和插入规则.(更新规则,删除规则又分为级联,限制,忽略.插入规则又分为限制规则和忽略)11.工作区:总共有32767个作区,一个工作区同一时刻只能打开一个表,因此同一时刻可以打开32767个表.工作区号从1--32767,每个工作区都有一个工作区别名1--10:工作区别名为A-J,11-32767工作区别名为WH-W32767.12.可以通过set relation 命令建立两个表之间的临时关联,通过这种关联可以实现A 表的指针带动B 表指针的移动.第五章:1.sql语言的全称:structured query language(结构化查询语言),它有四种功能:数据查询:(select 语句),数据定义(create,alter,drop),数据操作(insert,update,delete),数据控制,其中sql的核心是查询.2.集合的并运算的运算符为union.3.能够表示存在结果的谓词是exists.4.量词any 和some 是同一种意思,表示任意一个,而all代表所有.5.利用空值查询应该是: 字段is null6.超联接查询:(vfp 自身联接)有四种内联接(inner join),左联接(left join),右联接(right join),全联接(full join),这种联接条件是出现在on 短语中.7.查询去向有:表(into table <表名>),临时表( into cursor 临时表名),文本文件( to file 文件文件名),屏幕(to screen),数组(into array 数组名).当to 短语和into 短语同时出现时,优先考虑into 短语,即忽略to 短语.8.要查询前几条记录:使用top n 短语,当查询前n%的记录,用top n percent,注意:top n [percent] 必须与order by 连用.9.删除表的命令是: drop table 表名.删除视图的命令是: drop view 视图名.第六章:1.查询是一个预先定义好的select 语句,扩展名为.qpr,是一个只读文件.2.视图是一个由基本表导出的虑表,只是作为视图的一个浏览窗口,实际并不存储数据,在磁盘上没有文件,因此在对视图进行任何操作时,必须首先打开数据库,视图可以像表一样用use 命令打开,可以用use 命令关闭,可以用browse 命令浏览,可以用select 语句检索,但是不能用modify structure 修改结构.3.视图不仅可以查询基本表,还可以更新基本表,(通过更新条件)但是必须发送sql更新.4.查询设计器不能设计所有的查询.(它只能建立简单查询和多个表之间的联接查询,但是不能设计嵌套等查询)5.查询和视图的区别:查询有查询去向,视图没有.视图有更新条件,而查询没有.(视图更新基本表,查询不能更新) 第七章:1.注释行以NOTE 或*开头,在命令行后面添加注释用&&2.set talk off --关闭人机对话.3.cancel:强行终止程序执行,返回到命令窗口.return:结束当前程序的执行,返回到调用点.quit:退出vfp(释放内存)4.用do 命令执行程序文件时,如果没有指定扩展名,系统执行程序文件的先后顺序是:.exe(可执行文件),.app(应用程序文件),.fxp(程序编译文件),.prg(程序文件)5.简单的输入输出命令有三种:input,accept,waitinput 可以接受所有类型的数据,因此在输入时,必须加上相应的数据类型的定界符.accept :只能接受字符型的数据,在输入时,不需要加定界符,系统会自动为其加上字符型的定界符.如果输入的数据中含有字符型的("",'',[]),系统会将其认为是字符串本身的一部分.wait只能接受单个字符.如果要求一个命令接受一个字符型的数据(不是单个字符),这时优先考虑用accept.6.程序的基本结构:顺序结构,选择结构,循环结构.选择结构:if...else...endif,do case...case...endcase,选择结构本身也是一种顺序结构.循环结构:do while...enddofor...endfor(计数循环)scan for...endscan(扫描循环)在for ...endfor 中当步长缺省为1,循环变量,初值,终值只在循环最初被计算一次:当步长为正数时,循环变量小于等于(<=)终值时,循环条件为.t.当步长为负数时,循环变量大于等于(>=)终值时,循环条件为.t.在循环体中可以有loop ,exitloop:是提前结束本次循环,进入下一次循环(即在本次循环中不执行loop 后面的语句,而是直接转到do while 处重新判断条件是否为.t.exit:表示强制性的终止(跳出)循环,转到enddo 的后面.7.参数传递,变量的作用域:请大家看笔记.第八章:请大家在上机过程中总结,并且看一下有关控件的一些属性和一些方法,以及一些常用的事件. 第九章:1.vfp的菜单分为两种:条形菜单和弹出式菜单.无论是哪一种类型的菜单,当选择其中的某个菜单项时,会有一定的动作(结果):可以是执行一条命令,可以是执行一个过程,激活子菜单.2.典型的菜单系统一般是一个下拉式菜单,由一个条形菜单加一组弹出式菜单组成.其中条形菜单为主菜单,弹出式菜单作为子菜单.快捷菜单是由一个或一组弹出式菜单构成.3.可以通过set sysmenu 命令可以允许或者是禁止在程序执行时访问系统菜单,也可以重新配置系统菜单.set sysmenu on 允许程序执行时访问系统文件.set sysmenu off 禁止程序执行时访问系统菜单.set sysmenu to default :恢复系统菜单.set sysmenu save:将当前菜单设置成系统菜单.set sysmenu nosave:系统菜单恢复成标准配置要想返回到vfp的系统菜单的标准配置,可以首先执行set sysmenu nosave 然后执行set sysmenu to default 命令.4.在菜单设计器的窗口,可以定义一个菜单,其中有三列:菜单名称,结果,选项.菜单名称列:指定菜单项的名称,也就是标题.可以为菜单设置一个热键(即在菜单名称的前面或者是后面加上:\<字母) 可以为菜单之间添加分组线:即在两个菜单项之间插入新菜单项,菜单项名称列中输入"\-" 结果列:选择菜单项时引发的结果:子菜单(submenu),菜单项(pad name),过程(procedure),命令(command) 选择列:可以为菜单项设置快捷键.(选中键标签,按下相应的快捷键即可),可以为菜单项设置跳过条件(即当此条件为.t.时,菜单项为灰色,不可使用), 可以为菜单项设置在状态栏上的功能提示.5.如何从下级返回到上一级,选择菜单级中的菜单栏,如何从上级进入下级,选择子菜单,编辑即可.6.如何插入一个标准系统菜单命令:(插入栏) 选中某个菜单项,选择"插入栏"按钮,在其中选择菜单命令,确定即可.(只能在弹出式菜单中插入栏)7.如何为顶层表章添加菜单:(假设菜单,表单都已建立)a.在菜单设计器中,将"显示"菜单下的"常规选项"中的"顶层表单"复选框选中,使其归顶层表单调用.b.将表单的showwindow 属性设计为2,使其作为顶层表单(即作为一个单独的窗口)c.在表单的init 事件中调用菜单: do 菜单程序文件名.mpr with thisd.在表单的destroy 事件中书写释放(清除)菜单的命令: release menu 菜单文件名8.快捷菜单一般在对象(控件)的rightclick事件中调用: do 快捷菜单程序文件名.mpr9.释放快捷菜单是在菜单设计器中的"显示"菜单下"常规选项"的"清理"事件中书写: release popups 快捷菜单程序文件名10.数据环境的对象会随着表单或者报表的打开而打开,关闭而关闭.第十章:1.报表设计主要包括两部分内容:数据源和布局. 报表数据源:可以是数据库表或者是自由表,视图查询或者是临时表. 常用报表布局有四种:列报表,行报表,一对多报表和多栏报表.2.如何为报表设计数据源:只需要将报表的数据源添加到数据环境中即可.报表中用于排序和分组字段(表达式)必须建立索引,而且要成立当前索引.要想成为当前索引,只需要在数据环境设计器中右键单击表,选属性,再选order 属性,将order 属性设置为当前索引的索引项.3.标签:用于在报表上显示一些不需要改变的文字.域控件:用于显示字段,内存变量或者是表达式的值.图片/activex绑定控件:用于显示图片或者是通过型字段的内容.4.如何设计分栏报表:"文件"菜单下的"页面设置",将列数改为>1,列数及栏数.或者是用向导建立报表时,改变列数.第十一章:请大家参考要求大家记录的内容.大家必须将所有的课后习题弄清楚,笔试15套及机试40套.新增:1.类分为容器类和控件类.2.所有类均有的属性是类的最小属性集.有class 属性(类名),baseclass--(基类名,即祖先),parentclass--(父类名,父母亲), classlibrary 属性:(类库文件名,基类为系统自动携带的,不存在于类库文件中,因此classlibrary 属生为空(串).)3.所有类都会发生的事件叫类的最小事件集: init 事件,error 事件,destroy 事件.init 事件:初始化事件.即在对象生成的时候引发.error 事件:对象运行出错时产生.(生病的事件)destroy 事件:对象释放或者是关闭时引发.(死亡的事件)4.对于由系统引发的事件中的先生顺序:load-->init-->destroy-->unload容器(例如: 表单)后生成,先释放.对象(例如: 表单中的命令按钮),先生成,后释放.unload:是对象释放的最后一个事件.5.enabled:控件是否可用.visible:指定控件是否可见.对于表格的数据源,如果题目要求是显示表或者是视图的所有内容,而又没有说明必须是0-表,那么一律将表或者是视图添加到数据环境,然后往上拖,根据需要改表格的一些属性.而对于其它要求,只能自己添加一个表格控件,设置recordsourcetype,recordsource以及name等属性.。
vfp6.0第二章【数据库和表】

第二章.数据库和表必备的知识点1.二维表的每一列就是一字段(属性),每一行叫做一条记录(元组)。
一张表中最多255个字段,10亿条记录、2.字段的属性、每个字段有4个属性:字段名,字段类型,字段宽度,小数位数字段名的命名:只能包含字母,数字,下划线,汉字;不能含有空格,不能以数字开头,不能以下划线开头。
字段变量的命名和内存变量的命名区别:内存变量可以下划线开头。
字段类型:考点:字符型字段最大的宽度是254个字节,127个汉字;日期型的宽度是8个字节,备注型是4个字节,备注型主要用于奖惩情况,个人简介,如果存储OLE对象,照片图片数据则应该设置为通用型。
(一)表的扩展名 .dbf ,表的备注文件的扩展名 .fpt一个表如果有备注型字段,那么VFP会自动产生一个与表同名的备注文件。
不管备注型字段有多少个,一个表只有一个备注文件。
填写备注字段的内容快捷键:Ctrl+PageDn 或者双击请问xsda表的备注文件名是xsda.fpt 。
(二)表分为两个部分表结构和表记录(数据)。
(三)表分为数据库表和自由表数据库表:属于某个数据库的表。
自由表:不属于任何数据库的表。
在某一时刻,一张数据库表只能属于一个数据库。
数据库表和自由表可以相互转换数据库表和自由表的区别:1.数据库表支持长字段名(128个字符,64个汉字)。
自由表的字段名不超过10个字符。
2.只有数据库表才能设置字段的有效性。
3.只有数据库表才能设置主索引。
create 表名如:create d:\xs\xsda打开表设计器创建表。
SQL命令创建表(无需打开表设计器)create table d:\xsda (姓名C (8),性别C (2),出生日期D ,入学成绩N (5,1),住校否L,照片G)use d:\abc in 0 alias bm noupdate againin 0在最小的暂未使用的工作区打开alias bm 为打开的表到别名noupdate 不允许修改表的数据,指定为只读again 再一次打开已经在其它工作区打开的表exclusive 独占方式。
vfp笔记_第四次讲课_自由表数据库项目索引字段有效规则参照完整规则永久联系临时关联关系多工作区操作

阶乘:5!=5*4*3*2*1p=0for I=1 to 5p=p*Iendfor? snote 求5的阶乘5*4*3*2*1 P92 3题t=0for i=1 to 10s=1for x=1 to i step 1s=s*xendfor? st=t+sendfor三、自由表、数据库表(1)自由表:不属于任何数据库的表叫自由表。
(2)数据库表将自由表添加到数据库中,或在数据库中建立的表称为数据库表。
或在数据库打开时,建立的表是数据库表。
数据库表有更多的属性,如实体的惟一性,域完整性(字段有效性)表的参照完整性。
数据库:是一个容器,用来存放许多表文件、表间关系、以及其他数据对象如:视图(虚表)等。
四、数据库的建立:菜单方法:文件—新建---数据库—新建文件命令方式:create database 数据库名说明:数据库文件扩展名.dbc.dcx 数据库索引文件.dct 数据库备注文件打开数据库:open database 库名修改数据库:modify database关闭数据库:close database五、向数据库添加表:add table 表名从数据库中移去表:remove table 表名六、为数据库表添加字段有效性规则:(1)打开数据库(2)向数据库设计器中,添加表,(3)选中表,右键-浏览―显示―表设计器或右键---修改—表设计器(4)选中性别字段,规则:性别=“男”or 性别=“女”或性别$ ”男女”信息:“性别必须是男或女”默认值:“男”对于一些英文字段,可设置显示属性中的“显示标题”如XM 姓名七、索引文件:单索引文件(在自由表中常用用index on 建立)复合索引文件:非结构复合索引文件:表名与索引文件名不同结构复合索引文件:表名与索引文件名相同结构复合索引文件的类型:主索引、候选索引、唯一索引、普通索引建立结构复合索引文件:在表设计器,索引选项卡只有数据库表才能建立主索引,并且通过主索引确定字段无重复值。
VFP表的基本操作

属性(列)
2.1.2表结构的建立
1.菜单方式 2.命令方式 3.项目方式
字段的基本属性
1. 字段名(Field Name),每一个字段必须取一个名字, 称为“字段名”,用以在表中标志该字段。以字母或汉字开 头,可包括字母、汉字、数字和下划线,长度不超过10。
2.字段的数据类型(Type),表中每个字段都有特定的数 据类型。 3.字段宽度(Width),指该字段所能容纳数据的最大的字 节数,字段的宽度必须能足够容纳可能的最长的数据信息。 除字符型、数值型、浮动型字段由用户根据需要设定字段宽 度外,其它类型均由系统规定宽度。
2.2 表的打开与关闭
2.2.1 打开表 【命令】USE [<文件名>]
【功能】打开表文件,当USE后不加文件名时, 为关闭已打开的表。
2.3 表的显示
浏览窗口的打开: 方法一:打开表,选定“显示”菜单的“浏览”命令
方法二:USE<表名> BROWSE
一窗两区:将窗口分割器向右拖动
BROWSE命令
小数位数(Decimal),对于数值型、浮点型和双精 度型的字段,还可以指定其小数的位数。小数位和 正负号都须在字段宽度中占一位。
空值(NULL)支持,空值是用来指示记录中的一个字 段“没有值”的标志。空值表示没有任何值或没有 确定值,空值不同于数值0、空字符串或逻辑“假”。
2.1.3 表数据的录入
则需要另外删除.FPT文件。
2.6记录指针的定位
1.表中的每个记录都有一个编号,称为记录号。对于 打开的表,会被分配一个记录指针。记录指针指向 的记录称为当前记录。
2.定位记录就是移动记录指针,使指针指向符合条件 的记录过程。使用RECNO()函数可以获得当前记录 的记录号。
VFP第3章 数据库和数据表的基本操作

第3章 数据库和数据表 的基本操作
3.3 Visual FoxPro中的数据表
3.3.1 数据表的概念
1.数据库与表的关系 数据表是存储记录数据的文件,是关系型数据库管 理系统中处理数据的基本单元 数据表是由一组相关的数据按行和列排列的二维表 格。表文件扩展名为.DBF。类型: 自由表:不包含于任何数据库 数据库表:包含于某个数据库(两者关系) 相关概念:字段,字段名,记录,数据库(.DBC) 2.字段的命名(P57) 3.字段的数据类型(P57)
create可任意定义为数据库表或自由表若当前某数据库为打开状态则创建的为数据库表否则为自由表创建表的结构创建表的结构数据库和数据表的基本操作创建表结构的几点说明字段名以字母或汉字开头由字母数字下划线和汉字组成字段类型根据具体情况而定字段值与字段类型要匹配若为字段添加索引在索引列中选择一种排序方字段的null列有一个钩表示该字段可以接受null值数据库和数据表的基本操作在项目管理器的数据选项卡中打开数据库选择数据库下的表单击添加添加为数据库表选择自由表单击添加添加为自由表要添加的表必须具备下列条件该表是一个有效的
第3章 数据库和数据表 的基本操作
2.程序操作方式 程序执行方式就是将一系列的语句或命令存储在 一个文件中而成为一个程序文件(.PRG),通过运行 该程序文件,完成某些特殊的功能。程序操作方式 不仅运行效率高,而且可重复执行。 可见,交互式操作方法虽然方便、灵活,但是 当用户需要反复执行某些相同的命令序列,或处理 较复杂的问题时就不能发挥计算机高速度、自动化 运行的优势。为此,Visual FoxPro提供了程序执行 方式来解决该问题。
第3章 数据库和数据表 的基本操作
3.2 Visual FoxPro中的数据库
VFP数据库及其操作
2021/6/16
4
目录
上一页 下一页 退出
二者的绝大多数操作相同且可以相互转换。相比 之下,数据库表的优点要多一些。当一个表是数据库的 一部分时,它就可以具有以下内容:
注意:在数据库被打开的情况下,它所包含的所有表可以使 用。但是,表并没有被真正打开,用户要打开它,仍要用
USE命令。
2.菜单方式 (1)选择【文件】|【打开】,出现打开对话框。 (2)选择数据库文件所在的文件夹,将文件类型选择为
“数据库(.dbc)”。 (3)选择所要打开的数据库文件名,单击“确定”按钮。
2021/6/16
12
目录
上一页 下一页 退出
3.利用项目管理器建立数据库
打开已建立的项目文件,出现项目管理器窗口,选择 “数据”标签的“数据库”,然后单击“新建”按钮。 出现新建数据库对话框,单击“新建数据库”按钮,出 现“新建”对话框,选择数据库的路径并输入数据库名 后单击“保存”按钮,完成数据库的建立,并打开该数 据库设计器
第4章 VFP数据库及其操作
2021/6/16
1
目录
上一页 下一页 退出
教学目的与要求
数据库表与自由表的区别,数据库的使用及建立方 法,及如何向数据库中添加表及移去表。
教学重点与难点
重点:数据库表与自由表的不同,创建及使用 难点:如何创建使用数据库
2021/6/16
2
目录
上一页 下一页 退出
本章导学
在这里主要介绍记录有效性和触发器。
① 记录有效性
● 规则:指定记录的有效条件,满足该条件,数据才能输入 到表中,它确定的是该记录各字段值之间的总体数据关系 是否有错。
VFP表和数据库
表记录的操作
一、添加数据记录 APPEND [BLANK] • 若有备注字段和通用字段,备注字段或通用字段中如果 没有内容,则memo或general的第一个字母为小写m或g, 如果有内容就为大写M或G。 • 将信息输入到备注字段和通用字段中的方法是:把光标 移到memo或gen上,然后按Ctrl+PgDn键,则出现一个备 memo gen Ctrl+PgDn 注字段或通用字段输入窗口。 • 可以在备注字段窗口中输入任何字符信息或通用字段窗 口输入多媒体信息(如图片、声音、图像等)。输入完 成后,按Ctrl+W键,这个字段的内容便写盘,然后退出 这个通用字段或备注字段窗口。 USE 学生 COPY STRUCTURE TO std1 USE std1 APPEND FROM 学生 FIELDS 学号 , 姓名 , 班号 FOR 班号=="0101"
(4)小数位数:只有数值型和浮点型字段才需要定义小 数位数。应注意小数点和正负号都必须在字段宽度中 占一位,例如,课程表中学分为1位整数和1位小数, 则该字段宽度为1位(3=1+1+1位小数点)。由此可知, 对于纯小数,其小数位数至少比字段宽度小1;若字段 值都是整数,则应定义小数位数为0或直接将字段设为 整型(I)。
当表中定义了备注型字段时, 6、通用型(General,简写为G) 系统自动生成一个与表文件的主 名相同、扩展名为.FPT的辅助文 件来存放此类字段的内容。
创建数据表 在Visual FoxPro中建立一个表时要经过以下几个步骤:: 确定表文件名。 设计和建立表结构,包括表中各字段名、字段类型和 字段宽度等。 输入表中数据项内容(记录)。
2.定义表结构 定义表结构就是定义各个字段的属性,基本的字段属性可包 括字段名、字段类型、字段宽度和小数位数等。 (1)字段名:字段名用来标识字段,通常是二维表列标题名或 其缩写。自由表的字段名长度不超过10个字符,而数据库表 的字段名最多可以达到128个字符。
VFP 选择题(1)计算机二级考试
VFP 选择题(1)C 1、下面叙述中()不属于数据库系统的特点。
数据结构化好数据独立性高数据冗余度高数据共享程度高C 2、某工厂生产多种产品,每种产品要使用多种零件,一种零件可能安装在多种产品上,则产品和零件之间存在着()的联系。
一对一一对多多对多不能确定A 3、现实世界中的事物(对象或个体),在数据世界中则表示为()。
记录数据项文件数据库B 4、数据库的一系列特性是由一个称为()的软件,提供通用的存取和控制方法加以实现的。
数据服务器数据库管理系统数据分析系统数据存储系统D 5、数据库系统的特点包括()。
数据的结构化数据共享数据的独立性和可控冗余度以上都是A 6、数据库应用系统是指在()支持下运行的计算机应用系统。
数据库管理系统文件系统应用程序操作系统C 7、在教学中,一个学生要学习多门课程,而一门课程又有多名学生学习,则学生与课程这两个实体之间存在着()联系。
一对一一对多多对多多对一B 8、数据库系统通常采用三级模式结构,数据库用户所看到的模式是()。
概念模式外模式内模式中间模式A 9、下列叙述中有关数据库系统错误的概念是()。
用户不经dbms可直接访问数据库。
关系规范化的主要目的是减少数据冗余。
mis的含义是管理信息系统。
oracle是关系型数据库产品。
D 10、数据管理技术的发展经历了三个阶段,其中不包括的阶段是()。
人工管理阶段数据库系统阶段文件系统阶段机器管理阶段D 11、在信息世界中,客观存在并且可以相互区别的事物称为()。
记录属性联系实体C 12、能够对数据库资源进行统一管理和控制的是()。
数据库数据库应用系统数据库管理系统数据库操作系统D 13、一个关系相当于一张二维表,表中的各列相当于关系的()。
数据项元组结构属性B 14、在关系模式中,关系可视为一张表,元组是指表中的()。
一列一行表名值域C 15、关系数据库管理系统必须实现的三种基本关系运算是()。
索引、排序、查找建库、录入、排序选择、投影、连接显示、统计、复制B 16、数据库管理系统采用的数据模型一般有()三种。
VFP数据库和表的操作
自由表的创建方法:一、表向导1、在项目管理器中,“数据”选择自由表,单击“新建”,选择“表向导”;2、在“常用”工具栏,点“新建”或是“文件”菜单“新建”,选择“表”后,单击“向导”;3、“工具”菜单中“向导”中的“表”二、表设计器创建自由表1、在项目管理器中,自由表→新建→新建表2、在“常用”工具栏,点“新建”或是“文件”菜单“新建”,选择“表”后,单击“新建文件”;三、用命令创建表1、CREATE<表文件名>命令功能:打开表设计器新建一个VFP表。
例如:在D盘XS文件夹中新建ST表CREATE D:\XS\ST2、用SQL语言创建,例如:在D盘XS文件夹中新建ST表,包含字段姓名,性别CREATR DBF D:\XS\ST(姓名C(8),性别C(2))3、复制表COPY TO <表文件名>[FIELDS 字段列表] [FOR 条件]命令功能:复制当前表并创建一个新表。
例如:复制D盘XS文件夹中的ST表到同目录下的LX.DBFUSE D:\XS\STCOPY TO D:\XS\LX如果只复制姓名:USE D:\XS\STCOPY TO D:\XS\LX FIELDS 姓名4、复制表结构COPY STRUCTURE TO <表文件名>[FIELDS 字段列表]命令功能:复制当前表结构并创建一个新表。
例如:复制D盘XS文件夹中的ST表的表结构到同目录下的LX.DBFUSE D:\XS\STCOPY STRUCTURE TO D:\XS\LX如果复制结构中的姓名字段USE D:\XS\STCOPY STRUCTURE TO D:\XS\LX FIELDS 姓名创建数据库一、在项目管理器中创建二、菜单创建三、命令CREATE DATABASE<数据库名>打开和关闭数据库:1、打开数据库①在项目管理器重打开②菜单打开③使用命令OPEN DATABASE<数据库名>2、关闭数据库①命令:关闭当前数据库CLOSE DATABASE关闭所有文件CLOSE ALL②项目管理器设置当前数据库:1、使用工具栏设置当前数据库2、命令设置当前数据库SET DATABASE TO [数据库名]打开数据库设计器:1、从项目管理器打开2、使用菜单3、使用命令MODIFY DATABASE [数据库名]删除数据库:1、使用命令删除:DELETE DATABASE<数据库名|?> 2、项目管理器删除创建数据库表:1使用表向导2、使用表设计器创建数据库3、在数据库设计器里添加表4、使用命令创建数据库表打开设置的数据库,用创建表命令数据库表与自由表的转换:1、在项目管理里中将自由表添加到数据库中2、使用数据库设计器添加3、命令:ADD TABLE <自由表名|?>,将自由表添加到当前数据库移除数据库中的表:在项目管理器重把数据库中的表移除使用命令移除数据库中的表:REMOVE TABLE <数据库表名|?>,将数据库表移出当前数据库。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五VFP自由表与数据库表的操作
一、实验目的
1、了解关系数据库中关系的基本组成,表的结构(字段)、记录和表名三要素;
2、能正确区分自由表和数据库表,并知道两种的相互转换方式;
3、会新建自由表、编辑修改自由表,调节字段先后顺序、记录先后次序、添加删除记
录;
4、掌握数据库表的建立方法、编辑修改方法,字段级和记录级有效性规则的设置、记
录的追加、记录的逻辑删除与物理删除、表的浏览方式设置;
5、了解启用向导方式建立表文件的方法,知道如何导出表文件数据进入EXCELE。
二、实验内容及操作步骤
1、自由表与数据库表的区别
自由表是与数据库无关的表,它是早先关系数据库FoxBASE等的数据库,VFP为了保持跟早先的关系数据库的兼容,保留它并称为自由表。
它的特点是:表名遵循8.3格式,字段名长只在10个字符以内。
数据库表从属于数据库,是数据库基本对象,它支持长表名和长字段名,拥有字段和记录级有效性规则。
自由表和数据库表都是关系,都有三个基本要素:表名、字段和记录。
自由表和数据库表可以互相转换,即将自由表添加到数据库中成为数据库表,也可以将数据库表移出数据库志为自由表。
2、自由表的操作
(1)、新建自由表
自由表在项目管理器中建立,这类自由表从属于打开的项目,即是项目的一个对象。
自由表也可与项目无关,即不打开、不新建项目情况下新建的表——真正意义的自由表。
新建自由表有以下方法:
方法一、执行“文件”——“新建”——“表”;
方法二、在命令窗口中输入:Create <表名>
方法三、在项目管理器中选定“自由表”——“新建”
方法四、在已建立自由表基础上用“表向导”新建自由表。
我们建立如下自由表——表名为:学生基本情况表
(2)、进行字段编辑修改和先后次序调整
用命令方式或菜单方式打开“学生”表:
方法一、执行“文件”——“打开”——选择文件类型为“表”——找到“学生基本情况表”选定——单击“打开”。
方法二、单击“常用工具”栏上的“打开”按钮——选择“表”——找到表名“学生基本情况表”——单击“确定”。
方法三:在命令窗口中输入:USE 学生基本情况表
执行“表”菜单下的“表设计器”命令进入表设计器窗口
修改字段名、字段类型、宽度方法——选定字段输入名字、选择类型、设置宽度插入新字段——选定插入位置,单击“插入”按钮,输入新字段名、类型、宽度删除字段——选定要删除的字段,单击“删除”命令按钮
调整字段先后顺序——选定字段,用鼠标拖曳左端的双箭头按钮到适当位置松开即可。
建立索引——在表设计器窗口中选择“索引”标签,指定索引字段,选择索引类型
(3)、进行记录操作
追加记录——显示浏览表的条件下,执行“显示”菜单下的“追加方式”输入记录
记录定位——执行“表”菜单中的“转到记录”后的选项定位记录位置。
逻辑删除记录——执行“表”菜单下的“删除记录……”设置逻辑删除范围与条件,单击“确定”。
也可用鼠标单击“表浏览窗口”左边“空白框”按钮,使其变黑成为已逻辑删除状态。
恢复逻辑删除——去掉删除标记,执行“表”菜单下的“恢复记录”或鼠标再次单击。
移动字段调节位置——执行“表”菜单下的“移动字段”——用鼠标拖曳
彻底删除记录——永久删除记录(不能恢复),执行“表”菜单“彻底删除”(要先作逻辑删除,才能彻底的物理删除记录)
(4)、编辑备注字段
方法:用鼠双击“memo”进入备注字段文本编辑窗口,输入备注内容,单击“关闭”即可。
有备注内容的备注字段显示为“Memo”——第一字成为大写。
(5)、添加通用型字段数据
照片通用型数据的添加方法与备注字段数据添加方法类似,用鼠标双击“gen”进入照片添加窗口——执行“编辑”——“插入对象”命令——找到图片文件加入。
3、建立数据库表
(1)、新建数据库文件或打开数据库文件进入数据库设计器
新建“学生成绩管理”数据库文件:“文件”——“新建”——“数据库”——“新建文件”——输入数据库文件名:学生成绩管理,单击“保存”。
在项目管理器窗口中选定“数据库”——单击“新建”也可以新建数据库:学生成绩管理。
(2)、在数据库设计器中新建表——成为数据库表
(3)、字段级和记录级有效性规则设置
在浏览状态下修改“高等数学”使其小于80,结果系统会提示违背字段级有效性规则。
记录级有效性规则类似。
数据库表的字段、记录操作方法类似于自由表,这里不再重述。
4、自由表和数据库表的互相转换
在数据库设计器中,删除移动数据库表即成为自由表;反之添加自由表到数据库中即成为了数据库表。