




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章数据表与数据库 课前回顾 数据库表与自由表的区别 1 数据库表可以使用长表名和长字段名 128 个字符 自由表是短文件名 字段名的最大长度是10个字符 2 可以为数据库表设置字段级规则和记录级规则 自由表不能 3 数据库表可设置主索引 候选索引 唯一索引和普通索引 参照完整性和表之间的关联 自由表只能设置候选索引 唯一索引和普通索引 3 5表的排序与索引3 6表的查询3 7表的统计与汇总 3 5表的排序与索引 表文件中的记录通常是按其输入先后的物理顺序排列存放的 因此 表中记录的排列是没有规则的 使用排序或索引技术可以使表记录按照一定的顺序排列 3 5 1表的排序 排序是根据表的某些字段值从物理上重新排列记录 产生一个新表 新表与原表内容相同 只是记录的排列顺序不同 SORTTOON A D C A D C FIELDS FOR ASCENDING DESCENDING 对当前表文件按照指定的字段排序 并产生一个新的表文件 升序 降序 不区分大小写 多重排序中 对所有排序字段按升 降 序排列 例3 32 对 学生 表按 出生年月 升序排序 生成新表 学生出生年月 新表中包含学号 姓名 性别 出生年月字段 USE学生SORTON出生年月TO学生出生年月 FIELDS学号 姓名 性别 出生年月USE学生出生年月BROWSE 例3 33 对 学生 表先按 性别 升序排序 再按 入学成绩 降序排序 生成新表 学生入学成绩 USE学生SORTON性别 入学成绩 DTO学生入学成绩USE学生入学成绩BROWSE 3 5 2表的索引 1 索引的概念索引是按照表文件中某个关键字段或表达式 以升序或降序的排列方式对表中的记录进行逻辑排序 索引不改变表中数据的物理顺序 而是另外建立一个索引文件 按入学成绩索引生成的索引文件 按入学成绩排序生成的表 排序与索引的区别 1 索引文件的记录号值没改变 2 索引文件只包含索引关键字值和记录原表中的记录号两个字段 3 索引文件必须和原数据表同时使用 4 修改表中的记录数据后 系统会自动更新索引文件 2 索引的类型 1 按功能分 2 按文件扩展名分类单索引文件是根据一个关键字或关键字表达式建立的索引文件 其扩展名为 IDX 单索引文件不会随表的打开而自动打开 复合索引文件可以包含多个索引 扩展名为 CDX 可分为结构复合索引文件及非结构复合索引文件两类 结构复合索引文件与表文件的主文件名相同 会自动随着表文件同步打开 关闭和更新 在表设计器中创建的索引均为结构复合索引 非结构复合索引文件主文件名与表文件主文件名不同 不会随表的打开而打开 3 建立索引文件在索引文件中 结构复合索引文件既可以在表设计器中建立 又可以使用命令建立 单索引文件和非结构复合索引文件只能使用命令建立 1 用表设计器创建索引在 表设计器 中建立的索引是结构化复合索引 CDX 其索引的种类可以是主索引 候选索引 普通索引和惟一索引 默认是普通索引 例3 34 在 教学 数据库的 学生 表中 按 学号 字段的升序建立主索引 按 出生年月 字段的降序建立普通索引 选择索引类型 弹出表达式生成器 主索引 2 命令方式INDEXONTO TAG OF ASCENDING DESCENDING UNIQUE CANDIDATE ADDITIVE 为打开的表建立索引文件或在复合索引文件中添加索引标识 建立单索引文件 建立结构复合索引文件 建立非结构化复合索引文件 升序或降序 默认升序 建立唯一索引或候选索引 建立新索引时 不关闭原来打开的索引 例3 35 将学生表按 性别 和 出生年月 字段建立单索引文件 USE学生INDEXON性别 DTOC 出生年月 TO性别出生LIST学号 姓名 性别 出生年月 例3 37 将学生表按 入学成绩 专业 建立非结构复合索引 索引文件名为学生1 USE学生INDEXON入学成绩TAG入学成绩OF学生1INDEXON专业TAG专业OF学生1LIST学号 姓名 性别 入学成绩 专业 例3 36 将学生表按 姓名 建立结构复合索引 该索引为候选索引 USE学生INDEXON姓名TAG姓名CANDIDATELIST学号 姓名 性别 出生年月 4 打开与关闭索引刚建立的索引文件处于打开状态 结构复合索引文件在打开表的同时会自动打开 单索引和非结构复合索引文件必须由用户打开 1 使用命令打开索引USEINDEX在打开表的同时打开中列出的索引文件 并默认第一个索引文件为控制索引文件 SETINDEXTO在表已经打开后 打开中列出的索引文件 并默认第一个索引文件为控制索引文件 2 关闭索引文件USE关闭表的同时关闭所有打开的索引文件 SETINDEXTO关闭除结构复合索引文件外的索引文件 5 指定控制索引打开单索引文件时 默认第一个索引文件为控制索引文件打开复合索引文件时 必须重新指定控制索引 SETORDERTO TAG OF ASCENDING DESCENDING 功能 为打开的文件重新指定控制索引 SETORDERTOSETORDERTO0取消当前的控制索引 表中记录按物理顺序显示 指定打开索引文件时 索引文件表 中的索引文件序号为控制索引 指定该单索引为控制索引 指定该索引标识为控制索引 例3 39 学生 表中已建立结构复合索引 包含 学号 姓名 和 出生年月 三个索引标识 其中 出生年月 按降序索引 利用命令按不同的索引标识显示记录 USE学生 结构复合索引文件 学生 CDX 自动打开SETORDERTOTAG学号LIST 按学号升序显示记录SETORDERTOTAG姓名LIST 按姓名升序显示记录SETORDERTOTAG出生年月LIST 按出生年月降序显示记录 例3 40 教师 表已按 教师号 和 职称 建立单索引 使用命令打开索引文件并显示记录 USE教师SETINDEXTO教师号 职称 打开单索引文件 教师号 IDX 和 职称 IDX LIST 按教师号索引显示记录SETORDERTO2LIST 按职称索引显示记录 6 索引文件更新REINDEX将所有打开的索引文件中的索引或索引标识按当前数据表的内容重新索引 7 删除索引标识DELETETAGALLDELETETAG删除结构复合索引文件中的索引标识 ALL 表示删除所有索引标识 1 用命令 INDEXON姓名TAGindex nameUNIQUE 建立索引 其索引类型是A 主索引B 候选索引C 普通索引D 惟一索引2 以下关于主索引和侯选索引的叙述正确的是 A 主索引和侯选索引都能保证表记录的惟一性 B 主索引和侯选索引都可以建立在数据库表和自由表上 C 主索引可以保证表记录的惟一性 而侯选索引不能 D 主索引和侯选索引是相同的概念3 在表设计器的 字段 选项卡中可以创建的索引是A 唯一索引B 候选索引C 主索引D 普通索引4 在VisualFoxPro中 建立索引的作用之一是A 节省存储空间B 便于管理C 提高查询速度D 提高查询和更新的速度5 在VisualFoxPro中 相当于主关键字的索引是A 主索引B 普通索引C 惟一索引D 排序索引 D A D C A 6 在指定字段或表达式中不允许出现重复值的索引是A 惟一索引B 惟一索引和候选索引C 惟一索引和主索引D 主索引和候选索引 7 在VisualFoxPro中 数据库表中不允许有重复记录是通过指定 来实现的 D 主索引或候选索引 3 6表的查询 两类查询命令 顺序查询和索引查询 顺序查询是按记录的原始顺序逐条记录进行查询 不需要对表建立索引 当表中的记录很多时 查询速度较慢 索引查询是在索引文件中查找满足条件的记录 能明显提高查询效率 3 6 1顺序查询 顺序查询命令LOCATE FOR WHILE 在指定的范围内 按记录的顺序从上向下查找满足条件的第一条记录 2 继续查找命令CONTINUE与LOCATE命令连用 继续查找满足条件的下一条记录 缺省时为ALL USE学生LOCATEFOR性别 女 AND 入学成绩 510 FOUND DISPLAY学号 姓名 性别 入学成绩CONTINUE FOUND DISPLAY学号 姓名 性别 入学成绩CONTINUE FOUND 例3 41 在 学生 表中查询性别为女 入学成绩等于510分的记录 3 6 2索引查询 在建立了索引的表中进行快速查找 VFP提供了两种索引查询命令 FIND SEEKFIND和SEEK命令均能实现在索引文件中按索引关键字查找满足条件的第一条记录 说明 1 FIND 适用于C N常量和C变量 字符常量不须使用定界符 字符型变量 必须使用宏代换函数 2 SEEK 适用于C N D和L表达式 当表达式为C D和L常量时 必须使用定界符 表达式为变量时 直接使用 不可用宏代换函数 3 如果查找成功 则记录指针指向逻辑顺序中符合条件的第一条记录 这时FOUND 为 T EOF 为 F RECNO 返回该记录的记录号 如果检索失败 记录指针指向文件尾部 FOUND 为 F EOF 为 T RECNO 为当前表的总记录数加1 且状态栏显示 没有找到 4 若要查询后面的记录是否符合条件 需用SKIP命令 例3 42 按学号查找 学生 表 USE学生INDEXON学号TO学号 按学号建立单索引文件FIND07010002 FIND查询字符型常量不加定界符DISPLAY学号 姓名 入学成绩SEEK 07010003 SEEK查询字符型常量必须加定界符DISPLAY学号 姓名 入学成绩X 07020003 FIND X FIND查询字符型变量需用宏代换函数 DISPLAY学号 姓名 入学成绩SEEKX SEEK可直接查询字符型变量DISPLAY学号 姓名 入学成绩 3 7数据表的统计与汇总 在实际应用中 经常要对数据表中的数据进行各种运算 VisualFoxPro提供了计数 求和 求平均值和汇总等功能 可以方便地为用户统计汇总出需要的数据信息 1 计数命令 统计指定范围内满足条件的记录个数 COUNT FOR WHILE TO 缺省值为ALL 将统计结果保存在内存变量中 2 求和命令 对指定范围内满足条件的数值型字段纵向求和 SUM FOR WHILE TO TOARRAY 3 求平均值命令 对当前表中指定范围内满足条件的数值型字段纵向求平均值 AVERAGE FOR WHILE TO TOARRAY 例 求 学生 表中男同学的人数 入学成绩之和 入学成绩平均值 结果分别存到变量x y z中 USE学生counttoxFOR性别 男 sum入学成绩toyfor性别 男 average入学成绩tozfor性别 男 4数据表分类汇总 对数据表中关键字值相同记录的数值型字段进行分类求和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年村居诗词大赛题目及答案
- 2025西安周至县新区初级中学招聘备考练习题库及答案解析
- 2025内蒙古呼和浩特市敬业学校初中部招聘备考练习题库及答案解析
- 2025四川成都市崇州市人民医院医共体单位自主招聘27人(第四批)备考练习题库及答案解析
- 食品化学类题库及答案
- 运输合同版本
- 2025年腹股沟疝气试题及答案
- 2025年宠物萌系考试题及答案
- 2025年冰箱维修试题及答案
- 2025重庆九洲智造科技有限公司招聘14人考试参考试题及答案解析
- 轴承装配工标准化作业考核试卷及答案
- 2025至2030中国电动车仪表行业发展分析及前景趋势与投资报告
- 2025云南昆明巫家坝建设发展有限责任公司及下属公司第三季度招聘23人笔试备考试题及答案解析
- 2025年分步重复光刻机项目发展计划
- 2025年探伤工(二级)重点难点考试试卷
- (正式版)DB15∕T 385-2020 《行业用水定额》
- 村级财务业务知识培训课件
- 药品停产管理办法
- 2025年《临床输血技术规范》
- 2025年江苏无锡离婚协议书
- 人员管理办法格式范本
评论
0/150
提交评论