Visual FoxPro数据库及其操作下_第1页
Visual FoxPro数据库及其操作下_第2页
Visual FoxPro数据库及其操作下_第3页
Visual FoxPro数据库及其操作下_第4页
Visual FoxPro数据库及其操作下_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

排序 排序 关键字 就是把表中的记录按照某个字段值的大小顺序重新排列 作为排序依据的字段 升序 Ascending 按照关键字从小到大的顺序进行 降序 Descending 按照关键字从大到小的顺序进行 排序 排序命令SORT 格式 SORTTOTableNameONFieldName1 A D C A D C ASCENDING DESCENDING FOR FIELDS 功能 对当前表按指定字段进行排序并将排序结果存入新表 TableName 排序后生成新表的表名 FieldName 为排序的字段 可在多个字段上进行排序 当为多个字段排序时 先按字段1的值 升或降序 排列 其值相同时 再按字段2的值 升或降序 排列 A D C A说明按升序排序 D说明按降序排序 C说明排序时不区分大小写字母 默认情况下为升序 FOR 参加排序所满足的条件 FIELDS 排序后表所包含的字段 例如 对自由表 学生表 STUD DBF 按出生日期降序排序 排序后的表名为 学生表 保留所有字段 USESTUDSORTTO学生表NO出生日期 DUSE学生表BROWSE例如 对自由表 学生表 STUD DBF 按成绩升序排序 排序后的表名为 学生表 保留学号 姓名 成绩字段 USESTUDSORTTO学生表NO成绩FIELDS学号 姓名 成绩USE学生表BROWSE 例如 对自由表 学生表 STUD DBF 按成绩降序排序 若成绩相同则按编号升序排序 排序后的表名为 学生表 USESTUDSORTTO学生表NO成绩 D 编号 AUSE学生表BROWSE 物理顺序 记录存储在表中的实际顺序 逻辑顺序 按照某个关键字与记录号之间建立的顺序 索引主要分为 主索引侯选索引唯一索引普通索引 索引 索引 主索引 主关键字能唯一确定记录的顺序 不允许在该字段中出现重复值 主索引仅适用于数据库表 一个数据表只能有一个主索引 自由表不能创建主索引 候选索引 候选索引和主索引一样要求字段值的唯一性 一个数据库表或自由表都可以建立多个候选索引 唯一索引 索引文件中每一个特定的关键字值只存储一次 忽略后面出现重复的记录 数据表或自由表可以有多个唯一索引 忽略重复的记录 普通索引 不要求字段值具有唯一性 即允许字段中出现重复值 可以建立多个普通索引 在表设计器中建立索引 单项索引是指索引表达式由一个字段构成 例如 给订货管理数据库中的仓库表按仓库号 升序 建立 主索引 索引名为 仓库号 索引表达式也为 仓库号 打开 订货管理 数据库USE仓库表单击 显示菜单 选择表设计器在 仓库号 字段的 索引 下拉框选择 升序 单击 索引选项卡 在索引 类型 中选择 主索引 单击确定即可 在表设计器中建立索引 复合字段索引是指索引表达式由多个字段构成 字段也可以是其它表 例如 给订货管理数据库中的职工表按职工号 升序 建立 侯选索引 索引名为 职工供应商号 复合索引表达式 职工号 供应商号 此题的 供应商号 来自 供应商表 打开 订货管理 数据库USE职工表单击 显示菜单 选择表设计器在 职工号 字段的 索引 下拉框选择 升序 单击 索引选项卡 在索引 类型 中选择 侯选索引 在索引名 键入 职工供应商号 单击索引表达式后的 按钮在 来源于表 下拉框 选择 职工表 在 字段 列表框 双击 职工号 在 数学 或 字符串 下拉框 选择加号 在 来源于表 下拉框 选择 供应商表 在 字段 列表框 双击 供应商号 单击确定即可 使用命令建立索引 格式 INDEXONTO TAG OF FOR COMPACT ASCENDING DESCENDING UNIQUE ADDITIVE 功能 对当前表文件按指定的关键字建立索引文件 使用命令建立索引选项说明 TO单索引名 建立的是 IDX索引文件 一般用于建立临时索引 当表关闭后再次打开 索引文件不随同时打开 必须使用相应的命令打开 TAG结构索引名 建立的是 CDX结构索引文件 COMPACT 压缩单项索引文件 复合索引文件自动压缩 ASCENDING 建立升序索引 DESCENDING 建立降序索引 UNIQUE 建立唯一索引 ADDITIVE 建立侯选索引 注意 使用命令只能建立普通索引 唯一索引或侯选索引 不能使用命令建立主索引 默认情况下建立的是普通升序索引 索引文件主要分为 IDX索引文件和 CDX索引文件索引扩展名为 IDX 是一种非结构单索引 用非默认名建立的索引文件扩展名为 CDX 是非结构复合索引与表同名的 CDX索引 是结构复合索引 使用命令建立索引 例如 对自由表 学生表 STUD DBF 生日 字段建立单项普通升序索引 索引名为 出生日期 索引表达式 生日 USESTUDINDEXON出生日期TAG出生日期例如 对自由表 学生表 STUD DBF 姓名 字段建立单项普通降序索引 索引名为 姓名 索引表达式 姓名 USESTUDINDEXON姓名TAG姓名例如 对自由表 学生表 STUD DBF 学号 字段建立复合唯一升序索引 索引名为 学号 索引表达式为 学号 姓名 USESTUDINDEXON学号 姓名TAG学号UNIQUE 打开 关闭索引文件 打开索引命令格式 SETINDEXTO 索引文件名 功能 打开当前表的一个或多个索引文件并确定主控索引文件 格式 USE 表文件名 INDEX 索引文件名 功能 打开表同时打开索引文件 关闭索引命令格式 SETINDEXTO功能 关闭当前索引文件 例如 对自由表 学生表 STUD DBF 姓名 字段建立单项普通降序索引 索引名为 姓名 索引表达式 姓名 索引文件类型为 IDX 在使用索引打开其索引 USESTUDINDEXON姓名TO姓名CLOSEALLUSESTUDSETINDEXTO姓名SETINDEXTO 设置当前索引 格式 SETORDERTO TAG ASCENDING DESCENDING 功能 设置当前索引并且可以重新指定当前索引的升序或降序 数值 表达式 按索引序号指定索引项 索引序号是指建立索引的先后顺序号 索引文件名 按索引名指定索引项 ASCENDING 升序 DESCENDING 降序 设置当前索引 例如 设置自由表 学生表 STUD DBF 中索引名为 姓名 的索引为当前索引项 并重新指定索引为升序 USESTUDSETORDERTOTAG姓名ASCENDINGSETORDERTO2 使用索引快速定位 格式 SEEKeExpression ORDERnIndexNumber TAGTagName ASCENDING DESCENDING 功能 在当前表中查询定位记录 eExpression eExpression的值必须是索引项或索引关键字的值 ORDERnIndexNumber 按索引序号索引定位 TAGTagName 按索引名索引定位 ASCENDING 升序 DESCENDING 降序 注意 此命令要求对eExpression所对应的字段名上必须有索引 例如 将学生表的记录指针定位在来源地区是湖北的记录上 USESTUDSEEK 湖北 ORDER来源地区 删除索引 格式 DELETETAGTagName1功能 删除当前表指定的索引 索引文件类型为 CDX 格式 DELETETAGALL功能 删除当前表的所有索引 索引文件类型为 CDX 例如 使用命令删除自由表 学生表 STUD DBF 中索引名为 出生日期 的索引 USESTUDDELETETAG出生日期例如 使用命令删除自由表 学生表 STUD DBF 中的所有索引 USESTUDDELETETAGALL 数据完整性 数据完整性是指保证数据正确的特性 数据完整性一般分为 实体完整性域完整性参照完整性 实体完整性 实体完整性是保证表中记录唯一的特性 即在一个表中不允许有重复的记录 在VisualFoxPro中利用主关键字或侯选关键字保证表中记录的唯一 所以在VisualFoxPro中利用主关键字或侯选关键字来说明实体完整性 在VisualFoxPro中将主关键字称为主索引 将侯选关键字称为侯选索引 域完整性 域完整性也称字段有效性规则 在插入或修改字段值时被激活 主要用于数据输入正确性的检查 字段有效性规则 规则 字段有效性规则在输入字段或改变字段值时才发生作用 信息 当用户输入的信息不能满足有效性规则时所给出提示信息 默认值 指创建记录时自动输入的字段值 根据字段的类型来确定默认值的类型 注意 规则 是逻辑表达式 信息 是字符串表达式 字段有效性规则不能对带有删除标记的记录生效 例如 设 订货管理 数据库中的职工表 职工的工资有效性规则在1000至3000元之间 当输入的职工工资不在此范围时给出出错信息 工资输入错误 职工的默认工资值是NULL 并追加一条新记录 查看新记录的工资的默认值否是 NULL 并修改为800元 是否出现错误提示信息 打开 订货管理 数据库选择职工表单击右键 修改 选择工资字段在工资字段最右边的按钮的单击 出现对号 表示允许该字段值可以取空值即NULL 在 规则 框中输入表达式 工资 1000 AND 工资 3000在 信息 框中输入表达式 工资输入错误 在 默认值 框中输入表达式 NULL单击确定即可单击显示菜单 浏览职工表单击显示菜单 追加方式 参照完整性 参照完整性的含义 当插入 删除或修改一个表中的数据时 通过参照引用相互联系的另一个表中的数据 来检查对表中数据操作是否正确 在使用参照完整性前 必须先建立表之间的联系 建立表之间的联系 例如 新建 订货管理 数据库 并分别依次添加仓库表 职工表 供应商表和订购单表 分别建立仓库和职工之间 职工和订购单之间 供应商和订购之间的一对多关系 并建立仓库表与职工表的参照完整性约束 约束规则 分别在 更新规则 删除规则 和 插入规则 选择 限制 选项 仓库表 按仓库号建立主索引 索引名为 仓库号 职工表 按职工号建立主索引 索引名为 职工号 并按仓库号建立普通索引 索引名为 仓库号 供应商表 按供应商号建立主索引 索引名为 供应商号 订购单表 按订购单号建立主索引 索引名为 订购单号 并按职工号建立普通索引 索引名为 职工号 供应商号建立普通索引 索引名为 供应商号 建立仓库表和职工表一对多的联系 在数据库设计器中用鼠标左键选中 仓库表中的主索引仓库号 保持按住鼠标左键 并拖动鼠标到 职工表的仓库号索引上 鼠标箭头会变成小矩形状 最后释放鼠标 依次类推建立职工表和订购单表一对多的联系 建立供应商表和订购单表一对多的联系 建立表之间的联系 修改或删除表之间的联系 修改表之间的联系 用鼠标选中 连线 连线 变粗单击鼠标右键选择 编辑关系 即可修改 删除表之间的联系 方法1 用鼠标选中 连线 连线 变粗单击鼠标右键选择 删除关系 即可删除 方法2 用鼠标选中 连线 连线 变粗按 Delete 键直接删除连线 设置参照完整性约束 在建立参照完整性之前必须先清理数据库 所谓清理数据库是物理删除数据库各个表中所有带有删除标记的记录 清楚数据库的方法 选中数据库设计器在 数据库 菜单 选择 清楚数据库 设置参照完整性约束 用鼠标选中 连线 连线 变粗单击鼠标右键选择 编辑参照完整性 出现参照完整性生成器 参照完整性 更新规则 更新规则更新规则的作用 当更新父表中的连接字段值时 如何处理子表中的记录 更新规则分为级联 若选择 级联 则用新的连接字段值自动修改子表中的相关记录 限制 若选择 限制 若子表中有相关的记录 则禁止修改父表中的连接字段值 忽略 若选择 忽略 在不作参照完整性检查 可以随意更新父表记录的连接字段值 参照完整性 删除规则 删除规则删除规则的作用 当删除父表记录时 如何处理子表中相关的记录 删除规则分为级联 若选择 级联 则自动删除子表中有关的记录 限制 若选择 限制 若子表中有关的记录 则禁止修改删除父表中的记录 忽略 若选择 忽略 则不作参照完整性检查 即删除父表的记录时与子表无关 参照完整性 插入规则 插入规则插入规则的作用 当插入子表记录时 是否进行参照完整性检查 插入规则分为限制 若选择 限制 若父表中没有相匹配的连接字段值则禁止插入子表记录 忽略 若选择 忽略 则不作参照完整性检查 即可以随意插入子表记录 自由表建立 在项目管理器建立自由表打开项目 选择 全部 选项卡单击 数据 前的加号 选择 自由表 单击 新建 即可建立 通过 新建 菜单建立自由表单击 文件 菜单 选择 新建 选择 表 即可建立自由表 数据库表与自由的区别 数据库表可以建立主索引 数据库表可以为字段指定标题和添加注释 数据库表可以为字段指定格式和掩码 数据库表可以使用字段有效性规则 数据库表可以使用参照完整性和建立永久表间联系 以上自由表均不可以使用 将自由表添加到数据库中 例如 将STUD表添加到学生管理数据库中 打开 学生管理 数据库在 学生管理 数据库设计器中单击右键 选择 添加表 在 打开 对话框中选择 STUD DBF使用命令向数据库添加自由表 格式 ADDTABLETableName NAMElongTableName 功能 将自由表添加到当前数据库中 TableName 要添加到当前数据库的自由表表名 NAMElongTableName 给表指定一个长名 最多可由128个字符组成 注意 一个自由表只能属于一个数据库 不能将一个自由表添加到多个数据库中 例 使用命令向 人事管理 数据库添加人事表 部门表和工资表 打开 人事管理 数据库ADDTABLE人事表ADDTABLE工资表ADDTABLE部门表NAMEBMUSEBM 使用部门表别名BM打开表BROWSE 从数据库中移去表 例如 将STUD表移去到学生管理数据库中 打开 学生管理 数据库选中STUD表单击右键 选择 删除表 选择 移去 即可 使用命令向数据库移去表 REMOVETABLETableName DELETE RECYCLE TableName 将从当前数据库移去的表的表明 DELETE 从当前数据库移去表并且从磁盘上删除 RECYCLE 从当前数据库移去表到Windows回收站中 并不立即删除 例 使用命令将 人事管理 数据库中的人事表 部门表和工资表移去 打开 人事管理 数据库REMOVETABLE人事表REMOVETABLE工资表REMOVETABLE部门表 多表同时使用命令 多工作区概念在每个工作区中可以打开一个表 即在一个工作区中不能同时打开多个表 如果在同一时刻打开多个表 则需要在不同的工作区中打开不同的表即可 指定工作区命令格式 SELECT 功能 指定当前工作区 工作区号 工作区号的取值范围从0 32767任何一个数字 当为0时 表示尚未使用工作区 格式 USE IN ALIAS 功能 打开表同时指定工作区并定义表别名 ALIAS 为表指定别名 注意 表默认为两个别名 表名和工作区所对应的别名 系统定义前10个工作区所指定的默认别名分别是 字母A到J或数字1到10 后面的工作区别名从W11到W32767 多表同时使用命令 例如 分别在第1 2和3工作区分别打开仓库表 职工表和供应商表 并选择当前工作区 使用SELECT命令 SELECT1USE仓库表SELECT2USE职工表SELECT3USE供应商表若要到第1个工作区操作仓库表 则使用以下命令均可 SELECT仓库表SELECT1 例如 分别在第1 2和3工作区分别打开仓库表 职工表和供应商表 并选择当前工作区 使用USE命令 USE仓库表IN1USE职工表INBUSE供应商表IN3ALIASGYSSELECT2使用职工表LIST在屏幕显示职工表的所有记录SELECTGYSLIST在屏幕显示供应商表的所有记录 使用不同工作区表中记录 格式 INnWorkArea cTableAlias功能 在一个工作区使用另一个工作区中的表 nWorkArea 工作区号cTableAlias 表名或表别名 可以在一个工作区中直接利用表名或表别名来引用另一个表中的数据 圆点方法 表名 字段名箭头方法 表名 字段名 例如 分别在第

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论