




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第三章数据库及其操作一讲 创建数据库创建数据库文件与数据库文件相关的命令建立数据表建立数据表修改表结构与表操作相关的命令 2 创建数据库 1 单击 文件 新建 命令 在 新建 对话框中单击 数据库 单击 确定 2 在项目管理器中选择数据选项卡 选定数据库图标后单击 新建 按钮 在创建窗口选定保存位置 键入数据库名如 学籍管理 单击 保存 此时出现数据库设计器窗口 并且所有打开的数据库都可以通过工具栏中的下拉列表选择 创建新数据库 3 与数据库相关的命令 一 创建 CREATEDATABASE数据库名 省略将自动显示创建对话框 注 若没有设置默认路径 写清全路径 例 CREATEDATABASEd xjgl dbcCREATEDATABASExjgl dbc 区别 打开数据库有两种方式 1 独占方式打开 除了打开数据库的用户可以访问该数据库其它用户将不能访问 EXCLUSIVE2 共享方式打开 允许多人同时访问该数据库 SHARED不使用命令的情况下即在打开对话框的下方选中Openexclusive 4 与数据库相关的命令 二 打开 OPENDATABASE数据库名 打开方式 NOUPDATE 删除 DELETEDATABASE数据库名例 DELETEDATABASExjgl dbc 独占 EXCLUSIVE共享 SHARED 是否可以修改打开的数据库 例 OPENDATABASEc xjgl dbc 关闭 CLOSEDATABASE例 CLOSEDATABASESALL ALL关闭所有打开的数据库 之前要先关闭哦 修改 MODIFYDATABASE数据库名例 MODIFYDATABASE此时将出现 5 与数据库相关的命令 三 设置当前数据库 SETDATABASETO数据库名当打开多个数据库时某时刻只能有一个数据库成为当前数据库 例 SETDATABASETOc xjgl 小结 与数据库相关的六条命令完成了对数据库的简单操作 需要注意的是 在非默认情况下 所有文件应该写明全路径 6 创建自由表 自由表是与数据库无关联的表 它的建立不需要数据库作容器 所以在建立之前要关闭打开的数据库 创建自由表 1 在项目管理器中单击 自由表 单击 新建 2 在关闭数据库的情况下单击 文件 新建 自由表不具备数据库表的所有属性 但两表可进行相互转化 7 添加和移去表 在 项目管理器 中 点击要操作的数据库中的 表 选项 单击 添加 移去 在 数据库设计器 中 点击工具栏上的 添加表 移去表 一个表只能添加到一个数据库中 当需要把字段名的长度大于10个字符的数据库表变为自由表时 该字段名的长度将自动被截取前十个字符 8 修改表结构 1 文件 打开 选择文件类型为表 dbf 单击需要修改的表 在 显示 菜单下选择 表设计器 2 打开项目管理器找到需要修改的表 点击右边的 修改 3 若是数据库表则利用数据库工具栏上的 修改表 或者右键点击数据库设计器所包含的表的标题栏 在出现的快捷菜单上选择 修改 在表设计器中进行 9 与表操作相关的命令 一 建立表文件 CREATETABLE数据表名 FREE 字段名字段类型 字段长度 精度 说明 若使用 FREE 参数 可在任何情况下建立自由表 不要用A J单个字母作为表文件名 它们是工作区的别名 creattableabcfree 姓名C 8 成绩N 7 怎样建立数据表 例 建立一自由表abc dbf 其中有两个字段分别是姓名 字符型 长度8和成绩 数值型 长度7 10 与表操作相关的命令 二 将自由表加入数据库中 ADDTABLE表文件名 说明 加入自由表之前要保证数据库是打开的 打开数据表 USE表文件名USE学生表 说明 打开的数据表在状态栏中可以看到相关信息 显示表结构 LIST DISPLAYSTRUCTURE 说明 显示打开的数据表结构 LISTSTRUCTURE是列表显示方式 DISPSTRUCTURE是分页显示方式 例 在 学籍管理 DBC 数据库中加入数据表 选课登记 dbf OPENDATABASE学籍管理ADDTABLE选课登记 11 与表操作相关的命令 三 修改表结构 MODIFYSTRUCTURE 说明 该命令是打开数据表设计器 显示当前的数据表结构 关闭数据表 USE 说明 关闭当前数据表 删除数据表 DELETEFILE表文件名 说明 表文件名 一定要写明表后缀名 dbf 使用该命令时一定要确保要删除的文件是关闭的 12 数据表的复制 一张数据表既有结构又有数据 记录 因此学习数据表复制就有多种情况 新表包含的字段名及顺序 筛选所满足的条件的记录 ALL NEXT REST RECORD USE学生档案 打开原数据表COPYTOb1FIELDS学号 姓名 出生年月 是否贷款FOR性别 男 新表中包含原表的四个字段并且只复制男生的纪录USEb1 打开复制的数据表LIST 显示数据 一 结构和记录 COPYTO表文件名 范围 FIELDS FOR WHILE 13 与表操作相关的命令 三 二 单独复制文件结构 COPYSTRUCTURETO表文件名 FIELDS USE学生档案COPYSTRUCTURETOb2FIELDS学号 姓名 出生地 性别USEb2LISTSTRUCTURE 新表包含的字段名及顺序 例 把学生档案表中学号 姓名 综合测评 出生地 性别五个字段的相关结构拷贝到b2表中 不要求有数据 14 与表操作相关的命令 三 三 结构文件建立 COPYTO表结构文件名STRUCTUREEXTENDED USE学生档案COPYTOjgwjSTRUCTUREEXTENDEDUSEjgwjLISTSTRUCTURELIST 有数据显示吗 例 将学生档案的表结构复制成一个特殊的表文件 说明 文件的结构由系统固定的模式自动生成文件的记录由原文件的结构生成 15 第二章二讲 多个工作区的概念显示记录增加记录定位记录与记录指针有关的函数修改和删除记录搜索记录筛选记录windows下表记录的操作 16 工作区 概念 是表的临时存储区域 在VFP中默认情况下打开一张表就打开一个工作区 打开多张表就需要有多个工作区 VFP同时最多可开辟32767个工作区 命名 工作区使用序号1 32767或别名表示 并且最初的1 10序号可以使用A J代替 系统初始状态的当前工作区是1号工作区 操作 要查看工作区或者使用别名打开表 就需要通过 数据工作期 对话框来完成 窗口菜单下的数据工作期 或工具栏上 打开 找到需要数据表 重复操所即可打开多张工作表 若是同张表系统自动用其别名 在工作区中选定工作区的表指定别名等操所使用命令会更简洁 17 工作区相关的命令 一 指定当前工作区 SELECT工作区序号 工作区别名 说明 某时刻只能有一个工作区为当前活动的 其中SELECT0用于打开当前空闲的最低序号工作区 SELECTAUSE学生表IN1USE学生表USEINJUSEIN1 在工作区中打开表 USE数据库名 数据表名IN工作区号 说明 1 省略 IN工作区号 默认选择当前工作区 在使用当前工作区前系统将自动关闭当前已经打开的表 该表与打开的不能是同一张表 2 在当前数据库下打开表或者打开自由表 数据库名 可以省略 关闭工作区中的表 USEIN工作区序号 18 工作区相关的命令 二 为工作区指定别名 SELECT工作区号USE表名ALIAS别名 说明 在有些情况下 既可用表名又可用别名代替工作区序号 该命令设定工作区的别名 SELECT2SELECT3USE学生表USE课程表ALIASKCBSELECT学生表SELECTKCB 以表名代替工作区名 以别名代替工作区名 不同工作区打开同一张表 USE表名AGAIN ALIAS别名 说明 省略 ALIAS别名 则使用系统默认的别名 SELECT1USE学生表SELECT2USE学生表AGAINALIASXSB 在2号工作区以XSB别名打开表SELECT3USE学生档案AGAIN 在3号工作区以默认别名打开表 19 记录显示方式 浏览 Browse 方式 一 菜单操作 文件 菜单 打开 命令 选定文件打开 显示 菜单 浏览 命令 可以在项目管理器中直接点击 浏览 按钮 二 命令方式BROWSE FIELDS字段列表 Scope FOR逻辑表达 WHILE逻辑表达式2 需列出字段 ALL NEXT REST RECORD 例 BROWSEFIELDS学号 姓名 20 记录显示方式 编辑 Edit 方式 一 菜单操作 文件 菜单 打开 命令 选定文件打开 显示 菜单 浏览 命令 编辑 命令 二 命令方式EDIT FIELDS字段列表 Scope FOR逻辑表达1 WHILE逻辑表达式2 例 EDITFIELDS学号 姓名FOR性别 女 21 增加记录 键盘增加 1 菜单操作方法 文件 菜单 打开 命令 选定文件打开 显示 菜单 浏览 命令 或者 编辑 打开输入表界面 表 菜单 追加新记录 命令 一次加一条记录 显示 菜单 追加模式 命令 一次加多条记录 2 输入记录的注意事项 回车就可以将光标移到下一字段 逻辑型只有T Y F N4个字母的其中之一 不区分大小写 日期型数据必须与系统的日期格式相符 如果在新记录第一个字段的首字符处按回车键或者在数据输入过程中按CTRL W 则输入数据存盘并返回命令窗口 按ESC或者CTRL Q则放弃本次输入而返回 输入记录 22 与增加记录相关的命令 APPEND命令 APPEND BLANK FROM 省略出现编辑窗口 文件追加方式 例 在学生档案表的最后增加一条空记录 USE学生档案APPENDBLANK例 将学生档案2的记录追加到学生档案中 USE学生档案APPENDFROM学生档案2 23 INSERT命令格式1 INSERTINTO表名 字段名1 字段名2 VALUES 表达式1 表达式2 格式2 INSERTINTO表名FROMARRAY数组名 MEMVAR 格式1是向表中添加一条记录 其中 字段名1 字段名2 和 表达式1 表达式2 一一对应 用于指定需要添加字段值的字段名 没有指定的字段将在记录输入时保持为空 格式2中的 FROMARRAY数组名 是将一个数组中的元素添加到表中 数组的第一个元素成为表中第一个字段的值 数组的第二个元素成为表中第二个字段的值 依次类推 FROMMEMVAR 是将与表中字段名同名的内存变量的值作为记录添加到表中 如果表中的某些字段没有同名的内存变量 这些字段的值将保持为空 例 向学生档案表中添加一条记录 学号 44444 性别 男 其余字段值为空 USE学生档案INSERTINTO学生档案 学号 性别 VALU 44444 男 例 使用INSERTINTO表名FROMMEMVAR命令向学生档案表添加一条记录 USE学生档案请同学们自己练习有FROMARRAY子句的命令姓名 赵明 出生年月 1999 12 12 是否贷款 T 学号 123456 INSERTINTO学生档案FROMMEMVARLIST 24 定位记录 一 记录指针 VFP为每个打开的表设置个内部使用的记录指针 用于指向正在被操作的记录 记录指针的作用是标识表的当前记录 当需要操作某条记录时就需将记录指针定位该记录上 定位记录 菜单 打开表 表 菜单 转到记录 命令 选择需要的命令即可 25 定位记录 二 G0记录号 TOP BOTTOM IN工作区序号 IN工作区别名 说明 1 移动到绝对位置的方式移动指针 2 记录号 指定转到的记录号 指定记录位置超过表的范围时 系统会给出警告信息 TOP或BOTTOM分别移动记录指针到文件头或文件尾 无索引时GO1与GOTOP GORECCOUNT 和GOBOTTOM 的结果相同 若使用索引GOTOP和GOBOTTOM就会把记录指针定位到索引文件的第一条记录和最后一条记录上 3 IN工作区序号 IN工作区别名 指定工作区所在的表的记录 4 GOTO命令的使用方法和功能与GO命令相同 SKIP 记录数 IN工作区序号 工作区别名 说明 1 相对于当前记录向上或向下移动指针 2 记录数 记录指针每次移动的步长 即从当前记录到下一条需要移到的记录之间的记录数 负数表示记录指针反向移动 默认步长为1 指定记录位置超过表的范围时 默认为第一条记录 BOF 或文件尾 EOF 例 USE学生档案GO3 移动到物理顺序的第三条记录SKIP 1 移动到第二条记录SKIP3 移动到第五条记录 26 与记录指针有关的函数 1 RECNO函数 格式 RECNO 工作区序号 工作区别名 作用 返回当前记录号2 RECOUNT函数 格式 RECOUNT 工作区序号 工作区别名 作用 返回当前表的记录个数 3 BOF函数 格式 BOF 工作区序号 工作区别名 作用 判断记录指针是否指向文件头4 EOF函数 格式 EOF 工作区序号 工作区别名 作用 判断记录指针是否指向文件尾如果是返回 T 否则返回 F 文件头 第一条纪录之前 文件尾 最后记录之后 指针在这四个位置时recno bof eof 各返回什么值 USE学生档案 RECNO BOF SKIP 1 RECNO BOF GOBOTTOM RECNO EOF SKIP RECNO RECOUNT 27 修改记录 在浏览或编辑方式下 用DEL键或退格键删除不需要的信息 再输入新的信息来直接对记录进行编辑和修改 用REPLACE命令 格式 REPLACE字段名1WITH表达式l ADDITIVE 字段名2WITH表达式2 ADDITIVE Scope FOR逻辑表达式1 WHILE逻辑表达式2 说明 1 ADDITIVE 指在更新数据时若该字段为备注字段 则将更新值追加到备注字段末尾 而不是改变整个字段 2 Scope 省略则默认范围为当前记录 NEXT1 USE学生档案REPLACE奖惩WITH 2000年获新生入学奖学金 ADDITIVEREPLACEALL高数WITH高数 10 计算机WITH计算机 10FOR 性别 女 use学生成绩 REPLACEALL总分WITH高数 英语 计算机 APPENGBLANKREPLACE学号WITH 2004100217 高数WITH88 英语WITH92 28 删除记录 分类 逻辑删除和物理删除 概念 逻辑删除是指将暂时不用的记录打上删除标记 这些记录在需要时还可以恢复使用 方法 较少的或无联系的记录 浏览 方式打开表 单击该记录左边的空格框 变为黑色 逻辑删除 单击黑色标记 恢复记录 大量或有关联的记录 浏览 打开表 单击 表 菜单 删除记录 命令 单击 删除 单击 表 菜单 恢复记录 命令 单击 恢复 概念 物理删除是指将打上删除标记的记录从数据表中永久删除且无法恢复使用 方法 浏览 独占打开表 单击 表 菜单 彻底删除 命令 所有打上逻辑删除标记的记录从磁盘上彻底删除 29 删除记录的命令 逻辑删除 DELETE Scope FOR逻辑表达式l WHILE逻辑表达式2 说明 删除记录前的 为删除标志 Scope 省略默认是当前记录 NEXT1 取消删除 RECALL Scope FOR逻辑表达式l WHILE逻辑表达式2 物理删除 PACK 说明 永久性地删除当前表中所有打上删除标志的记录 删除所有记录 ZAP IN工作区序号 工作区别名 使用一定要慎重 DELETEALLPACK 例 USE学生档案DELETESKIP3DELETELISTBROWSE 30 搜索记录 一 菜单方式 打开表 编辑 菜单 查找 命令 输入查找内容 单击 查找下一个 二 命令方式 定位 LOCATE FOR逻辑表达式1 Scope WHILE逻辑表达式2 说明 搜索并返回表中第1个符合条件的记录 只是找记录 不显示记录 继续查找CONTINUE 说明 继续上一个LOCATE命令搜索合适的记录 它重复执行到超出表的范围 或LOCATE命令中Scope参数指定的范围 例 USE学生档案LOCATEFOR性别 女 DISPLAYCONTINUEDISPLAY 31 筛选记录 命令 SETFILTERTO 逻辑表达式 IN工作区序号 工作区别名 说明 过滤当前表中符合条件的所有记录 SETFILTERTO 说明 关闭当前表中设置的过滤条件 FILTER IN工作区序号 工作区别名 说明 返回选中工作区的过滤条件 例 USE学生档案SETFILTERTO性别 女 LIST 显示所有女同学的记录 当前过滤表达式为 FILTER 结果为 当前过滤表达式为 性别 女 SETFILTERTO 关闭过滤条件 32 索引的概念及分类在表设计器中建立索引索引文件类型与索引有关的命令表记录的搜索命令表间关系的分类表间关系的建立表间关系的修改与删除 第二章三讲 33 索引的概念 1 表记录的存储 输出等按记录的输入顺序改变输出顺序排序索引 改变物理顺序 改变逻辑顺序 2 记录的物理顺序与逻辑顺序物理顺序 记录在磁盘中的存储顺序逻辑顺序 按某个关键字 或表达式 的值建立起来的记录顺序 索引 不改变物理顺序 所有关键字按升 降 排列 每个值对应原文件的一个记录号 确定记录的逻辑顺序 索引文件 其扩展名为 IDX或 CDX 34 索引分类 根据关键字字段 用来确定索引顺序的字段 可以建立四种类型的索引 主索引 候选索引 唯一索引和普通索引 主索引是指关键字段或索引表达式中不允许出现重复值的索引 一个表只能创建一个主索引 不能给自由表建立主索引 候选索引与主索引的特性相同 在数据表和自由表中均可以为每个表建立多个候选索引 惟一索引惟一索引文件只存储数据表中第一次出现的重复记录值 而忽略第二次或以后重复出现的记录 在一个表中可以建立多个惟一索引 普通索引可以决定记录的处理顺序 它允许字段值重复 并且在一个表中可以有多个普通索引 35 决定索引类型时一般应遵循的原则为 为了提高显示 查询 打印的速度 应使用普通索引 候选索引或主索引 为了控制字段的重复值或者对记录进行排序 对数据表使用主索引或候选索引 对自由表使用候选索引 36 索引文件类型 非结构复合索引复合索引 扩展名CDX 结构复合索引索引单一索引 扩展名IDX 建立时 用户单独为其命名 建立时 用户未单独为其命名 需使用单独命令打开 关闭 与表同时打开 关闭 含多个索引 建立时 用户单独为其命名 需使用单独命令打开 关闭 37 表设计器中建立索引 索引 选项卡 按钮排序列索引名列类型列表达式列筛选列插入按钮删除按钮 如果要按已经排序的字段浏览 则继续以下操作 建立完索引 打开表 表 菜单 属性 命令 工作区属性 对话框 在 索引顺序 中选择 学生成绩 综合测评 按 确定 38 建立索引文件或增加索引标识命令 INDEXON索引关键字TO单索引文件名 TAG索引标识名 FOR逻辑表达式 ASCENDING DESCENDING 1 为 学生表 表建立单一索引文件 索引关键字为 学号 索引文件名为 xh USE学生表INDEXON学号TOxh 该文件的后缀名 idx 2 为 学生 表建立复合索引 自定义文件名称和标记名称 USE学生表INDEXON学号TAGxh1 建立结构化复合索引文件 索引文件名为 学生档案 cdx 索引标识为xh1 INDEXON学号TAGxhOFxh2 建立非结构化复合索引文件 名字为 xh cdx 索引标识为xh2 39 建立索引 1建立索引总结 单一索引 INDEXONTO 结构复合索引 INDEXONTAG 非结构复合索引 INDEXONTAGOF 40 索引的使用 一个表可以有多个索引文件 同一个复合索引文件可以包含多个索引标识 但某一时刻只有一个索引文件起作用 主控索引文件 在复合索引文件中只有一个索引标识起作用 主控索引 1 打开索引文件结构化复合索引在打开表的同时自动打开 但是单一索引和非结构化复合索引就需要设置打开命令 USE表名INDEX索引名 SETINDEXTO索引列表 ASCENDING DESCENOING ADDITIVE 2 关闭索引文件关闭数据库或者数据表 与表相关的索引文件均被关闭 关闭除结构化复合索引以的外其它索引文件命令如下 SETINDEXTO CLOSEINDEX 例 SETINDEXTOxh xh2CLOSEINDEX 41 索引的使用 3 确定主控索引 SETORDERTO 主控索引号 独立索引文件名 TAG标记名称 OF复合索引文件名 指定为主控索引文件 说明 主控索引号 是系统分配的一种有序的编号 特别不容易记清 建议使用索引名 例如 将结构索引文件中的xh设置为当前索引 SETORDERTOTAGxh 42 4 删除索引 DELETETAG标记名称 OF非结构化复合索引文件名 DELETEFILE索引文件名 例如 DELETETAGXH1DELETEFILExh idx 43 排序 说明 1 多重排序 先按字段1排序 字段1的值相同 再按字段2 2 缺省 SCOPE 对所有记录 3 FIELDS子句指定新表的字段构成 默认为全部字段 排序就是根据表的某些字段重排记录 产生新表 原文件不变 SORTTO新表文件名ON字段名1 A D C 字段名2 A D C SCOPE FOR逻辑表达式1 WHILE逻辑表达式2 FIELDS字段列表 升序 降序 不区分大小写 产生的新文件是关闭的 例 将学生表 dbf按姓名降序排列 当姓名相同时 按学号的升序排列 新表只包含学号 姓名 和专业 USE学生表SORTTOxspxON姓名 D 学号 AFIELDS学号 姓名 出生日期 44 索引查询命令 索引查询用二分法算法来实现 速度快 但需事先对表进行索引 1 SEEK表达式2 FIND字符串 常数 说明 1和2用法基本相同 但FIND后的表达式必须为字符串 若FIND后是内存变量 则该变量前必须加宏替换符 命令都是找到第一个就停止查找 并将指针指向该记录 例 xh 990402 USE学生表INDEXON学号TO学号 建立独立索引文件 学号 idx SETORDERTO学号 设置 学号 为主控索
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版酒店食堂档口租赁及食材供应合同范本
- 2025年智能安防系统进场验收与运营管理合同
- 2025企业合作协议范本
- 2025年合同签订权限差异化分级授权机制
- 2025煤炭购销合同样式模板
- 2025年处理合同争议的律师函标准模板示例
- 2025机械设备买卖合同范本
- 2025《FIDIC》施工合同条件在工程项目合同管理中的运用
- 2025合同授权委托书的范本
- 高中英语语法专题:情态动词的用法与区别教案
- 新生儿气管导管滑脱的应急预案及处理流程
- 建筑模型设计与制作(第三版)
- 部编版一年级语文上册全册教案(表格)
- 商品精修教案项目5服装精修
- 小升初简历模板2020免费
- 19-雾在哪里ppt市公开课金奖市赛课一等奖课件
- 金融统计分析教材课件
- 《社会主义核心价值观》优秀课件
- DDI定向井难度系数
- 河南省家庭经济困难学生认定申请表
- 电催化精品课件
评论
0/150
提交评论