第三章表的使用_第1页
第三章表的使用_第2页
第三章表的使用_第3页
第三章表的使用_第4页
第三章表的使用_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

第三章 表的使用 主要内容 表结构的创建和使用表记录的编辑修改表的使用表的索引建立表之间的临时关系 第一节表结构的创建和使用 1 表的相关概念2 创建表结构3 表结构的修改 3 1 1表的相关概念 数据表即一张二维表 简称表 Table 表中的一列为字段 Field 表中的一行为记录 Record 表分为数据库表和自由表两种 数据库表比自由表功能强表文件的扩展名为 dbf fpt cdx 字段的基本属性1 字段名 FieldName 见名知义 不能同名2 数据类型 Type 11种C 字符型N 数值形D 日期型L 逻辑型M 备注型G 通用型Y 货币型I 整型F 浮点型B 双精度型T 日期时间型3 宽度 Width 以下类型宽度固定 货币型 日期型 日期时间型 双精度型 8字节整型 备注型 备注型 二进制 通用型 4字节逻辑型 1字节 4 小数位数 Decimal 有小数的字段 数值型 浮点型 双精度型字段宽度 整数部分宽度 小数点1位 小数位宽度整数部分宽度可以为05 空值支持 Null 空值是用来标识一个字段 没有值 的标志空值表示没有任何值或没有确定值空值不等同于数值0 空字符串或逻辑 假 用函数ISNULL 测试空值 表中用Ctrl 0输入空值 3 1 2创建表结构 使用表设计器来创建表结构 1 打开 表设计器 文件 新建 表 新建文件 输表名 保存项目管理器 自由表 新建 新建表 输表名 保存 表包含在项目管理器中 使用SQL命令创建表结构CREATETABLE SQL命令 2 在 表设计器 中创建表结构 格式 CREATETABLE DBF表文件名 字段名1类型 宽度 小数位数 字段名2类型 宽度 小数位数 例 创建学生表STU2CREATETABLESTU2 SNOC 6 SNAMEC 8 PHOTOG 3 1 3表结构的修改 1 使用表设计器修改表结构方法1 文件菜单打开文件 独占方式 显示菜单启动表设计器方法2 项目管理器 选定表 修改方法3 USEXSMODIFYSTRUCTURE方法4 浏览 表 属性 修改 方法5 窗口 数据工作期 属性 修改 2 使用SQL命令修改表结构ALTERTABLE SQL命令格式 ALTERTABLE表名字段处理子句 添加字段 ADD COLUMN 子句例 教师表添加WAGE字段ALTERTABLEJSADDCOLUMNWAGEN 10 重命名字段 RENAME COLUMN 子句例 教师表WAGE字段重命名为GZALTERTABLEJSRENAMEWAGETOGZ删除字段 DROP COLUMN 子句例 删除教师表GZ字段ALTERTABLEJSDROPCOLUMNGZ修改字段类型 宽度 ALTER COLUMN 子句例 修改教师表GH字段的宽度为C型8字节宽度ALTERTABLEJSALTERGHC 8 第二节表记录的编辑修改 1 追加记录2 表的浏览3 定位记录4 修改记录5 删除记录6 筛选记录与字段 3 2 1追加记录 1 浏览窗口 方法一 立即输入记录方法二 显示 追加方式方法三 表 追加新记录2 命令 a INSERT SQL命令INSERTINTO表名 字段1 字段2 VALUES 表达式1 表达式2 位置一致 INSERTINTOJS GH XM XB VALUE A0008 王勇 男 3 从其它数据表中追加纪录菜单 表 追加记录命令 APPENDFROM数据文件 文件类型 文件类型 xlsxl5sdfdelimited等 b APPEND BLANK APPEND弹出编辑窗口 在当前已打开表的末尾追加一条或多条记录 APPENDBLANK不弹出编辑窗口 在表末尾追加一条空白记录 二 记录的浏览1 菜单方式打开表文件 显示 浏览项目管理器 选定某个表 浏览2 命令方式BROWSE 字段名子句 条件子句 LIST DISPLAY 范围 表达式列表子句 条件子句 TOPRINT OFF browseBrowsefieldsgh xm xbBrowsefieldsgh xm xbforxb 男 关于条件子句中的表达式 算术 关系 逻辑 notandor例如 年龄 40男研究生nl 40andxb 男 andxl 研究生 All recordn next rest 解释 范围 ALL当前数据表中的所有记录REST当前记录开始直到表尾的所有记录NEXTn表示从当前记录起的连续n条记录RECORDn表示指定记录号为n的一条记录 条件子句有 FOR条件表达式表示对所有满足条件的记录处理WHILE条件表达式表示当满足条件时处理记录 若条件不满足时立即停止处理记录 如何定制浏览窗口 重新安排列的位置 拖动改变列的宽度 拖动显示或隐藏表格线 显示 网格线把浏览窗口分为两个窗格 左下角拖动查看同一表中的两个不同区域 各自移动同时在浏览和编辑方式下查看同一记录两个窗格间的链接 表 链接分区 3 2 3记录的定位 表文件示意图及记录指针标志记录的定位方式记录定为实现 1 表文件示意图及记录指针的标志 开始标志函数BOF 当前记录函数RECNO 结束标志函数EOF 记录指针 记录开始标志 记录结束标志 当前记录 2 记录的定位方式 1 绝对定位go2 相对定位skip3 条件定位 gotopgobottomgo10 skip1skip 1 Locatefor条件Continue 例1假设xs表有13条记录 先后执行以下命令 bof eof recno usexsff1 打开 skip 1tf1skip 1出错gobottff13skipft14skip出错 例2 Usexsgo5skip 2skip 3locatefor 1574 3 记录定位的实现界面方式 表 转到记录 记录号 绝对定位Gon定位 条件定位Locatefor条件作用范围 all next record rest for命令方式绝对定位 GonGoTOP BOTTOM相对定位 Skip n条件定位 LocateFor条件Continue 3 2 4记录的修改 1 在浏览窗口中修改EDIT CHANGE BROWSE项目管理器 浏览例 修改xs表中第5条记录usexseditrecord5 2 批量记录的修改 1 界面方式 表 替换字段 字段条件 2 命令方式 UPDATE SQL命令 表不必打开 UPDATE表名 SET字段1 表达式1 字段2 表达式2 WHERE条件表达式 例 把teacher表中所有工资不满2000的教师的工龄加100UPDATEteacherSETwage wage 100WHEREwage 2000 例 把teacher表中所有工资不满2000的教师的工龄加100USEJSREPLACEwageWITHwage 100FORwage 2000 REPLACE命令REPLACE 范围 字段1WITH表达式1 字段2WITH表达式2 FOR条件表达式 3 2 5记录的删除 目的 节省时空 删除无用记录 删除与恢复操作 1 标记要删除的记录 逻辑删除 方法1 浏览窗口 左边小方框白色 黑色方法2 表 删除记录 方法3 DELETE 范围 FOR条件表达式 方法4 DELETE SQL命令 DELETEFROM表名 WHERE过滤条件表达式 2 彻底删除 物理删除 界面操作 表 彻底删除 命令 PACK 独占 命令 ZAP deleteall pack 独占 例 删除教师表中年龄在60岁以上的记deletefromjswhereyear date year js csrq 3 恢复带删除标记的记录方法1 小方框黑 白方法2 表 恢复记录 方法3 RECALL 范围 FOR条件表达式 例 recallrecallallrecallallforxb 男 这里的all可省 说明 缺省范围 当前记录 全部记录 4 对带删除标记记录的访问 1 测试记录的删除标记Delete 2 控制对带删除标记记录的访问SetDeletedOn Off 实验 先删除若干记录 逻辑删除 LIST 默认为OFF SETDELETEDONLIST 3 2 6筛选记录 界面 表 属性 数据过滤器 例 找出所有gl小于10年的教师命令SETFILTERTOSETFILTERTO例 USEXSSETFILTERTOXB 女 注意 是隐藏记录而非删除记录与FOR子句不同对SELECT SQL DELETE SQL UPDATE SQL命令无效 3 2 7筛选字段 界面操作 表 属性 字段筛选命令操作 SETFIELDSTO字段名列表SETFIELDON OFF 第三节表的使用 1 工作区2 打开表和关闭表3 独占和共享4 数据缓存 1 概念工作区 用以标识一张打开的表的区域一个工作区在某一时刻只能打开一张表工作区中打开的表都有一个别名USEXS 默认为1号 LISTUSEJS XS自动关闭 LIST 3 3 1工作区 可以同时在多个工作区中打开多张表选择当前工作区命令 SELECT区号 别名一张表可以在多个工作区同时被打开SELE1sele1USEXSusexsLISTsele2SELE2usexsagainUSEJSlistLISTsele1SELE1listLIST 2 表的别名USEALIAS例 usexsallasstudent注 若没有定义别名 则默认表文件名为别名 再次打开同一表时若不定义 则默认在1 10号工作区以字母A J为别名 大于10号的工作区以W数字为别名 例如120号工作区以W120为别名 3 选择当前工作区 正在使用的工作区界面操作 窗口 数据工作期 选择别名 2 命令操作 SELE工作区号 别名常用函数 SELECT 别名 测试当前工作区的区号ALIAS 区号 测试指定工作区中表的别名注意 select 0 select 1 select0含义 操作非当前工作区中的表把其它的工作区选为当前工作区SELE2在命令中强行指定工作区GOTOPINJS选用一个未被使用的编号最小的工作区为当前工作区SELE0 选择编号最小工作区 SELE 测试当前工作区 1 表的打开界面文件 打开窗口 数据工作期 打开USE 命令USE IN区号 AGAIN ALIAS别名 3 3 2打开和关闭表 2 表的关闭界面窗口 数据工作期 关闭命令USEUSEINCLOSEALL 数据库 索引 项目管理器等也被关闭CLOSEDATABASES 如果当前没有打开的数据库 则把自由表全部关闭CLOSETABLES 关闭表 不关闭库退出VFP注意 SQL语句能自动打开表 但不会自动关闭表 表的共享使用 一张表可以同时被多个用户打开 shared 表的独占使用 一张表只能被一个用户打开 默认 exclusive 设置独占与共享打开表的默认状态工具 选项 数据SETEXCLUSIVEOFF ON 共享 独占 强行用一种方式打开表 打开 独占 复选框USESHARED EXCLUSIVE注 设置改变 并不改变已经打开的表的状态 演示 一张表同时被多次打开时 只以第一次的打开方式为准 3 3 3表的独占与共享使用 1 数据缓冲在多用户环境下 用以保护对表记录所做的数据更新以及数据维护操作的一种技术2 缓冲类型 1 记录缓冲 一次访问 修改一个记录 2 表缓冲 对多个记录缓冲更新两种锁定方式 1 保守式 编辑记录时就锁定记录 2 开放式 记录只在被写入时加锁 3 3 4利用缓冲访问表中的数据 3 设置表的数据缓冲 1 界面操作 窗口 数据工作期 属性 2 命令操作 CursorSetProp Buffering 缓冲类型 别名 例 为XS表打开开放式表缓冲 SETMULTILOCKSONUSEXS CURSORSETPROP Buffering 5 4 检测缓冲区中的数据是否与数据源表一致 1 CURVAL 返回当前值 2 OLDVAL 返回初始值5 执行和放弃对缓冲数据的更改 1 TABLEUPDATE 执行对缓冲区的修改 2 TABLEREVERT 放弃对缓冲区的修改 第四节表的索引 1 索引的相关概念2 索引的索引的类型和文件类型3 创建结构复合索引文件5 索引的修改和删除6 索引的使用 1 记录的物理顺序与逻辑顺序物理顺序 记录在磁盘中的存储顺序 在检索数据时 按记录顺序进行查找 检索速度慢 逻辑顺序 根据某个字段 或字段表达式 的取值按升序 或降序 建立索引文件 再按索引文件的顺序排列记录 称为逻辑顺序 检索数据时 可以用二分法查找关键字值 检索速度快 索引 不改变物理顺序 所有关键字按升 降 排列 每个值对应原文件的一个记录号 确定记录的逻辑顺序 3 4 1索引的相关概念 2 索引文件结构索引文件结构 关键字值 有序排列 记录号注意 关键字值为单个字段或多个字段的组合 多个字段 一般统一转换为一个字符型表达式表达式的计算结果将影响索引的结果例如 XIMING XB与XB XIMING多个数值型字段 一般根据实际意义作相应处理例如 GZ GL与STR GZ STR GL 索引标识名 Tag 索引名 一般和字段名相同 10字节 3 4 2索引文件种类 1 结构复合索引 CDX 2 非结构复合索引 CDX 3 独立索引 IDX 与FoxBase兼容 文件名与数据表同名 文件名是在表文件创建时由系统自动给定结构复合索引文件与表文件同步打开 更新 关闭 是表的一部分 文件名由用户给出非结构复合索引文件中不能创建主索引 3 4 3索引的类型 1 主索引 Primaryindexs 2 侯选索引 Candidateindexs 3 普通索引 Regularindexs 4 唯一索引 Uniqueindexs 组成主索引的字段或表达式 表的所有记录中不能有重复的值主索引仅用于数据库表的结构复合索引文件中 自由表不能建立主索引 每张表只能创建一个主索引 字段或表达式中不允许有重复值一张表中可以建立多个侯选索引侯选索引可用于数据库表和自由表 允许字段或表达式的值出现重复侯选索引可用于数据库表和自由表 允许字段或表达式的值出现重复 索引对照表中 具有重复值的记录仅存储其中的第一个 3 4 4索引文件的创建 1 表设计器 表设计器 索引 选项卡2 Index命令INDEXONTA

温馨提示

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

评论

0/150

提交评论