已阅读5页,还剩85页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第3章表的创建及操作 3 1表的创建 3 2表的基本操作 3 4表的排序 索引 查询与关联 3 3定制表与修改表 3 5多表的使用 退出 3 6数据库表的特性与使用 2 3 1表的创建 返回 3 1 2数据库表的创建 3 1 1自由表的创建 3 表是VFP基本内容 数据库的管理最终是对表的管理 表是对数据进行有效的加工 管理 由于表可以独立于程序 因而表使得数据得以共享 同时使数据得到充分的利用 VFP中的表可分为自由表 数据库表两种 数据库表 与数据库相关联的表自由表 与数据库无关联的表数据库表与自由表之间可以相互转化 4 3 1表的创建 主要介绍用界面建表和用命令建表两种 建立表的过程分为三步 1 确立表的结构 2 用界面或命令开始建表 表结构的定义 3 输入表的内容 1 表结构的定义 1 文件名 表文件的主要标识 2 结构 字段名 类型 宽度 3 记录 表文件的基本数据 5 2 字段类型及命名 3 1表的创建 1 字段名 必须以字母或汉字开头 可以包括字母 汉字 数字和下划线 不要超过10个字符 示例 姓名 XB 班级BJ 班级2 班级 2 XM 2班 成绩 班级 姓名 2 字段类型 共13种 3 字段宽度 不同类型的字段具有不同的宽度 4 小数位 数值型数据需要规定小数位数 5 使用NULL值 可以指定字段是否接受NULL值 它是一个不存在的值 6 1 用界面建表1 用菜单或工具栏打开表设计器创建表操作步骤 选定 文件 菜单 新建 或常用工具栏中的新建按钮打开 新建 对话框 如图所示 新建对话框 3 1 1自由表的创建 7 在新建对话框文件类型中 选 表 新建文件 打开创建对话框 如下图所示 创建对话框 8 在输入表各文本框中输入一个表名 如学生 保存 打开表设计器对话框 如下图所示 表设计器对话框 9 选字段选项卡 在字段各列中输入字段名 如学号 在类型列中选类型 如字符型 在宽度列中选宽度 如下图所示 在小数位列中可输入小数位 如果字符型是不能输小数位的 若需要索引 可在索引中选排列方式 若需要字段接受空值NULL 就可以选NULL 表设计器对话框 10 前面的一系列操作就完成了一个字段的定义 接着单击下一行字段各列处 就可以开始对下一个字段进行定义 直到将表结构中的所有字段的定义完成 当结构建立后 单击 确定 打开确定对话框如下图所示 若选 是 立即输入记录 选否 输入记录 确认对话框 11 对于表中G型字段 M型字段内容输入 可双击该字段内容处打开G型字段可以输入图像 声音等 也可以输入OLE对象 具体步骤是在进入G型字段编辑窗口中以后 选编辑菜单 插入对象 或粘贴或选择性粘贴 在对象类型中选择需要的类型 确定 对G型 M型字段为空时内容显示gen与meno 若G型M型字段不为空则显示Gen与Meno 若想浏览G型与M型字段必须进入相应的编译窗口 12 2 用命令打开表设计器格式 CREATE 功能 打开表设计器创建表 例如在命令窗口中输入create学生回车此时表被打开 就可以按上面的方法建立表了 Create学生Create 13 3 用命令创建表格式 createtable DBF 类型 功能 创建表 以命令不用表设计器创建表 说明 宽度对于数值型要包括小数 如学生成绩5位 小数占2位 可写N 5 2 例 用命令方式创建学生表 表名为学生1 createtable学生1 学号c 9 姓名c 6 性别c 2 出生d 团否l 入学成绩n 3 近照g 备注m 在表的结构定义完成后 如何输入数据 打开已有表 以追加的方式向表中输入数据 14 3 1 2数据库表的创建 1 在数据库中建表 1 用界面在打开数据库的前提下 单击数据库菜单 新建表即可 如图所示 建立表的方法与建立自由表相同 数据库菜单 15 2 用命令在打开数据库的前提下 用CREAT或CREATTABLE语句建表即可 例3 2建立一个联系数据库 建一个通讯表 结构为学号C 9 姓名C 6 性别C 2 电话C 11 CREATDATABASE联系CREATTABLE通信 学号C 9 姓名C 6 性别C 2 电话C 11 APPEND 输入数据LISTCLOSEDATABASEALL 通信表 16 2 将自由表添加到数据库中 用命令方式添加格式 ADDTABLE功能 向当前数据库添加一个由表名指定的自由表 例建一个学生专业数据库 将学生专业 校专业 课程 选修表添加到库中 CREATEDATABASE学生专业ADDTABLE学生专业ADDTABLE校专业ADDTABLE课程ADDTABLE选修CLOSEDATABASEALL 17 4 数据库表的删除格式 DROPTABLE RECYCLE 功能 在当前数据库中由表名指定的数据库表移出 且从磁盘上删除 若选RECYCLE子句将删除表放入WIN回收站 格式 REMOVETABLE DELETE 功能 从当前数据库中移去由表名指定的表 若选DELETE子句在将表移出的同时从磁盘上删除 3 数据库表的移出 示例 OPENDATABASE学籍REMOVETABLE学生表OPENDATABASE学籍DROPTABLE学生表RECYCLE 18 5 使用USE命令和 符号可以访问一个不在当前数据库中的表示例 USEt2 studentLIST 19 3 2表的操作 返回 3 2 2记录指针定位 3 2 1表的浏览与编辑 3 2 3删除和恢复记录 20 1 表的打开 1 用界面打开表单击文件菜单 打开 或常用工具拉单击打开按钮 在文件类型中选类型为表 dbf 选所示打开的表 确定 2 用命令打开表格式 USE表名功能 打开表例用命令打开学生表在命令窗口输入USE学生 3 2 1表的浏览与编辑 21 2 关闭表 1 用界面关闭表单击文件 关闭 2 用命令关闭表格式 USE功能 关闭当前表 示例 USE学生USE 22 3 表的复制1 文件的复制命令格式 COPYFILESTO功能 将文件1复制为文件2 在使用命令前文件1必须关闭 例2 7将学生 dbf复制成学生1 dbfCOPYFILES学生 TO学生1 2 显示文本文件内容命令格式 TYPE功能 显示文本文件内容 23 3 表文件的复制命令COPYTO FOR WHILE FIELDS 功能 将当前表复制成一个由文件名指定的新表或其它类型的文件 VFP的范围有4种 ALL表示所有记录 NEXTN表示从当前记录算起N条记录 RECORD表示第N条记录 REST从当前记录开始到表的最后一条记录 若无 系统默认范围为ALL FOR WHILE都为条件 FIELDS用字段名表中的字段形成新文件 说明 例将学生表中性别为男的复制为学生1表USE学生COPYTO学生1FOR性别 男 24 4 表文件的显示 1 结构的显示 1 用界面显示表结构步骤 显示菜单 表设计器 表为打开状态 2 用命令显示表结构格式 LIST DISPLAYSTRUCTURE功能 显示当前打开的表结构 例显示学生表的结构USE学生LISTSTRUCTURE 25 2 记录的显示1 用界面方式显示表中记录在表打开的前提下 显示 浏览 此时将显示当前表中记录内容 2 用命令显示记录格式1 BROWSE FIELDS 功能 以窗口方式显示当前表的内容 格式2 LIST DISPLAY FIELDS FOR WHILE OFF TOPRINT PROMPT TOFILE 功能 按范围与条件要求显示记录内容 在工作区中显示 26 说明 1 LIST是滚动显示 即使满屏也不停止 DISPLAY是分屏显示 2 当省略范围子句时 LIST默认范围为ALL 而DISPLAY默认范围是当前记录 即NEXT1 3 若选用OFF子句 记录号不显示 4 TOPRINT子句 结果输出到打印机 若再用PROMPT在打印前会出现打印机设置对话框 可对打印机进行相应的设置 5 TOFILE子句 结果输出到由文件名指定的文件 27 例显示学生表 1 显示全部内容 2 只显示学号 姓名 性别 3 显示性别为男的学生 4 显示性别为女且输出到g1 txt文件中 USE学生BROWSEBROWSEFIELDS学号 姓名 性别LISTFOR性别 男 LISTFOR性别 女 TOFILEg1 txtTYPEg1 txt 显示g1 txt的内容 28 5 追加记录 1 用界面追加记录在表打开前提下 显示 浏览 显示打开的表 显示 追加方式 此时可输入新的记录内容 2 用命令追加记录格式1 APPEND BLANK 功能 向当前表中追加记录 若选BLANK是追加一条空白记录 此空白记录当时不可以编辑 用REPLACE或edit等命令可对其进行编辑 格式2 APPENDFROM FIELDS FOR 功能 从文件名指定的表文件中将符合条件的记录追加到当前表的尾部 29 例在学生2表中追加一条空记录 将学生表中性别为男的学生记录追加到学生2表中 在命令窗口输入 USE学生COPYTO学生2USE学生2APPENDLISTAPPENDFROM学生FOR性别 男 LIST 30 6 插入记录格式 INSERT BEFORE BLANK 功能 插入一条记录 若无BEFORE子句时 在当前记录后插入一条新记录 当有BEFORE子句时 在当前记录之前插入一条新记录 当有BLANK子句时插入一条空白记录 当时不能编辑 可用REPLACE等命令进行编辑 EDIT CHANGE 7 编辑命令格式 CHANGE EDIT FIELDS WHILE FOR 示例 USE学生2CHANGEFIELDS姓名 学号 家庭住址 电话EDIT 31 1 用界面方式移动记录指针单击表菜单 转到记录 可选第一个 最后一个 下一个 前一个或记录号 若选记录号 输入记录号 确定 2 用命令方式移动记录指针1 绝对移动格式 GO 功能 实现记录指针的绝对移动 当用TOP子句时指针指向第一条记录 当用BOTTOM子句时 指针指向最后一条记录 当用记录号子句时 指针指向记录号确定的记录 3 2 2记录指针的移动 32 2 相对移动格式 SKIP N 功能 N可为正 负整数 当N为正数时 指针从当前记录向表尾方向移动N条记录 当N为负数时 指针从当前记录向表头方向移动N条记录 当省略N时 默认N为1 33 删除表中的记录有三种方法 一种为逻辑删除 这种删除只是将记录加了删除标记 第二种删除是物理删除 这种是将具有删除标记的记录真正从表中删除 第三种是物理删除表中所有记录 剩下一个空表 1 逻辑删除与恢复1 用界面为记录加删除标记或去掉删除标记在表打开前提下 显示 浏览打开浏览窗口 如图所示 单击记录左边小方框 使该方框变深色 即加删除标记 若要恢复记录 再次单击深色方框使其变浅即可 3 2 3删除和恢复记录 34 添加删除标记 35 2 用命令为记录加删除标记与去掉删除标记记录逻辑删除命令格式 DELETE 范围 FOR 功能 对满足条件的记录加删除标记 若范围省略 默认范围为当前记录即NEXT1 记录恢复命令格式 RECALL 范围 FOR 功能 为符合条件的记录去掉删除标记 若范围省略 默认范围为当前记录即NEXT1 2 物理删除记录1 用界面进行物理删除记录在表打开前提下 单击表菜单 彻底删除 即可 2 用命令进行物理删除格式 PACK功能 将带有删除标记的记录 从表中真正删除 36 3 物理删除表中所有记录格式 ZAP功能 将表中所有记录删除 只保留表结构 例2 12将学生2表中性别为女的记录逻辑删除 物理删除 将学生表2记录全部物理删除 在命令窗口输入 USE学生2DELETEALLFOR性别 女 LISTPACKLISTZAPLISTLISTSTRUCTURE 37 3 3定制表与修改表 定制表 1 界面形式 定制表的显示方式 用 表 菜单中的 属性 命令 在 工作区属性 窗口中分别通过 数据过滤器 和 字段筛选 设置要显示记录 字段 2 命令形式格式 SETFILTERTO 功能 设置访问当前表中记录的条件 当省略时 取消所设条件 一般也将此命令称为过滤器命令 38 例过滤器命令应用USE学生1SETFILTERTO性别 女 LISTSETFILTERTOLIST 39 3 表的结构修改 1 用界面修改表的结构1 用菜单打开表设计器修改表结构在表打开的情况下修改表结构步骤 单击显示菜单 打开表设计器 如图所示 对字段进行修改 表设计器 40 2 用命令打开表设计器修改结构格式 MODIFYSTRUCTURE功能 打开表设计器 从表设计器框中修改当前使用的表结构 例修改学生2的结构 将奖学金字段改为N 4 显示菜单 打开表设计器 选定奖学金字段按题要求进行修改 单击 确定 打开 确认对话框 选是 例将学生2的结构恢复为未修改前的结构在命令窗口中输入MODISTRUC选定奖学金字段改为N 3 打开修改确认对话框 选是 41 2 用命令修改格式 ALTERTABLEADD ALTER CLOLUMN DROP COLNME REMAMETO功能 修改表的结构说明1 ADD column 子句用于增加新的字段 2 ALTER column 子句用于修改原有字段 3 DROP column 子句用于删除字段 4 RENAME column 子句用于将字段2指定的字段名改为字段3指定的字段名 42 例 对学生2增加爱好字段C 20 将修改爱好字段为C 30 将爱好字段按名改为特长 删除特长字段 在命令窗口中输入ALTERTABLE学生2ADD爱好C 20 显示 表设计器 确定或LISTSTRUCTURE 在命令窗口中输入ALTERTABLE学生2ALTER爱好C 30 显示 表设计器 确定或LISTSTRUCTURE ALTERTABLE学生2RENAME爱好TO特长 显示 表设计器 确定或LISTSTRUCTURE ALTERTABLE学生2DROP特长 显示 表设计器 确定或LISTSTRUCTURE 43 4 修改记录 1 用界面修改记录在表打开前提下 1 显示 浏览 打开浏览窗口就可以对各条记录进行修改 2 在命令窗口上用EDIT CHANGE 2 用命令修改记录格式 REPLACE WITH WITH FOR WHILE 功能 在指定范围内将符合条件的记录中的相关字段用相关表达式来替换 若省略范围 默认范围为NEXT1 例将学生2表中奖学金在300 400之间的加100 REPLACEALL奖学金WITH奖学金 100FOR奖学金 300AND奖学金 400 44 3 4数据表的排序 索引 查询与关联 3 4 1数据表的排序 3 4 2数据表的索引 3 4 4数据表的查询 3 4 3索引文件的建立与使用 3 4 5数据表的关联 45 3 4 1数据表的排序 1 数据表的排序 把数据表文件中的记录按照某个字段值的大小顺序重新排列 2 关键字 作为排序依据的字段 3 升序 按照关键字值从小到大的顺序进行排序 4 降序 按照关键字值由大到小的顺序进行排序 1 概念 46 格式 SORTTOON A D C A D C FOR WHILE FIELDS FIELDSLIKE FIELDSEXCEPT 功能 在指定范围内将符合条件的记录 按字段的升序或降序进行排序 将排序的结果形成一个新的表 说明 1 ON子句中为第1排序字段 为第2排序字段 A D表示升序或降序排序 默认为升序 C不区分字段中的大小写字母 2 M G字段不能用于排序字段 47 例SORT命令应用USE学生1SORTTO学生3ON出生日期USE学生3LIST 排序命令已经解决了对已存在表按实际需要 按某一个字段或多个字段排序的问题 由于它使原表不变而又形成了一个新表 这样就在磁盘中造成了很大的冗余 浪费了存储空间 如何解决这样的问题 VFP用下面我们学习的建立索引文件来解决 48 3 4 2数据表的索引 为什么使用索引 1 排序造成了数据冗余 浪费存储空间2 如果对数据表文件进行增 删 改操作时 需要重新进行排序什么是索引文件 1 索引文件是由指针构成的 这些指针逻辑上按照索引关键字进行排序 2 索引文件和表文件分别进行存储 并不改变表中记录的物理位置 49 3 4 2数据表的索引 1 索引文件的类型 1 单索引文件 扩展名为 IDX 其各个索引文件只能包含一个单一的关键字或者组合关键字 单索引文件可分为 压缩索引文件和非压缩 标准 索引文件 2 复合索引文件 扩展名为 CDX 在一个复合索引文件中可以包含多个索引选项 每个索引选项叫做索引标识 复合索引文件有两种类型 结构复合索引文件和非结构复合索引文件 50 1 分类要生成一个新的表文件 记录的物理顺序发生了改变 2 分类生成的表可以单独使用 3 索引它并不生成新的表文件 仅仅是表中记录的逻辑顺序发生了变化 但索引也要生成一个新的文件 即索引文件 4 索引文件不能单独使用 它必须同表一起配合使用 单索引文件总是按升序的顺序排列 对于一个表文件 允许建立多个索引文件 2 分类与索引的区别 51 VFP的索引方式有4种 主索引 候选索引 唯一索引和普通索引 他们的相关说明如表所示 表VFP的索引方式 3 索引方式 52 格式1 建立 IDX索引文件 INDEXONTO FOR UNIQUE COMPACT ADDITIVE 1 索引文件的建立 3 4 3索引文件的建立与使用 例索引的应用OPENDATABASE学生管理USE基本情况INDEXON学号TOY1UNIQUELISTINDEXON性别 STR 奖学金 TOY2LIST 53 格式2 建立 CDX索引文件 INDEXONTAG OF UNIQUE CANDIDATE ASCENDING DESCENDING ADDITIVE FOR 1 索引文件的建立 示例 OPENDATABASE学生管理USE基本情况INDEXON奖学金TAGZ1DESCLISTINDEXON姓名TAGZ2CANDIDATELISTINDEXON姓名TAGZ3ofY3LIST 54 3 索引文件的打开与关闭 主控索引文件 在打开的索引文件中 排在最前面的索引文件 说明 1 索引文件不能脱离所依赖的数据表文件而单独使用 2 结构化复合索引文件将随着数据表文件的打开而自动打开 其它索引文件则需要使用索引文件的打开命令进行打开 3 数据表文件只按主控索引文件的顺序显示各记录 4 若主控索引文件为复合索引文件 则记录显示与存取的次序仍按各记录实际存放的顺序 只有用ORDER指定主标记后 才按主标记的次序显示与存取记录 5 对数据表文件进行增 删 改操作时 系统会自动修改所有打开的索引文件 1 有关概念 55 1 打开索引文件格式1 SETINDEXTO ADDITIVE 功能 打开当前表索引 说明 在中第一个为主控索引文件 当无任何选项时 关闭当前工作区中除结构化复合索引文件外的所有索引 取消主控索引 省略ADDITIVE子句关闭当前工作区除结构化复合索引以外的所有索引文件 例打开索引文件应用USE基本情况SETINDEXTOY1 idx Y2 idx Y3 cdx 打开X1 X2 X3索引文件 文件X1为主控索引文件 56 2 设置主控索引格式 SETORDERTO TAG OF ASCENDING DESCENDING 功能 设置主控索引文件 格式2 USEINDEX功能 打开数据表文件的同时打开索引文件 说明 1 是指定主控索引文件或索引标识编号 先按USE或INDEX出现顺序打开单索引文件 然后按创建顺序指定结构化复合索引表示的编号 最后按创建顺序指定非结构化复合索引的编号 2 是指定此索引文件为主控索引 57 3 TAG OF 指定结构化 非结构化复合索引文件中的索引标识为主控索引 OF 适用于打开非结构化复合索引文件 4 无任何选项或SETORDERTO为取消主控索引 5 ASCENDING DESCENDING用于重新设置主控索引文件升或降序 58 例SETORDERTO应用OPENDATABASE学生管理USE基本情况SETINDEXTOY1 idx Y2 idx Y3 cdxLISTSETORDERTOY1LISTSETORDERTOZ3OFY3 cdxLISTSETORDERTOUSE 59 3 删除索引格式 DELETETAGALL 功能 删除打开的复合索引文件的索引标识 例DELETAG应用USE学生1INDEXON学号TOY4INDEXON性别TAGY5DELETETAGALLUSE 60 4 索引的更新在表的记录发生变化时 打开的索引文件会随着表的变化而更新 但未打开的索引文件是不会自动根据表的变化而更新的 要想将这些未打开的索引文件更新 首先打开这些文件 然后再用以下讲的更新索引命令就可以了 格式 REINDEX COMPACT 功能 重建当前打开的索引文件 COMPACT子句可将已打开的 IDX索引文件转为压缩单索引文件 61 3 4 4数据表的查询 1 FIND命令格式 FIND 功能 在索引关键字中查找与指定的字符串或数值相匹配的第一条记录 若找到 指针指向此记录 否则指针指向表尾 一般用FOUND 函数判断是否查找到 若用字符变量查找必须用 运算符 若要查找下一个匹配记录可用SKIP命令 字符串可不用定界符 但字符串若有前导与尾部空格要加定界符 62 例FIND应用USE学生1INDEXON姓名TOY6FIND王东 FOUND DISPLAYX 赵琳 FIND X FOUND DISPLAYINDEXON奖学金TOY7FIND300 FOUND DISPLAYUSE 63 2 SEEK命令格式 SEEK功能 在索引关键字中查找与表达式相匹配的第一条记录 当查找与之匹配的下一条记录可用SKIP命令 当表达式为字符串时要求用定界符 表达式可为关键字所能取的任何一种类型 例SEEK的应用 USE学生1INDEXON性别TOY6SEEK 男 FOUND DISPLAYINDEXON出生日期TAGZ3SEEK 1979 4 11 FOUND DISPLAY 64 3 查找定位命令格式 LOCATEFOR功能 查找符合条件第一个记录的位置 指针指向该记录 若表中无符合条件的记录 指针指向表尾 说明 若符合条件的记录有多条 可用CONTINUE继续查找下一个符合条件的记录 例LOCATE命令应用USE学生2LOCATEFOR性别 男 FOUND DISPLAYCONTINUEDISPLAY 65 1 确定各表间的连接关系 3 4 5数据表的关联 通过相同字段建立连接 可以建立 一对一 和 一对多 关系 关联可以有永久的和临时的两种 永久关系 1 永久关系是存储在数据库中的数据表之间的关系 是相对于用命令SETRELATIONTO建立的临时关系而言的 他们存储在数据库文件中 不需要每次使用时都重建 在 数据库设计器 中 显示为联系数据表索引的线 66 2 设置方式注意 在一对多关系中 一方 必须用主关键字建立主索引 多方 则可使用普通索引关键字建立普通索引 数据库设计器方式 67 1 参照完整性 RI ReferentialIntegrity 就是指建立一组规则 当用户插入 更新或删除记录时保护数据表之间已定义的关系 2 实施参照完整性规则可以确保 当主表中没有关联记录时 记录不得添加到相关表中 主表的值不能改变 若这个改变将导致相关表中出现孤立记录 若某主表记录在相关表中有匹配记录 则该主表记录不能被删除 3 使用参照完整性生成器参考教材使用 2 设置参照完整性RI 68 工作区指内存中的一块存储区域 用区号或别名来标识 共有1 32767个 前10个工作区指定别名是字母A J 后面是W11 W32767 系统开始默认在第1工作区 1 工作区 1 指定表的别名格式 USE ALIAS IN工作区号 功能 在打开表的同时为表指定一个别名 若省略了ALIAS子句 默认表名与表的别名相同 别名的命名规则与表名相同 或在打开表的同时指定工作区 工作区号为0 32767 2 工作区命令 3 5同时使用多个表 69 说明 1 工作区号取值可为0 32767 若取0 则选择一个未使用的最小编号工作区为当前工作区 工作区号1 10也可用A J字母表示 2 SELECT 函数可以返回当前工作区号 CREATETABLE学生专业 学号c 9 姓名c 6 性别c 2 专业号c 3 CREATETABLE校专业 专业号c 3 专业名c 20 USE学生专业ALIASXS1INDEXON学号TAGN1INDEXON专业号TAGN2USE校专业ALIASXZ1INDEXON专业号TAGN3 例建立两张表 学生专业和校专业 且为每个表指定一个别名并建立索引 70 学生专业 校专业 71 2 指定工作区命令格式 SELECT 功能 由工作区号或表的别名指定一个当前工作区用于打开一个表 3 关闭工作区中的表格式 CLOSEALL功能 关闭所有工作区打开的表并选择工作区1位当前工作区 例select应用 SELECT1USE学生专业INDEXON学号TOXs1LISTSELECT0USE校专业LISTINDEXON专业号TAGXs2 72 4 工作区字段互访格式1 格式2 功能 在当前工作区访问非当前工作区中的字段 即别名所在区的字段 例工作区字段访问应用 SELECT1USE学生专业USE校专业IN2SELECT1LIST学号 姓名 专业号 B 专业号 B 专业名CLOSEALL 73 3 多表使用 1 表的关联 临时关系 表的关联是指在两个表之间 当一个表 父表 的记录指针移动时 另一个表 子表 的记录指针根据父表的要求 也称关联条件或称关联表达式 指向子表的相应记录上 VFP用这种关联控制或将表之间建立关系从而实现多表同时使用 在多表之间同时获取有价值的数据的目的 74 2 关系1 一对一关系由关联条件 父表只有一条记录与子表只有一条记录相对应 2 一对多关系由关联条件 父表只有一条记录与子表多条记录相对应 3 多对一关系由关联条件 父表有多个记录与子表只有一条记录相对应 4 多对多关系由关联条件 父表有M条记录与子表有N条记录相对应 75 3 用界面进行关联单击窗口菜单 数据工作期或在常用工具栏中单击数据工作期按钮 打开数据工作期窗口 见下图 数据工作期 76 1 单击打开 选基本情况表 属性 打开工作区属性 修改 打开表设计器 选学号字段在索引下选升序 确定 在工作区属性对话框中的索引顺序中选学生 学号 单击字段筛选 打开字段选择器对话框 全部 确定 确定 此时回到数据工作期窗口 2 单击打开 选学习成绩表 属性 打开工作区属性 修改 打开表设计器 选学号字段在索引下选升序 确定 在工作区属性对话框中的索引顺序中选学习成绩 学号 单击字段筛选 打开字段选择器对话框 全部 确定 确定 此时回到数据工作期窗口 77 3 在别名框中选基本情况表 关系 在别名框中选学习成绩表 4 在命令窗口输入BROWFIELDS基本情况 学号 基本情况 姓名 学习成绩 高数 若要建立一对多关系进行以下步骤 5 在别名框中选学生表 一对多 打开创建一对多关系对话框 将学生成绩表移到选定别名列表框中 确定 即可 78 4 用命令建立关联格式 SETRELATIONTO INTO INTO ADDITIVE 功能 以当前表为父表为关联条件与别名1表为子表建立关联 以为关联条件与别名n为子表建立关联 说明 1 若无任何选项 将已建立的关联删除 2 ADDITIVE 子句是在建立关联时 保留以前建立的关联 79 例用命令建立关系的应用CLEARSELECT1USE学生2INDEXON学号TAGT1ADDISELECT2USE学生成绩INDEXON学号TAGT2ADDISELECT1SETRELATIONTO学号INTO学生成绩ADDITIVELIST学号 姓名 B 高数 B 英语 B 哲学BROWSEFIELDS学号 姓名 B 高数 B 英语 B 哲学SETRELATIONTOCLOSEALL 80 3 5数据库表的特性及使用 1 长表名 1 数据库表可具有长表名 最多可包含128个字符 能够更真实的反映数据表的内容 2 创建方式 1 表设计器2 命令格式 CREATETABLENAME 字段名字段类型 字段宽度 示例 OPENDATABASE教学管理CREATETABLE教材NAME全校99级学生使用教材 班级C 10 教材C 20 价格N 5 2 81 2 长字段名 1 适用于数据库表中的字段 可长达128个字符 自由表的字段名最多只能为10个字符 2 从数据库中移去一个数据表时 数据表的长字段名被截为前10个字符 3 当一个数据表与数据库相关联时 必须使用长字段名来引用该表中的字段 不能使用长度为10个字符的字段名来引用 4 在索引文件中也可以使用长字段名 但是 如果把用长字段名创建索引的表从数据库中移去时 该索引文件将不会工作 此时 需要删除此索引文件 并用短字段名重新建立索引文件 82 表设计器 的 字段注释 编辑区域中输入注释文本 给数据库表中的字段添加标题 可在 表设计器 显示 区域的 标题 文本框中输入标题 2 使用DBSETPROP 函数 格式1 DBSETPROP 数据表名 字段名 FIELD CAPTION 标题名 格式2 DBSETPROP 数据表名 字段名 FIELD COMMENT 注释内容 说明 函数返回值为逻辑值 如果添加成功 返回真值 示例 OPENDATABASE教学管理DBSETPROP 学生表 班级 FIELD CAPTION 全校99级的班级 3 给字段添加注释 83 用于输入指定字段的默认值 如性别字段默认值是 女 在新增一条记录就会显示出来 如果此学生性别为女 就直接取默认值从而提高输入的速度 4 字段的默认值 84 1 指定输入掩码就是定义字段中的值必须遵守的标点 空格和其他格式要求 2 设置方式 1 使用 表设计器 2 使用函数DBSETPROP 设置示例 DBSETPROP 学生表 电话 FIELD INPUTMASK 9999 9999 6 设置数据库表的有效规则 1 有效性规则 通过创建字段级和记录级规则 可以控制输入到数据库表的记录和字段中的数据 这些规则称为有效性规则1 字段级和记录级规则将把所输入的值与所定义的规则表达式进行比较 如果输入的值不满足规则要求 则拒绝该值 3 有效性规则只在数据库表中存在 4 如果从数据库中移去或删除一个表 所有属于该表的字段级和记录级规则都会从数据库中删除 5 输入掩码和定义字段格式 85 1 字段级规则 设置方式 1 表设计器 在 规则 文本框中输入表达式来建立字段的有效性规则 在 信息 文本框中 定制错误信息提醒用户 2 命令格式 CREATETABLE CHECK ERROR 或ALTERTABLEALTERCOLUM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年食品工程师面试题及食品加工含答案
- 2026年市场营销专员岗位发展规划及面试题含答案
- 2026年研发工程师专业技能考试题库
- 2026年音乐制作人岗位面试技巧与问题解析
- 2026年财会岗位考试及入职面试解析
- 2026年旅游顾问面试常见问题及答案
- 2026年通信行业工程师面试题及网络优化含答案
- 2026年北海市银海区财政局招聘编外用工人员备考题库完整参考答案详解
- 2026年教育科技企业行政助理招聘题集
- 2026年游戏公司工艺工程师招聘考核方向
- 统编版(2024)八年级上册历史新教材全册知识点复习提纲
- 水平定向钻施工技术应用与管理
- 风险金管理办法
- 校长在食堂从业人员培训会上的讲话
- (高清版)DBJ∕T 13-91-2025 《福建省房屋市政工程安全风险分级管控与隐患排查治理标准》
- 美育视域下先秦儒家乐教思想对舞蹈教育的当代价值研究
- 运输企业隐患排查奖惩制度
- 学堂在线 雨课堂 学堂云 工程伦理2.0 章节测试答案
- 生态旅游区建设场地地质灾害危险性评估报告
- 网络传播法规(自考14339)复习题库(含答案)
- 广东省江门市蓬江区2025年七年级上学期语文期末考试试卷及答案
评论
0/150
提交评论