




已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章数据库基本操作,在VFP中,数据库文件的扩展名是.dbc,数据库可以包含数据表、查询、视图等。数据表是数据库的基础,是关系数据库系统中的基本结构,它是一组相关数据的有序集合,其扩展名为.dbf。,3.1创建数据库,3.1.1数据库与数据表的概念,3.1.2创建数据库,数据库不但可以存储数据的结构等数据表信息,而且还可以对数据库中的表进行功能扩展:定义字段级规则,设置默认值、触发器等,创建视图等等。创建一个VFP数据库的方法:先创建一个新数据库,再向其中加入要处理的表格并定义表间关系。我们可以在项目管理器中创建库,也可以创建一个独立于项目之外的数据库。,1.通过菜单方式创建数据库:,也可以在项目管理器的“数据”选项卡中新建数据库。,主选单“文件”“新建”,选“数据库”,按“新建文件”,在弹出的对话框中输入文件名,保存即可。,2.通过命令方式创建数据库:,格式:CREATEDATABASE,3.2创建数据库表,3.2.1数据库表与自由表数据库表属于数据库的表自由表不属于任何数据库的表数据库表和数据库关联,具有自由表没有的属性,如:字段级、记录级规则等。使用数据库下拉菜单命令、数据库设计器或快捷菜单都可以完成数据库中表的建立。,3.2.2在数据库中建立数据表,1、在项目管理器中选中数据库“学籍管理”下的“表”,单击“新建”按钮,则弹出新建表对话框,选择“新建表”,如下图;,2、在弹出的对话框中输入文件名“学生档案”,保存即可弹出表设计器,如图;,3、在表设计器中设计表结构,完成后,单击“确定”,即可完成表结构的建立,此时,系统会提示输入数据,可输入数据。,也可以通过命令方式打开表设计器创建数据表格式:CREATE功能:在指定位置建立数据表。,3.2.3修改表结构,1.打开表设计器打开表设计器的方法如下:方法一:打开数据表,然后执行主菜单“显示”菜单中的“表设计器”命令。方法二:在数据库设计器中选择要修改的表,右键单击表名,在弹出的快捷菜单中选择“修改”命令。方法三:使用命令。格式:MODIFYSTRUCTURE或MODISTRU,2.修改数据表结构,(1)修改已有字段的字段名、类型、宽度等。(2)增加新字段将鼠标移动到原有字段后,单击“插入”按钮,然后添加字段的字段名、类型、宽度等信息。(3)删除原字段若要删除某个字段,先把鼠标定位在要删除的字段上,然后单击“删除”按钮。(4)变动字段位置,数据库表的表设计器中设置验证规则目的是为了使输入的数据符合要求,在有矛盾时发出错误提示信息。各种属性的说明:1、字段显示属性格式:确定字段内容在被显示时的样式输入掩码:指定字段中输入数据的格式(即所输入的任何内容均显示成此符号)标题:在浏览表时用此名称代替意义不够直观的字段名,设计表结构的说明:,2、字段验证规则规则:使所输数据符合设定的条件信息:当所输数据违反规则时,系统提示错在哪里默认值:减少输入重复性数据时的工作量3、字段注释使字段具有更好的可读性4、长表名与表文件名不同,设置了长表名可以一目了然,5、记录验证规则规则:使所输记录符合设定的条件信息:当所输记录违反规则时,系统提示错在哪里6、触发器插入触发器:当所插记录符合此规则时,才可以插入到表中更新触发器:当修改后的记录符合此规则时,才可以进行修改删除触发器:当待删记录符合此规则时,才可以被删除掉7、表注释使表具有更好的可读性,3.2.4显示表结构,1菜单方式显示数据表结构(1)打开一个数据表(2)在“显示”菜单中选择“表设计器”菜单项2命令方式显示数据表结构格式:LIST|DISPLAYSTRUCTUREIN|TOPRINTERPROMPT|TOFILES功能:在屏幕显示数据表结构,4.3.1打开和关闭数据表,3.3操作数据表,1打开数据表,打开数据表的方法如下:(1)通过菜单方式打开数据表:在“文件”菜单中选择“打开”命令,或单击工具栏中的“打开”按钮,在“打开”对话框中选择要打开的表,然后单击“打开”按钮。(2)在项目管理器中打开数据表:(3)通过命令方式打开数据表:格式:USE路径|?INALIAS别名功能:打开一个现存的数据表。,2关闭数据表,相关命令如下:(1)USE:关闭当前工作区中已经打开的数据表.(2)CLOSEALL:关闭所有已经打开的数据库、数据表、设计器、工作区等(3)CLEARALL:关闭所有已经打开的数据库和数据表,释放所有内存变量。(4)CLOSEDATABASE:关闭所有已经打开的数据库和数据表,选择1号工作区为当前工作区。(5)CLOSETABLESALL:关闭当前数据库中的所有数据表(6)QUIT:关闭所有数据库和数据表,退出VFP。,3.3.2浏览和显示记录,1.用菜单方式浏览VFP提供了两种显示方式:编辑、浏览浏览是默认的显示方式,在浏览窗口中以行的方式显示表格内容。变更显示方式的方法:“显示”菜单“编辑”,格式:LIST|DISPLAYFIELDSFORTOPRINTEROFFTOFILE功能:显示当前表中的记录内容。,2命令方式浏览记录,3.3.3修改和编辑记录,1浏览修改(1)菜单方式打开数据表。执行“显示”菜单中的“浏览”命令,系统将打开浏览窗口,如图4.8所示。浏览窗口中编辑修改数据,完成后关闭窗口。(2)命令方式格式:BROWSEFIELDSFOR,2编辑修改格式:EDITFIELDSFOR功能:根据给定条件编辑修改当前打开的数据表记录。3替换修改格式:REPLACEWITHADDITIVE,WITHFOR功能:用指定表达式的值替换当前表中满足条件记录的指定字段的值。,3.3.4添加记录,1.菜单方式追加记录维护数据库的一项经常性的工作就是工具需要随时向表文件添加记录,添加记录包括追加记录和插入记录。菜单方式追加记录基本步骤,2.命令方式追加记录,APPENDBLANKIN|功能:在当前表或指定工作区的表尾追加一条或若干条记录。说明:(1)当执行该命令时,若没有打开的数据表,则系统会提示打开数据表。(2)BLANK:表示在当前表尾添加一条空记录,记录指针指向该空记录,一般需借助REPLACE命令为给该记录各字段赋值。(3)IN|:指明要添加新记录所在的工作区或表别名。(4)若没有任何选项,则打开记录输入窗口,可追加若干记录。,3.命令方式插入记录,命令格式:INSERTBEFOREBLANK功能:在当前表的指定位置插入新记录或空白记录。说明:(1)BEFORE:在当前记录之前插入新记录。若省略此选项,将在当前记录之后插入新记录。(2)BLANK:表示在当前记录后添加一条空记录,记录指针指向该空记录,一般需借助REPLACE命令为给该记录各字段赋值。,3.3.5删除和恢复记录,1.逻辑删除记录,方法一:菜单方式方法二:命令方式格式:DELETEFORWHILE功能:逻辑删除满足条件的记录。,2.恢复逻辑删除记录,恢复逻辑删除是将被逻辑删除的记录恢复为正常记录,即去掉删除标志。方法一:菜单方式方法二:命令方式格式:RECALLFORWHILE功能:将当前数据表中指定范围内满主条件的已被逻辑删除的记录恢复,使之成为正常记录。,3.物理删除记录,物理删除彻底将数据从数据表中删掉。方法一:菜单方式(1)先对这些记录作逻辑删除。(2)打开主菜单“表”,选中“彻底删除”菜单项,打开确认提示框。(3)单击“是”按钮,将彻底删除已经逻辑删除的所有记录。方法二:命令方式格式:PACK功能:将已被逻辑删除的记录彻底删除。,3.3.6记录指针的定位,1.记录号和记录指针在VFP中每一条记录按其物理存放顺序有一个惟一的编号,称记录号,第一个记录的记录号是1。每一个打开的数据表,都有惟一的记录指针,它指向数据表的当前记录。刚打开的数据表其记录指针指向逻辑顺序上的第一条记录。,2.记录的定位,(1)菜单方式实现记录定位打开数据表,菜单:“表”“转到记录(2)命令方式实现记录定位使用VFP的提供的命令可以实现记录指针的绝对和相对移动。绝对移动GOGOTOTOP|BOTTOM|RECORDN|N相对移动SKIP,3.3.7复制数据表,数据表包括表结构和数据(记录),复制数据表包括表结构的复制和表记录的复制。1.复制表结构通过复制命令可以将该表结构作为新表的结构。命令格式:COPYSTRUCTURETOFIELDSWITHCDX|WITHPRODUCTION功能:复制当前表文件的结构作为新表文件的结构。,2.复制表记录,命令格式:COPYTOFIELDS范围FORWHILE功能:将当前打开的数据表中指定范围内满主条件的记录复制到新的数据表文件中。,3.4数据表的排序与索引,为了加速检索数据的速度、控制表记录显示的顺序、控制重复字段值的输入,需要对数据记录进行调整。VisualFoxPro提供了两种实现途径:排序、索引,3.4.1排序与索引的概念:,排序的概念,从物理存储上对表进行重新整理,按摩以关键字段的顺序对数据表中记录存放次序重新排列,生成新的数据表文件。,索引从逻辑上对表进行重新整理,根据指定的关键字段建立索引文件。该索引文件是一个记录号的列表,指向待处理的记录,确定了记录的处理顺序。,索引的概念,索引可以帮助我们对其中的数据进行排序,以便加速检索数据的速度;可以快速显示、查询或者打印记录;还可以选择记录、控制重复字段值的输入并支持表间的关系操作。,3.4.2数据表排序,排序命令格式:SORTTOON/A|/D/C,ASC|DESCFORWHILEFIELDS,索引有四种可以选择的类型:主索引:可确保字段中输入值的唯一性并决定了处理记录的顺序。可以为数据库中的每一个表建立一个主索引。在字段中控制重复值的输入并对记录排序。如果某个表已经有了一个主索引,可以继续添加候选索引。,3.3.3索引类型,候选索引:象主索引一样要求字段值的唯一性并决定了处理记录的顺序。在数据库表和自由表中均可为每个表建立多个候选索引。普通索引:也可以决定记录的处理顺序,但是允许字段中出现重复值。在一个表中可以加入多个普通索引。唯一索引:为了保持同早期版本的兼容性,还可以建立一个唯一索引,以指定字段的首次出现值为基础,选定一组记录,并对记录进行排序。,3.3.4索引文件,索引文件分为两种类型:单一索引文件(.IDX)复合索引文件(.CDX),结构化复合索引文件非结构化复合索引文件,说明:单一索引文件只包含一个索引,复合索引文件可包含多个索引,其每一个索引被称为一个“标志”。索引文件名与表文件名相同的复合索引文件称为结构化复合索引文件,该索引文件在打开表的同时被打开,以自动更新文件中的索引。,3.3.5索引的建立与删除,索引的建立方式有两种:在表设计器的索引页中建立;用命令的方式建立。,在“索引名”框中,键入索引名。如果我们在“字段”选项卡中设置了索引,则索引名将自动出现。从“类型”列表中,选定索引类型。在“表达式”框中,键入作为记录排序依据的字段名,或者通过选择表达式框后面的对话按钮,显示“表达式生成器”来建立表达式。若想有选择地输出记录,可在“筛选”框中输入筛选表达式,或者选择该框后面的按钮来建立表达式。,1.在表设计器中建立索引,删除索引:,在表设计器索引页中选中不需的索引删除即可。,5.索引名左侧的箭头按钮表示升序还是降序,箭头方向向上时按升序排序,向下时则按降序排序。6.选择“确定”。,2.命令方式建立索引,格式:INDEXONTO|TAGOFASC|DESCFORUINQUE|CANDIDATEADDITIVE,3.4.6使用索引,1.索引文件的打开,与表文件同时打开:USEINDEX单独打开:SETINDEXTOADDITIVE,2.索引文件的关闭,关闭命令:USESETINDEXTOCLOSEINDEX,3.设置主控索引,一个表可以建立、同时打开多个索引,但某时刻只能有一个索引决定表中数据的实际顺序,该索引称为主控索引。设定主控索引两种方式:菜单操作方式命令方式:SETORDERTO,4.重新索引,数据表中数据记录增、删后,需重新索引(重建索引)。,重建索引的命令:REINDEXCOMPACT,5.索引查询命令,查询:在表中查找符合给定条件的记录,找到后记录指针将指向该记录。,VFP提供了两种查询方法:顺序查找利用索引快速查找,VFP查询命令,顺序查询:LOCATEFOR|WHILECONTINUE,索引查询:FIND|SEEK注:FIND后的字符串可以是常量或用”&”宏替换出的串常量,3.5.1记录计数命令格式:COUNT范围FOR|WHILETO功能:统计当前数据表中满足条件的记录个数。范例:USE学生档案COUNTALLFOR性别=“男”TOA1COUNTALLFOR性别=“女”TOA2,3.5统计与计算命令,3.5.2记录求和命令,格式:SUM范围FORWHILETOTOARRAY功能:对当前数据表中指定数值型字段求和。,范例:SUMALL综合考评TOA3FOR应届,格式:AVERAGE范围FORWHILETOTOARRAYNOOPTIMIZE功能:对当前数据表中指定数值型字段求平均值。范例:AVERAGEALL高数,计算机TOA1,A2,3.5.3计算算术平均值,3.5.4数据表文件的分类汇总,格式:TOTALON关键字TO数据表文件名范围FIELDS参与汇总计算的字段名表FOR|WHILE功能:把当前数据表文件的数值型字段关键字值相同的记录合并为一条记录,存放于汇总数据表中。,SETTALKOFFCLEAUSE选课登记INDEXON学号TOXHSETINDEXTOXHTOTALON学号TOHZBFIELDS学分数USEHZBLISTUSESETTALKON,示例,3.6数据工作期,工作区数据工作期窗口工作区的选择临时关系,工作区是用来暂存数据表及其相关信息的一块内存空间。打开数据表的实质是将数据表文件从磁盘调入一个工作区。一个工作区上同时只能打开一个表,后打开的表文件将使该工作区上先打开的表文件自动关闭。,3.6.1工作区的概念,工作区标识,VFP6.0提供了32767个工作区。工作区标识:*数值序号132767*前10个工作区还可用字母AJ*表名或别名(alias)。若在工作区中打开了表,则打开的表名或别名亦可作为工作区的标识。,在指定工作区打开表,并指定别名:USEALIAS,3.6.2数据工作期,一个用来设置数据工作环境的交互操作窗口。,最初进入FoxPro时,系统默认为第一工作区;可用SELECT命令选择工作区;最近选择的工作区为当前工作区。命令格式:SELECT|注:工作区编号,当为零值时,即SELECT0,则系统将自动从当前未用的工作区中选取区号最低者为当前工作区。,3.6.3选择工作区,VFP总是默认为对当前工作区打开的表操作,引用非当前工作区的字段变量时必须在其字段名前加工作区标识,即:.或-VFP的命令或函数中的“IN|”选项,用来限制其操作的工作区,可使命令在不改变当前工作区的情况下,对由工作区号或工作区别名指定的非当前工作区中打开的表进行操作。,3.6.4非当前工作区中数据的引用,3.6.5临时关系,永久关系:是数据库表之间的一种关系,不仅运行时存在,而且一直保留。表之间的永久关系是通过索引建立的。临时关系(关联):是在打开的数据表之间用setrelation命令建立的临时关系,或是在数据工作期窗口建立。建立了临时关系后,子表的指针会随主表记录指针的移动。表被关闭后,关系自动解除。,一对一关系:表之间的一种关系,在这种关系中,主表中的每一个记录只与相关表中的一个记录相关联。一对多关系:表之间的一种关系,在这种关系中,主表中的每
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南阳高考冲刺数学试卷
- 南阳一中数学试卷
- 2025浙江宁波广创旅游会展有限公司招聘1人笔试模拟试题及答案解析
- 2025内蒙古呼伦贝尔市陈巴尔虎旗招募就业见习人员考试备考试题及答案解析
- 2025年度湖南益阳市消防救援支队第三批招录政府专职消防队员106人考试备考试题及答案解析
- 七年级数学代数式的初步认识试卷及答案
- 宁波市初中月考数学试卷
- 清华少年班数学试卷
- 达州市2025年度国家综合性消防救援队伍消防员招录体格检查考试备考试题及答案解析
- 2025内蒙古师范大学管理助理和教学助理招聘63人笔试模拟试题及答案解析
- 人教部编八年级语文上册《浣溪沙(一曲新词酒一杯)》示范课教学课件
- 铁路防寒安全培训
- 工业机器人系统操作员(三级)认定理论考试复习题及答案
- 重庆市字水中学2024届九年级上学期期中考试数学试卷(含答案)
- 水闸现场安全检测分析报告
- 车辆定点维修服务保障方案
- 学生营养餐(中央厨房)集中配送项目计划书
- 连云港市新海初中2022-2023七年级新生入学素质测试英语试卷及答案
- 2024版买房定金合同范本
- 小猪佩奇英语版台词
- 开票税点自动计算器
评论
0/150
提交评论