电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第11-12章 表和数据库

39页
  • 卖家[上传人]:今***
  • 文档编号:107399547
  • 上传时间:2019-10-19
  • 文档格式:PPT
  • 文档大小:448.50KB
  • / 39 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第11-12章 数据库和表,主要内容,介绍数据库、数据表的基本概念 数据库和数据表的建立 编辑表中的数据、记录修改与删除 表的索引等有关操作。,概念,数据库(.dbc) 就是一个关于某一特定主题或目标的信息集合。一个数据库是由一个或多个表组成的,数据库可以看成是数据表的容器. 表(.dbf) 一组相关联的数据按行和列排列的二维表格 记录(record):表的每一行称为一个记录. 字段(field):表的每一列称为一个字段. 关键字(key):若某个字段值能唯一地确定一个记录,该字段称为关键字. 索引(index):将一个表按照某种特定的顺序排列.,数据库表和自由表 属于一个数据库的表称为数据库表 独立存在的表称为自由表,创建数据表,设计数据表结构 使用“表设计器”新建表 在表中添加记录 修改表结构 基本命令 创建数据表:create 打开数据表:use 关闭数据表:use 添加(空)记录:append blank 修改表结构:modify structure,查看表中的数据,使用“浏览”窗口(相应命令:browse) 编辑/浏览方式 添加方式 BROWS FIELDS 姓名,期中 BR

      2、OWSE FREEZE 期中 其他查看记录的命令:LIST 与DISPLAY LIST FIELDS FieldList Scope FOR lExpression1 WHILE lExpression2 DISPLAY FIELDS FieldList Scope FOR lExpression1 WHILE lExpression2,范围是如下之一: ALL 全部记录 NEXT n 包括当前记录开始的n条记录 RECORD n 只对第n条记录操作 REST 当前记录开始到文件尾。,For 对范围内的所有记录执行该命令;若没有指定范围默认为ALL,移动指针,移动指针的命令: 绝对移动:Go bottom|top| 相对移动:Skip n|-n 与指针相关的部分函数 Bof() 测试指针是否指向文件头 Eof() 测试指针是否指向文件尾 Reccount() 返回数据表的记录数 Recno() 返回当前指针的指向的记录号,修改表结构,使用表设计器:MODIFY STRUCTURE 使用命令:ALTER TABLE (修改结构) CREATE TABLE(建立结构) CREATE TAB

      3、LE Student(xh c(10), xm c(6), xb l, csrq d(8), zy c(20), sm m, zp g) 可以建立包含xh、xm、xb、csrq、zy、sm、zp等字段的一个新的数据表Student.dbf。,编辑表中的数据,批替换命令: REPLACE 字段名1 WITH 表达式1 , 字段名2 WITH 表达式2 . 范围 FOR 条件 WHILE 条件 若没有范围,只对当前记录进行替换操作。,生成新表与追加记录 以当前表为基础,生成新表: COPY TO FIELDS FOR 复制当前表结构: COPY STRUCTURE TO FIELDS 从其他表中追加记录: APPEND FROM FIELDS FOR ,删除记录 逻辑删除与物理删除 逻辑删除:将记录打上删除标记 物理删除:将记录从表中移去 菜单操作 在浏览窗口中删除记录:单击记录左边的方框。 菜单“表”“删除记录” 菜单“表”“彻底删除”,逻辑删除:DELETE 范围 条件 恢复打上删除标记记录: RECALL 物理删除 : PACK 删除所有记录 : ZAP 与删除记录有关的系统设置:

      4、SET DELETE ON|OFF默认,使用命令删除记录,删除记录命令示意,正常记录,打上逻辑删除 标记的记录,DELETE,RECALL,物理删除 不能恢复的记录,PACK,ZAP,DELETE ALL PACK,有选择的只对部分记录操作 SET FILTER TO 界面: 表/属性/数据过滤器 取消过滤条件: SET FILTER TO 有选择的显示部分字段 BROWSE|LIST|DISPLAY FIELDS SET FIELDS TO 界面: 表/属性/字段筛选 显示所有字段: SET FIELDS TO ALL,过滤数据表,11.6 数据表的索引,建立索引的最直接的理由是为了排序。 11.6.1 基本概念 1. 索引与索引表达式 数据表的索引:按指定的索引表达式对数据表建立的一个文件索引文件。 索引文件:是一个记录号的列表(指针列表),它指向待处理的记录,并确定了记录的处理顺序,即按新顺序存储着数据表所对应的记录号。 索引表达式:表中的字段或字段的组合,又称为索引字段。 索引并不改变表中所存储数据的顺序,它只改变VFP读取每条记录的顺序。 可以利用索引对数据表中的数据进行排序

      5、,以便加速检索数据的速度。还可以选择记录、控制重复字段值的输入并支持表间的关系操作。索引对于数据库内表之间创建关联也很重要。,建立索引文件,索引类型 主索引:可保证字段输入值的唯一性,一个数据表只能有一个主索引并且只能在数据库表中建立。 候选索引:可保证字段输入值的唯一性,允许建立多个候选索引 普通索引:允许出现重复的字段值。 唯一索引:打开索引后,相同字段值的记录只显示一个。,数据表的索引,新建索引: 在表设计器中建立索引 命令方式 : INDEX ON TAG ASCENDING | DESCENDING 打开|关闭索引 SET ORDER TO 建立复杂的索引 包含多个字段的索引表达式 如:按性别与入校成绩进行索引,其表达式应为 INDE ON 性别+STR(入校成绩) TAG XBCJ,建立和打开索引,索引应遵循原则,(1)为了提高速度,用普通索引、候选索引或主索引 (2)控制字段的重复值对数据库“表”用“主索引”或“候选索引”,对于“自由表”,用“候选索引”。,与索引相关的查找命令 FIND | SEEK 若找到相应记录,则FOUND()函数值为.T. 顺序查找命令 : LO

      6、CATE FOR 继续查找命令 : CONTINUE,查找记录,【例11-15】下述命令在学生表std_da中查找第一个姓李的同学,并显示该同学的信息: USE std_da INDEX ON xm TAG xm SET ORDER TO TAG xm FIND 李 DISP,【例11-16】下述命令在学生表std_da中查找第一个出生日期为1981年3月12日的同学,并显示该同学的信息: USE std_da INDEX ON csrq TAG csrq SET ORDER TO TAG csrq SEEK CTOD(“03/12/1981“) ?FOUND() DISP,【例11-17】下述命令在学生表中查找姓李的同学,并显示该同学的信息: CLEAR USE STD_DA LOCATE FOR xm = “李“ DISP CONTINUE DISP,VFP可以同时打开32767个表,每个表都在不同的工作区中。 工作区切换: SELECT | 编号1-32767;或A-J;或用Alias指定的名称 Use in alias (1) 在当前工作区打开和关闭表 USE cj (2) 在

      7、最低可用工作区中打开表 可以在USE命令IN子句后面加工作区0。 USE cj IN 0 说明:在一个工作区中,不能同时打开多个表。 (4) 关闭所有工作区中打开的表 使用命令CLOSE ALL可以关闭所有工作区中已打开的表,并将1号工作区置为当前工作区。,多表操作,引用其他工作区中打开的表,指定非当前工作区中表的字段值: 别名-字段名 或 别名.字段名 STD_cj.总成绩 B.总成绩 可以在一个表所在的工作区之外,使用表名或表别名来明确标识该表。 例: USE STD_CJ IN 2 DISP b.总成绩 &注意命令所工作区必须有打开的数据表,使用“数据工作期”窗口,使用“数据工作期”窗口 “数据工作期”窗口是VFP提供的一个管理工作区的工具。使用“数据工作期”窗口,可以查看在一个VFP工作期中已打开表的列表,还可以在工作区中打开表、关闭表。,SET RELATION TO 关键字表达式 INTO 工作区别名1|表别名1 设置表间临时关系的步骤: 1.在不同工作区打开父表和子表 2.子表按关键字表达式中的关键字段建立索引(或指定已存在的索引为主控索引) 3.在父表工作区执行命令SE

      8、T RELATION TOINTO 表间临时关系可以实现指针的联动 例1:指针的联动 (LSGX.PRG) 例2:利用表(XS.DBF/CJ.DBF) A.显示所有学生的姓名、入校成绩、总成绩(LSGX_2.PRG) B.为所有会计专业学生平时加10 (LSGX_3.PRG) 。,设置表间临时关系,close ALL CLEAR USE xs IN 1 & 在1号工作区中打开xs表(主表) USE cj IN 2 & 在2号工作区中打开cj表(从表) SELECT cj & 选定从表工作区 INDE ON 学号 TAG xh & &从表建立索引 SELECT xs & 选定主表工作区 SET RELATION TO 学号 INTO cj & 创建主表与从表的之间的关联 list fields 姓名,入校成绩,b.总成绩,CLEAR CLOSE ALL SELE 1 USE XS INDE ON 学号 TAG XH SELE 2 USE CJ SET RELATION TO 学号 INTO A LIST 姓名,A.专业,平时 WAIT repl all 平时 WITH 平时+10 FOR

      9、 A.专业=“会计“ LIST 姓名,A.专业,平时,【例12-2】设有一个单科(VFP编程)成绩表:d_cj.dbf(xh(C,10), cj(N,3),试用d_cj.dbf中的成绩来修改cj2.dbf中的相应成绩。相应的命令如下: *lsgx_修改成绩.PRG USE TCH_PK LOCATE FOR 课程名 = “VFP编程“ no = 课程代号 SELECT 2 USE d_cj INDEX ON 学号 TAG xh SELECT 1 USE cj2 SET RELATION TO 学号 INTO b REPL ALL 成绩 WITH b-成绩 FOR 学号 = b-学号 AND 课程代号=NO 注意:有的时候需要将“多表”设为主表,“一表”设为从表。 3. 关联单个表中的记录 可以在单个表中创建记录间的关系,即自引用关系。若需要的所有信息都存储在单个表中,这种关系很有用。 【例12-3】如果遍历xs表中的班级,随着记录指针从一个班级到另一个班级的移动,每个班级的学生自动更改。,若要创建自引用关系,可以两次打开同一个表,在一个工作区中打开一个表,并使用USE AGAIN命令在另外工作区中再次打开此表,然后使用索引来关联记录。例如,可以使用以下代码,根据“zy”(专业)字段对xs表进行排序,然后创建索引标识ZY2,并以此建立并浏览一个 自引用关联:lsgx_自关联.prg SELECT 0 USE xs ALIAS xs SELECT 0 USE xs AGAIN ALIAS xs_a INDEX ON zy TAG ZY2 SET ORDER TO ZY2 SELECT xs SET RELATION TO zy INTO xs_a ADDITIVE SELECT xs_a BROWSE NOWAIT SELECT xs BROWSE NOWAIT 在“命令窗口”依次执行上述命令,在“数据工作期”窗口中浏览表xs和xs_a,当在xs“浏览”窗口中移动记录指针时,会自动刷新xs_a“浏览”窗口,并在其中显示隶属于选定专业的学生,如图12-2

      《第11-12章 表和数据库》由会员今***分享,可在线阅读,更多相关《第11-12章 表和数据库》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.