![第4章表与数据库_第1页](http://file4.renrendoc.com/view/b69a5fcba51a346439fb3f8184e6273f/b69a5fcba51a346439fb3f8184e6273f1.gif)
![第4章表与数据库_第2页](http://file4.renrendoc.com/view/b69a5fcba51a346439fb3f8184e6273f/b69a5fcba51a346439fb3f8184e6273f2.gif)
![第4章表与数据库_第3页](http://file4.renrendoc.com/view/b69a5fcba51a346439fb3f8184e6273f/b69a5fcba51a346439fb3f8184e6273f3.gif)
![第4章表与数据库_第4页](http://file4.renrendoc.com/view/b69a5fcba51a346439fb3f8184e6273f/b69a5fcba51a346439fb3f8184e6273f4.gif)
![第4章表与数据库_第5页](http://file4.renrendoc.com/view/b69a5fcba51a346439fb3f8184e6273f/b69a5fcba51a346439fb3f8184e6273f5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章表与数据库本章主要讲述数据表和数据库的建立、修改、编辑、浏览、复制、索引的方法及其相关命令用法,另外还介绍了表间关系,数据库与数据表的关系及其设置等概念。在学习这些概念和相关命令的使用方法中,唯有通过自己操作实例才能更为有效地理解与掌握。2表与数据库主要内容4.1表结构的建立、修改与输出4.2表记录的录入、编辑与显示4.3表记录索引4.4多表操作4.5数据库4.6数据库表的特有设置34.1表结构VisualFoxPro数据表分为数据库表和自由表两种,在此先讲述自由表的建立,有关数据库表在4.5数据库一节中再做介绍。4.1.1二维表与数据表学生信息表4-1是常见的简单二维表,利用VisualFoxPro的关系数据模型,能够将这种二维表作为数据表文件存入计算机。通过分析学生信息表4-1的数据可为该表设计结构如表4-3所示。45学号姓名性别生日班级党员否入学成绩照片备注20090090张婷女1991-10-1009078否51120090091肖萌女1991-2-2209078否53320090092李铭男1990-12-1209078否57720090093张力男1990-1-1109078否.62220090120朋蓬男1991-5-509101是55020090121李园女1991-1-109101否58820090122胡虎男1991-7-1709101否52220090370刘冬女1990-11-1109123是63320090371严岩男1991-3-1309123否55520090372王平男1990-6-1609123否5446字段名类型宽度小数位数学号字符8姓名字符8性别字符2生日日期8班级字符5党员否逻辑1入学成绩整型4照片通用型4备注备注型4字段类型与宽度字段类型与宽度详见书中表4-2
说明:(1)字段名。字段名的命名必须以汉字或字母开头,自由表的字段名长度不超过10个字节,可以是字母、汉字、数字下划线组成的序列。一个汉字占有2个字节宽度。(2)类型与宽度。字段的类型与其宽度相关,不同类型的字段其宽度有所不同,宽度以字节为单位。对于字符型、数值型、浮点型3种字段要根据实际需要合理选择宽度,其它类型字段宽度均由VisualFoxPro统一规定(系统默认值)。例如,日期型宽度为8字节,逻辑型为1字节,而备注型与通用型为4字节(仅仅表示数据在.FPT文件中的位置)。(3)小数位数。只有数值型、浮点型、双精度型才需要设置小数位数。小数点与正负号都要在字段宽度中占一位。例如,若需要7位整数,2位小数,则数据宽度就要选择10个字节。74.1.2创建表结构数据表结构的建立方法有两种,一种是在表设计器中,以交互方式建立,另一种是通过执行命令来建立。1.使用命令打开表设计器建立表结构命令格式:CREATE[<表文件名>|?]命令功能:当有选项<表文件名>时,按指定表文件名建立数据表。若无或选“?”,则从文件夹选择对话框中指定建立表文件所在的路径与文件名。2.使用菜单打开表设计器建立表结构例4-1创建学生表xs.dbf。84.1.3修改表结构1.打开表文件(1)菜单方式(2)命令方式命令格式:USE[<表文件名>|?]命令功能:①USE<表文件名>,打开指定的表文件。②USE?,进入文件夹对话框选择需要打开的表文件。③USE,关闭当前打开的表文件。92.修改表结构(1)菜单方式(2)命令方式命令格式:MODIFYSTRUCTURE命令功能:若数据表已经打开,直接进入表设计器。否则通过【打开】对话框指定要打开的表文件后,再进入表设计器。例4-2修改xs.dbf中的“生日”字段名为“出生日期”。USExsMODIFYSTRUCTURE104.1.4输出表结构如果需要显示、打印表的结构信息,可以使用以下命令:命令格式:LIST|DISPLAYSTRUCTURE[TOPRINT]功能说明:显示或打印当前表的结构信息。例4-3显示并打印表xs.dbf的结构信息。114.2表记录4.2.1输入记录1.输入记录要点2.输入记录示例4.2.2显示记录通常用来显示表信息的命令有DISPLAY、LIST和BROWSE。1213(1)LIST命令命令格式:LIST[[FIELDS]<字段名列表>][<范围>][FOR<条件1>][WHILE<条件2>]
[OFF][TOPRINT]命令功能:列表显示当前表指定范围内满足条件记录的指定字段值。(2)DISPLAY命令命令格式:DISPLAY[[FIELDS]<字段名列表>][<范围>][FOR<条件1>][WHILE<条件2>]
[OFF][TOPRINT]命令功能:分页显示当前表指定范围内满足条件记录的指定字段值。LIST和DISPLAY命令从功能上讲非常相似,在使用上有以下几点需要说明:①<范围>省略的时候,LIST默认为ALL,DISPLAY默认为当前记录。②OFF子句表示不显示记录号③TOPRINT子句表示送打印机输出,省略的时候,仅在主窗口显示记录。④<字段名列表>省略的时候,表示除备注型和通用型之外的所有字段。14(3)BROWSE命令命令简单格式:BROWSE[FIELDS<字段名列表>][FOR<条件1>][WHILE<条件2>]
[NOAPPEND][NODELETE][NOEDIT|NOMODIFY]
[FREEZE<字段名>][LOCK<N型表达式>]命令功能:在浏览窗口中显示当前表满足条件记录的指定字段值。15说明:①NOAPPEND子句:不容许追加记录。②NODELETE子句:不容许逻辑删除记录。③NOEDIT|NOMODIFY子句:不容许修改记录。④FREEZE<字段名>:仅列出的那一个字段容许修改,其余字段只读。⑤LOCK<N型表达式>:把左边的n列锁定在浏览窗口(n表示N型表达式的值)。BROWSE是个功能十分丰富的命令,它有多达几十个的子句,在此仅给出以上的简单格式,完整的格式可查看系统帮助文档。163.命令方式显示示例例4-4用命令LIST或DISPLAY显示入学成绩大于600分的党员的学生的学号、姓名和性别。在命令窗口依次输入如下命令序列:SETDEFAULTTOd:\USExsLISTFIELDS学号,姓名,性别FOR入学成绩>600AND党员否USE17例4-5用BROWSE命令显示班级为09101的学生的学号、姓名和班级。UsexsBROWSEFIELDS学号,姓名,班级FOR班级=“09101”184.2.3追加记录命令方式(1)APPEND命令命令格式:APPEND命令功能:以交互方式在当前表记录之后追加若干条新记录。例如,若要给学生表xs.dbf追加记录,可以执行下列两条命令:USExsAPPEND(2)APPENDBALNK命令命令格式:APPENDBLANK命令功能:给当前表追加一条空白记录。19INSERT命令(3)INSERT命令命令格式:INSERT[BEFORE]命令功能:以交互方式在当前表的当前记录之后(或之前)插入若干新记录。说明:若有BEFORE子句,则在当前记录之前插入新记录,否则在当前记录之后插入。(4)INSERTBLANK命令命令格式:INSERTBLANK[BEFORE]命令功能:当前表的当前记录之后(或之前)插入一条空白记录。20例4-7在学生表xs.dbf的首记录位置加入一条空白记录。UsexsInsertblankbefore21APPENDFROM命令命令格式:APPENDFROM<表文件名>|?[FIELDS<字段名列表>][FOR<条件>]命令功能:从指定表文件中读出符合要求的记录,并追加到当前表文件中。说明:若有FIELDS<字段名列表>子句,则只追加字段名列表中指定的字段值,否则,只追加两个表文件共有的字段.22例4-8表xsbf.dbf与表xs.dbf具有相同的结构,但没有记录,将xs的记录全部追加到xsbf中。(可先将xs.dbf的表结构复制到xsbf.dbf中:usexscopystructuretoxsbf)UsexsbfAppendfromxs234.2.4修改记录1.REPLACE命令命令格式:REPLACE[<范围>][FOR<条件1>][WHILE<条件2>]
<字段名1>WITH<表达式1>[ADDITIVE]
[,<字段名2>WITH<表达式2>[ADDITIVE]…]命令功能:对当前表指定范围内满足条件的记录,用WITH子句中的表达式值替换对应字段值。说明:(1)ADDITIVE子句仅适用于备注型字段,有ADDITIVE时,将表达式值追加在原数据之后,否则替换原数据。(2)<范围>的省略值为当前记录。24例4-9将学生表xs.dbf中姓名为张力的班级编号改为09123。执行如下命令:USExsREPLACE班级WITH"09123"FOR姓名="张力"BROWSE252.GATHER和SCATTER命令(1)用数组元素值替换记录字段值命令格式:GATHERFROM<数组名>[FIELDS<字段名列表>][MEMO]命令功能:用数组变量各元素的值依次替换当前记录各个字段的数据。说明:①用第一个元素值代替第一个字段的值,依次类推。当有FIELDS<字段名列表>子句时,用数组各元素的值替换指定字段的值。②当有MEMO子句时,用对应元素的值替代该备注型字段的内容。通用型字段不在此命令的操作范围内。26(2)将记录字段值存放到数组
命令格式:SCATTERTO<数组名>[FIELDS<字段名列表>][MEMO]命令功能:将当前记录数据存入数组变量的各个元素中。说明:用法和GATHER类似,不再重复。只是命令中的数组无需事先定义,即使已经定义而数组元素少于字段数,系统也可以自动重新定义该数组,以满足需要。27要将表xs.dbf中的第一条记录的值存入数组ss可以执行以下命令实现。USExsSCATTERTOssLISTMEMOLIKEss*284.2.5定位记录在对数据表的记录进行操作时,通常需要先进行记录定位。记录定位就是将记录指针指向某个记录,使之成为当前记录,函数RECNO()的返回值就是当前记录的记录号。在打开表时,记录指针总是指向第一个记录。1.绝对定位命令命令格式1:GO[TO]TOP|BOTTOM命令格式2:[GO[TO][RECORD]]<数值表达式>292.相对定位命令
命令格式:SKIP[<数值表达式>]命令功能:从当前记录开始移动记录指针,指针的移动步长为表达式的绝对值。说明:当表达式的值为正时,记录指针向记录尾部方向移动,否则向顶部方向移动。若无子句<数值表达式>时,默认为1。304.2.6记录的删除与恢复通常记录的删除要分两步,先在要删除的记录上加删除标记,称逻辑删除,再用PACK命令将带有删除标记的记录从表中真正删除,称为物理删除。1.逻辑删除命令命令格式:DELETE[<范围>][FOR<条件1>][WHILE<条件2>]2.物理删除命令命令格式:PACK313.恢复记录命令命令格式:RECALL[<范围>][FOR<条件1>][WHILE<条件2>]命令功能:对当前表指定范围内满足条件的记录去掉删除标记。4.记录清除命令命令格式:ZAP命令功能:物理删除当前表中的所有记录。说明:ZAP等价于执行DELETEALL和PACK两条命令。32例4-11从表xs.dbf中彻底删除班级为09123的记录。UsexsDeletefor班级=“09123”pack334.3表记录索引4.3.1索引的概念表的索引是对表建立各种关键字与表记录的对应关系,从而达到对表记录进行快速检索和处理的目的。通常情况下一个索引主要由以下两部分组成。(1)索引关键字表达式:它是索引的依据,是由表字段组成的表达式。(2)索引标识:它是索引的名称,以字母或下划线开始,由字母、数字等组成。但长度不能超过10个字符。34表的记录顺序的几个概念。(1)物理顺序:记录在表中的实际排列次序。此顺序在表记录输入时已经确定,也就是记录号的顺序。(2)逻辑顺序:对于打开的表文件,若有主控索引在使用,则表文件中的记录将按主控索引中的顺序展现给用户,供用户使用。记录在主控索引中的顺序称为逻辑顺序。(3)使用顺序:实际展现给用户,提供用户使用的记录顺序称为记录的使用顺序。若有主控索引在起作用,则使用顺序就是逻辑顺序;否则使用顺序就是物理顺序。354.3.2索引类型1.按索引文件类型分复合索引和单索引两类索引文件2.按索引关键字特征分按索引关键字特征,可以分为主索引、候选索引、普通索引和唯一索引4种。说明:(1)主关键字是能唯一标识记录的索引关键字,不会出现关键字重复值。例如,一般姓名字段不用作主关键字,因为姓名可能会出现同名同姓。(2)唯一索引,对关键字值相同的记录,索引只列其中的第一个记录。364.3.3创建索引1.建立索引命令命令格式:INDEXON<索引关键字>TAG<索引标识名>[FOR<条件>][ASCENDING|DESCENDING][CANDIDATE]命令功能:给当前表建立一个结构复合索引,存入表的结构复合索引文件。说明:(1)<索引关键字>表示要建立索引的字段或字段表达式。(2)TAG<索引标识名>子句为索引定义一个标识。(3)有FOR<条件>子句的时候,仅对满足条件的记录索引,否则对所有记录索引。(4)ASCENDING表示按升序索引,DESCENDING表示按降序索引,省略的时候默认为升序。(5)CANDIDATE表示建立候选索引,默认为普通索引。372.基于单字段的索引所谓基于单字段的索引,就是按某一个字段来建立索引,即索引关键字就是某个字段名,如下例。例4-8创建索引,对学生表xs.dbf的记录按入学成绩降序排序。执行以下命令序列:USExsINDEXON入学成绩TAGrxcjDESCENDINGBROWSE383.基于多字段的索引相对于单字段索引就很容易理解所谓多字段索引,指的是按照多个字段的某种计算关系进行索引,即索引关键字是由几个字段构成的一个表达式,如下例。例4-9
创建索引,对学生表xs.dbf的记录先按班级升序排序,班级相同再按入学成绩降序排序。则执行如下命令:USExsINDEXON(班级+STR(1000-入学成绩))TAGbjrxBROWSE394.3.4使用索引如前所述一个复合索引文件可以容纳多个索引,但任意时刻最多只有一个索引起作用,那个起作用的索引被称为主控索引。1.主控索引的指定命令格式:SETORDERTO[<值表达式>|TAG<索引标识>[ASCENDING|DESCENDING]]命令功能:为当前表指定索引顺序,即指定主控索引。说明:(1)<数值表达式>表示索引建立的次序号,可以依此指定主控索引。(2)SETORDERTO或SETORDERTO0用于取消主控索引。402.索引的更新(1)自动更新。若在有主控索引状态下,数据表中的记录数据发生变化,则索引自动更新。(2)重新索引。若在未指定主控状态下,数据表中的记录数据发生变化,索引文件不会自动更新。如果要维持记录的逻辑顺序,可用REINDEX命令重新索引,也可以重新建立索引413.索引的删除
命令格式:DELETETAGALL|<索引标识1>[,<索引标识2>…...]命令功能:将所列出的索引从当前表的结构复合索引文件中删除。说明:(1)ALL表示删除所有索引。(2)若当前表的所有索引都被删除,则其结构复合索引文件被自动删除。424.3.5记录的查找1.顺序查找命令格式:LOCATEFOR<条件>[<范围>]说明:(1)<范围>的省略值为ALL。(2)找到记录的时候,FOUND()函数为逻辑真值(.T.),否则为逻辑假值(.F.)。(3)LOCATE找到一个符合条件的记录后,就停止查找。如果要继续查找后面满足条件的记录,需要执行CONTINUE命令,CONTINUE命令相当于在缩小了的范围内又执行了一次LOCATE命令。]432.索引查找
命令格式:SEEK<表达式>命令功能:在当前主控索引关键字中搜索与<表达式>的值相匹配的第一条记录,若找到,则使该记录成为当前记录,否则记录指针定位到文件尾。说明:查找成功时函数FOUND()为逻辑真值(.T.),否则为逻辑假值(.F.),且函数EOF()为逻辑真值(.T.)。444.3.6记录的统计1.计数命令命令格式:COUNT[<范围>][FOR<条件1>][WHILE<条件2>][TO<内存变量名>]命令功能:计算当前表指定范围内满足条件的记录的个数。说明:(1)<范围>的省略值为ALL。(2)TO子句的作用是将记录数保存在指定的内存变量中,若省略则计算结果仅在主窗口的状态条中显示。452.求和命令命令格式:SUM[<数值表达式列表>][<范围>][FOR<条件1>][WHILE<条件2>]
[TO<内存变量名列表>|ARRAY<数组>]功能:对当前表指定范围内满足条件的记录,分别计算各个数值表达式的和。说明:(1)<范围>的省略值为ALL。(2)TO子句的作用是将计算结果保存在指定的内存变量或数组中,若省略则计算结果显示在主窗口中。(3)若省略<数值表达式列表>,则分别求每个数值型字段的和。463.求平均命令
命令格式:AVERAGE[<数值表达式列表>][<范围>][FOR<条件1>][WHILE<条件2>]
[TO<内存变量名列表|ARRAY<数组>]命令功能:在打开的表中,对[数值表达式表]的各个表达式分别求平均值。说明:对当前表指定范围内满足条件的记录,分别计算各个数值表达式的平均值。说明:(1)<范围>的省略值为ALL。(2)TO子句的作用是将计算结果保存在指定的内存变量或数组中,若省略则计算结果显示在主窗口中。(3)若省略<数值表达式列表>,则分别求每个数值型字段的平均值。473.汇总命令
命令格式:TOTALTO<表文件名>ON<字段名>
[<范围>][FOR<条件1>][WHILE<条件2>][FIELDS<数值型字段名列表>]命令功能:对当前表指定范围内满足条件的记录,按<字段名>值分类,分别求各个数值型字段的和,并将结果存入表文件中。说明:(1)<范围>的省略值为ALL。(2)分类字段值相同的记录在新表中产生一条记录,对非求和字段,只有分类字段值相同的第一条记录的字段值出现在记录中,也就是说,存放汇总结果的表文件的记录数是分类字段值的种类数。(3)分类字段应该是当前表的主控索引,或者当前表在分类字段上是有序的,否则汇总结果是不正确的。(4)FIELDS<数值型字段名列表>若省略,则对所有数值型字段汇总。484.3.7表的复制1.复制表命令基本格式:COPYTO<表文件名>[<范围>][FOR<条件1>][WHILE<条件2>][FIELDS<字段名表>]命令功能:将当前表指定范围内满足条件记录的指定字段复制到指定表文件中。说明:当省略全部可省略子句时,复制全部记录的所有字段到新表。492.复制表的结构
命令格式:COPYSTRUCTURETO<表文件名>[FIELDS<字段名表>]命令功能:复制当前表的指定字段形成新表的结构。说明:省略FIELDS<字段名表>时,复制当前表的全部字段到新表。503.复制任何文件
命令格式:COPYFILE<文件1>TO<文件2>命令功能:复制文件1到文件2。说明:文件必须写完整文件名,且不能为打开的。514.4多表操作通常在一个数据库应用系统中,往往有多个表文件,有时需要同时打开几个表文件,这种操作称为多表操作。在前面对表的各种操作示例中,均以学生基本信息表xs.dbf为例说明表的各种操作的。事实上学生管理系统还要涉及课程、班级、必修课成绩和选修课成绩等数据表。524.4.1工作区1.工作区与当前工作区2.选择当前工作区(1)工作区标号有32767个工作区的标号(2)工作区别名命令格式:USE<表文件名>[ALIAS<表别名>](3)选择当前工作区命令53(3)选择当前工作区命令命令格式:SELECT<工作区号>︱<别名>︱0命令功能:指定<工作区号>或<别名>代表的工作区为当前工作区。说明:①SELECT0表示选定当前尚未使用的最小号工作区。②函数SELECT()能够返回当前工作区的区号。③使用命令:USE<表名>IN<工作区号>︱<别名>能在指定的工作区打开表,但不改变当前工作区,要改变工作区仍需要使用SELECT命令。④引用非当前工作区的字段可以有如下两种格式:格式1:<工作区别名>.<字段名>格式2:<工作区别名>-><字段名>
54例如执行下列命令观察其区别。
CLOSEALL&&关闭所有打开的表,当前工作区默认为1号工作区?SELECT()&&显示:1USEbxcjGO3?学号,高等数学&&显示:2009009254SELECT2&&选定2号工作区为当前工作区USExsGO3?姓名,bxcj.学号,bxcj.高等数学&&显示:李铭2009009254
553.数据工作期除了用命令方式选择工作区和打开多个数据表外,为了方便用户了解和配置当前的数据工作环境,VisualFoxPro提供一种称为数据工作期(DataSession)的窗口用于打开或显示表、建立表间关系、设置工作区属性。564.4.2多表间的关联通常,表与表之间存在以下3种关系:一对多关系:一个表的一条记录对应另一个表的多条记录。例如,表xs.dbf与表xxcj.dbf按学号具有一对多关系。多对一关系:一个表的多条记录对应另一个表的一条记录。例如,表xxcj.dbf与表xs.dbf按学号具有多对一关系。一对一关系:一个表的一条记录仅对应另一个表的一条记录。例如,表xs.dbf与表bxcj.dbf按学号具有一对一关系。按两个表的主从关系分,通常分为父表(又称主表)和子表两种。在建立关联的两个表中总有一个是父表,一个是子表。571.RELATION命令命令格式:SETRELATIONTO[<表达式1>INTO<别名1>,…,<表达式N>INTO<别名N>]
[ADDITIVE]命令功能:以当前表为父表,分别按给定表达式与相应别名表建立关联。说明:(1)<表达式>用来指定父表的关联字段表达式,其值将与子表的主控索引关键字构成对照,相匹配的记录构成关联,<别名>表示子表或其所在的工作区。(2)ADDITIVE保证在建立关联时不取消以前建立的关联。58例4-21
用命令方式建立表xs.dbf和bxcj.dbf的关联,观察相关表的记录指针变化情况和显示结果。
select2usebxcjindexon学号tagxhselect1usexssetrelationto学号intobxcjdisplay学号,姓名,bxcj.高等数学,bxcj.计算机
go5display学号,姓名,bxcj.高等数学,bxcj.计算机
browsefields学号,姓名,bxcj.高等数学,bxcj.计算机592.在数据工作期窗口建立关联
在数据工作期窗口建立关联的基本步骤如下:①打开数据工作期窗口。②打开需要建立关联的表。③为子表按关联的关键字建立索引或确定主控索引。④选定父表工作区为当前工作区,并与一个或多个子表建立关联。⑤说明建立的关联为一对多关系。若省略本步骤则表示多对一关系。604.5数据库数据库是一个容器,它按照数据库的组织结构构成表的集合,从而提高数据的一致性和有效性,降低数据冗余。同时,在数据库中还可以建立和保存数据表之间的永久关系,以使各表保持相互协调和相互制约机制。另外,与自由表相比,数据库表增加了许多自由表所不具备的特性,例如字段的标题、默认值、显示格式、输入掩码、触发器和有效性规则等等,从而使表的功能更强大。614.5.1数据库的创建与修改1.创建数据库(1)交互方式创建数据库(2)使用命令创建数据库命令格式:CREATEDATABASE[<数据库文件名>|?]命令功能:按指定的数据库文件名建立数据库文件,或在【创建】对话框中指定数据库文件的存储位置和文件名来建立。622.修改数据库命令格式:MODIFYDATABASE[<数据库名>|?]命令功能:在数据库设计器中显示指定的数据库。说明:若当前有打开的数据库,则可以省略文件名;若当前没有打开的数据库又省略了文件名或者使用了?,则需通过【打开】对话框来指定要打开修改的文件。634.5.2打开与关闭数据库1.打开数据库命令命令格式:OPENDATABASE[<数据库名>|?]功能:打开指定的数据库文件,或从【打开】对话框中指定数据库文件来打开。说明:使用该命令可以打开多个数据库文件。2.关闭数据库的命令命令格式:CLOSEDATABASE[ALL]功能说明:ALL子句表示关闭所有打开的数据库文件,若无子句ALL,则仅关闭当前数据库文件。644.5.3数据库表的添加与移除1.向数据库添加自由表2.从数据库中移去表使用下列命令移去表。命令格式:REMOVETABLES<表文件名>命令功能:从当前数据库中移去指定的数据库表,被移去的数据库表变为自由表。654.5.4设置当前数据库1.设置当前数据库命令格式:SETDATABASETO[<数据库文件名>]命令功能:设置指定数据库为当前数据库。说明:如果省略<数据库文件名>,则没有设置当前数据库。2.非当前数据库的引用非当前数据库表的引用格式:<非当前数据库文件名>!<表文件名>说明:其中<非当前数据库文件名>为<表文件>所在的数据库文件名。664.5.5删除数据库命令格式:DELETEDATABASE<数据库文件名>[DELETETABLES]命令功能:当使用DELETETABLES子句时,将数据库及其中的表一并删除,否则仅删除数据库文件,并将其中的表变为自由表。应该注意的是,若要删除数据库,必须先关闭它。674.5.6数据库表的关联永久关系建立的前提是相关联的两个表在关联字段上已建立索引。如果两个表之间是一对多的关系,则对父表的关联字段必须是主索引或候选主索引,而子表的关联字段可以是任何类型的索引,但通常是普通索引。若是一对一关系,则子表的关联字段必须也是主索引或候选索引。1.建立关联关系2.删除关联关系3.编辑关联关系684.5.7参照完整性设置对于彼此相关的数据库表,在更新、插入或删除记录时,如果只改其一不改其二,将会影响相关数据的一致性和完整性。而当数据库表之间建立了永久关系之后,可以通过设置参照完整性规则来建立必要的制约机制,以保证相关数据的完整性。1.打开参照完整性生成器2.参照完整性生成器界面694.6数据库表的特有设置
所谓数据完整性,主要是指数据的正确性和相容性。无论单用户或多用户数据库,用户在操作中难免发生差错。如果对数据操作缺乏经验及必要的约束,就难以保证数据的有效性。在VisualFoxPro中,对于向数据库表中输入的数据允许设置三级验证,即字段级验证、记录级验证和表间验证。其中前两级属于表内检验,其规则一般在表设计器窗口中进行设置;最后一级属于表间检验,其规则可通过参照完整性生成器进行设置。704.6.1字段级设置1.设置显示属性(1)格式:用以确定当前字段在浏览窗口、表单或报表中的显示格式。例如,使用格式码“!”,则当前字段在浏览窗口输出时全部字母均为大写;若换为格式码“L”,则表示输出数值型数据时,用0填满前导空格。常用的格式码参考书中描述712.设置字段有效性规则
字段有效性规则用来检验对当前字段输入的数据是否有效。可在文本框中直接输入表达式,也可单击其右边的按钮,在【表达式生成器】中生成表达式。(1)规则:当前字段的有效性检验表达式,对于在该字段输入的数据,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钻探工程施工劳务合同范本
- 2024-2025学年高中物理第4章4信息化社会5课题研究:社会生活中的电磁波学案新人教版选修1-1
- 2024-2025学年高中英语语法专题21省略教案含解析新人教版必修1
- 2024-2025学年高中历史课时作业11太平天国运动含解析新人教版必修1
- 2024-2025学年高中地理课时分层作业3人口迁移含解析湘教版必修2
- 深入解析石墨材料的电化学性能与应用领域
- 短视频营销品牌传播的新利器
- 社交媒体平台在足浴店营销的应用实例分析
- 电子商务平台在时尚行业的应用与营销
- 2023-2024学年西师大版(2013)小学信息技术六年级下册 第五单元活动4 创意游戏设计(教学设计)
- 2024年高考英语新闻报道阅读理解训练历年真题
- 行政伦理学教程(第四版)课件 第1章 行政伦理的基本观念
- 项目评分表范表
- 管网改造工程施工组织设计
- 社区老年人日间照料中心运营老年人日间照料服务方案
- 变电站土建安全培训
- 工行安心账户托管(交易资金)三方协议
- 缩短创伤患者急诊滞留时间医院护理品管圈成果汇报
- 社会稳定风险评估业务档案管理制度
- 进行压力容器的检验(课件)
- (完整版)《植物生产与环境》试卷与答案
评论
0/150
提交评论