版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 1页页 第第3章章 数据库和表的基本操作数据库和表的基本操作 3.1 Visual FoxProVisual FoxPro系统中数据库和表的基本概念 3.2 数据库的基本操作 3.3 建立数据库表 3.4 数据库表的基本操作 3.5 数据库表索引的创建和使用 3.6 数据库表的属性设置 3.7 数据库表间的永久关系与参照完整性 3.8 工作区与多表操作 3.9 自由表 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章
2、 数据库和表的基本操作数据库和表的基本操作 第第 2页页 3.1 3.1 数据库和表的基本概念数据库和表的基本概念 数据库 v 数据库是以一定的组织方式存储在外部存储 设备上的相关数据的集合。 v 数据库是一个逻辑上的概念和手段,它把相 关联的若干个表组织在一起,建立并存储了 表与表之间的永久关系、与表相关的视图、 与远程数据源的连接和存储过程。 表 v 数据库表:属于某个数据库的表。 v 自由表:不属于任何数据库的表。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 3页页 3.1 3.1 数据库和表的
3、基本概念数据库和表的基本概念 一个数据库的实例 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 4页页 3. 2 数据库的基本操作数据库的基本操作 3.2.1 数据库的创建与删除 3.2.2 数据库的打开与关闭 3.2.3 数据库设计器 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 5页页 3.2.1 数据库的创建与删除数据库的创建与删除 数据库的创建 v 建立数据库的常用方法: l 打开项目管理器,在“数据”选项
4、卡中选 择“数据库”,然后单击“新建”按钮 l 选择“文件”菜单中的“新建”或者单击 常用工具栏上的“新建”按钮, l 使用命令方式: CREATE DATABASECREATE DATABASE Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 6页页 3.2.1 数据库的创建与删除数据库的创建与删除 数据库的删除 v 删除数据库的常用方法: l 在项目管理器中直接选择要删除的 数据库,然后单击 “移去”按钮 l 使用命令删除数据库: DELETE DATABASEDELETE DATABASE RECY
5、CLERECYCLE Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 7页页 3.2.2 数据库的打开与关闭数据库的打开与关闭 数据库的打开 v 打开数据库的常用方法: l 在项目管理器中选择要打开的数据 库,所选数据库将自动打开 l 选择“文件”菜单中的“打开”命 令或单击工具栏上的“打开”按钮 l 使用命令方式 OPEN DATABASEOPEN DATABASE Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第
6、8页页 3.2.2 数据库的打开与关闭数据库的打开与关闭 数据库的关闭 v 关闭数据库的常用方法: l 在项目管理器中直接选择要关闭的 数据库,然后单击“关闭”命令按 钮 l 使用命令方式关闭数据库: CLOSE DATABASECLOSE DATABASE Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 9页页 3.2.3 数据库设计器数据库设计器 数据库设计器 数据库设计器是在Visual FoxProVisual FoxPro中管理数据 库的一个工具,可以管理数据库中的表、视图 与关系等。数据库设计
7、器工具栏的常用按钮介 绍如下: 新建数据库新建数据库 表表 将自由表添将自由表添 加至数据库加至数据库 将表从数据将表从数据 库中移去库中移去 新建远程视新建远程视 图图 新建本地视新建本地视 图图 打开数据库打开数据库 表设计器表设计器 打开浏览窗打开浏览窗 口口 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 10页页 3.2.3 数据库设计器数据库设计器 v 打开数据库设计器的方法有多种: l 利用项目管理器或菜单新建数据库后,立 即打开数据库设计器。 l 利用菜单打开一个数据库后,将自动打开 数据
8、库设计器。 l 在项目管理器中,选定一个数据库,然后 单击“修改”按钮,或者在项目管理器中 直接双击数据库名,就可以打开数据库设 计器。 l 采用命令方式:MODIFY DATABASEMODIFY DATABASE Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 11页页 3. 3 建立数据库表建立数据库表 3.3.1 数据库表的创建 3.3.2 数据库表结构的修改 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第
9、12页页 3.3.1 数据库表的创建数据库表的创建 定义表 v 定义表名, v 定义表结构,包括定义字段名、数据类型 与宽度、是否接受NULL值等 v 输入记录内容。 字段名的命名规则如下: v 必须以字母或汉字开头。 v 可以由字母、汉字、数字和下划线组成。 v 长度不超过128个字符(若是自由表则长度 不超过10个字符)。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 13页页 3.3.1 数据库表的创建数据库表的创建 建立表即建立一个扩展名为DBF的文件。如果 表中有备注型或通用型的字段,还会相应
10、生成 一个扩展名为FPT的文件。 建立数据库表有三种常用的方法: v在项目管理器中,展开某个数据库,选择 “表”,单击“新建”按钮,选择“新建 表” v打开数据库设计器,在数据库设计器工具 栏中选择“新建表”按钮 v使用命令方式:CREATE CREATE Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 14页页 3.3.2 数据库表结构的修改数据库表结构的修改 数据库表结构的修改 利用表设计器既可增加、删除字段,也可 修改字段名、字段类型、字段的宽度等。 进入表设计器修改表结构的方法 v 在项目管理器中
11、,选择要修改的数据库表, 然后单击“修改”按钮 v 在数据库设计器中,选择要修改的数据库 表,在数据库设计器工具栏中选择“修改 表”按钮 v 使用命令方式:MODIFY STRUCTUREMODIFY STRUCTURE Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 15页页 3. 4 数据库表的基本操作数据库表的基本操作 3.4.1 表的打开 3.4.2 使用浏览器操作表 3.4.3 使用命令方式操作表 3.4.4 表的关闭 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第
12、第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 16页页 3.4.1 表的打开表的打开 打开表的五种方法: v 使用项目管理器修改表结构或浏览表时, 表将自动打开 v 使用数据库设计器修改表结构或浏览表时, 表将自动打开 v 选择“文件”菜单中的“打开”或单击工 具栏上的“打开”按钮 v 选择“窗口”菜单中的“数据工作期”打 开“数据工作期”窗口,单击“打开”按 钮 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 17页页 3.4.1 表的打开表的打开 v 使用命令方式 USE USE EX
13、CLUSIVE ALIAS EXCLUSIVE ALIAS 子句说明: ALIAS ALIAS :表示给表定义别名, 若省略,表名即为别名。 EXCLUSIVEEXCLUSIVE:表示以独占方式打开表, 若省略,则以共享方式打开表。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 18页页 3.4.1 表的打开表的打开 v 打开表有两种方式:独占(EXCLUSIVEEXCLUSIVE)和 共享(SHAREDSHARED)。在对表进行追加记录、修 改表结构和物理删除时,系统要求表是用 独占方式打开的。 v
14、以独占方式打开表 l 在USEUSE命令中使用EXCLUSIVEEXCLUSIVE子句 l 在使用菜单方式和数据工作期打开表文 件时,在“打开”对话框中选中“独 占”。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 19页页 3.4.1 表的打开表的打开 菜单方式 数据工作期 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 20页页 3.4.2 使用浏览器操作表使用浏览器操作表 使用浏览器操作表 1.打开浏览器 l
15、 显示方式的切换:“显示”菜单 “浏览”方式 “编辑”方 式 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 21页页 3.4.2 使用浏览器操作表使用浏览器操作表 2在浏览器中追加新记录 l 追加多条新记录 “显示”菜单中选择“追加方式” l 追加一条新记录 “表”菜单中选择“追加新记录” l 从另一张表中追加新记录 “表”菜单中选择“追加记录” 3在浏览器中修改记录 l 直接修改记录的值 l 自动修改数据 “表”菜单中的“替换字段” Visual FoxPro 数据库与数据库与 程序设计程序设计 教程
16、教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 22页页 3.4.2 使用浏览器操作表使用浏览器操作表 4在浏览器中删除记录 l 逻辑删除和物理删除 逻辑删除是将记录打上逻辑删除标记,而物 理删除是将那些带有逻辑删除标记的记录真正从 表中删除。 l 逻辑删除 1)直接设置逻辑删除标记 2)逻辑删除成批的记录 “表”菜单中选择“删除记录” Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 23页页 3.4.2 使用浏览器操作表使用浏览器操作表 l 恢复记录 1)直接取消逻辑删除标记 2)
17、逻辑恢复成批的记录 “表”菜单中的“恢复记录” l 物理删除 “表”菜单中选择“彻底删除” Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 24页页 3.4.2 使用浏览器操作表使用浏览器操作表 5指针移动 l 指针 指向正在被处理的记录,该记录 被称为当前记录 l 用鼠标移动指针 l 快速移动指针 “表”菜单的“转到记录” Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 25页页 3.4.3 使用命令方式操作表使用
18、命令方式操作表 使用命令方式操作表 1记录显示命令 (1)记录的分屏显示 DISPLAY DISPLAY FOR|WHILE FOR|WHILE FIELDS FIELDS 命令功能:在主窗口中分屏显示范围内 满足条件的记录的指定字段 (2)记录的连续显示 LIST LIST FOR|WHILE FOR|WHILE FIELDS FIELDS 命令功能:在主窗口中连续显示范围内 满足条件的记录的指定字段 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 26页页 3.4.3 使用命令方式操作表使用命令方式操
19、作表 子句含义: :可以是allall、record nrecord n、next nnext n或 restrest,也可以缺省。特别注意:若同时缺省 与,对于DISPLAYDISPLAY、DELETEDELETE、 RECALLRECALL和REPLACEREPLACE等四条命令,表示操作对象 为当前记录;对其它命令则表示操作对象为 所有记录。 FIELDSFIELDS :指定参加当前操作 的字段。字段名表中各个字段用逗号分隔。 缺省这个选项则表示显示所有字段。 所有记录 第n号记录 从当前记录开始的N 条记录 从当前记录开始至 文件结束 Visual FoxPro 数据库与数据库与 程序
20、设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 27页页 3.4.3 使用命令方式操作表使用命令方式操作表 FOR FOR :指定范围内满足条件的所有 记录。若FORFOR 存在,则缺省 时默认为ALLALL。 WHILEWHILE :指定范围内首记录开始连 续满足条件的各条记录,即一旦有一条记录 不满足条件,则该记录及其后的所有记录均 不入选。若 WHILEWHILE 存在,则 缺省时默认为RESTREST。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 28页
21、页 3.4.3 使用命令方式操作表使用命令方式操作表 例3.33.3 显示STUDENTSTUDENT表中的当前记录 USE STUDENTUSE STUDENT DISPLAY & DISPLAY &等价命令等价命令: DISPLAY NEXT 1: DISPLAY NEXT 1 例3.43.4 显示STUDENTSTUDENT表中所有的记录 USE STUDENTUSE STUDENT LIST & LIST &等价命令等价命令: DISPLAY ALL: DISPLAY ALL Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作
22、数据库和表的基本操作 第第 29页页 3.4.3 使用命令方式操作表使用命令方式操作表 例3.53.5 分屏显示STUDENTSTUDENT表中的所有记录的 姓名和年龄字段 USE STUDENTUSE STUDENT DISPLAY ALL FIELDS DISPLAY ALL FIELDS 姓名姓名, ,年龄年龄 例3.63.6 分屏显示STUDENTSTUDENT表中的所有入学总 分大于550550的记录 USE STUDENTUSE STUDENT DISPLAY FOR DISPLAY FOR 入学总分入学总分550 550 Visual FoxPro 数据库与数据库与 程序设计程序
23、设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 30页页 3.4.3 使用命令方式操作表使用命令方式操作表 2记录添加命令 (1)追加新记录 APPEND BLANKAPPEND BLANK 命令功能: l APPENDAPPEND命令一次可以连续输入多条新的记 录,操作界面与新建表一样,关闭窗口将 自动保存输入的新记录。 l APPEND BLANKAPPEND BLANK是在表的尾部增加一条空白 记录。 (2)插入新记录 INSERT BEFORE BLANKINSERT BEFORE BLANK Visual FoxPro 数据库与数据库与 程序设计程序设
24、计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 31页页 3.4.3 使用命令方式操作表使用命令方式操作表 3记录删除与恢复命令 (1)逻辑删除记录 DELETE DELETE FOR|WHILE FOR|WHILE 命令功能:逻辑删除指定范围内满足条 件的记录,若缺省与,则只 逻辑删除当前记录。 例 逻辑删除STUDENTSTUDENT表中所有社会学专业的 记录 USE STUDENTUSE STUDENT DELETE ALL FOR DELETE ALL FOR 专业专业= = 社会学社会学 Visual FoxPro 数据库与数据库与 程序设计程序设计 教
25、程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 32页页 3.4.3 使用命令方式操作表使用命令方式操作表 (2)恢复记录 RECALL RECALL FOR|WHILE FOR|WHILE 命令功能:恢复范围内满足条件的记录, 如缺省与,则只恢复当前记 录。 例3.7 3.7 恢复STUDENTSTUDENT表中所有的记录 RECALL ALLRECALL ALL (3)物理删除记录 PACKPACK 命令功能:永久删除表中所有带有删 除标记的记录,无法恢复。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操
26、作数据库和表的基本操作 第第 33页页 3.4.3 使用命令方式操作表使用命令方式操作表 4记录自动修改命令 REPLACE REPLACE WITH WITH 1 , WITH WITH 表达式表达式2 FOR|WHILE 2 FOR|WHILE 命令功能:在范围内对满足条件的记录利 用表达式的值替换字段值,如果缺省与 ,则默认修改的是当前记录。 例 将STUDENTSTUDENT表中经济学专业改为会计专业 USE STUDENTUSE STUDENT REPLACE ALL REPLACE ALL 专业专业 WITH WITH 会计会计 FOR FOR 专业专业 经济学经济学 Visual
27、 FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 34页页 3.4.3 使用命令方式操作表使用命令方式操作表 5指针移动命令 (1)绝对移动指针命令 GO GO |TOP|BOTTOM|TOP|BOTTOM (2)相对移动指针命令 SKIP +|-SKIP +|- 例3.83.8 将指针移动到文件末记录,并测试EOF() 的值 USE STUDENTUSE STUDENT GO BOTTOM GO BOTTOM ?EOF() & ?EOF() & 屏幕显示结果为屏幕显示结果为.F. .F. Visual FoxPro
28、数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 35页页 3.4.3 使用命令方式操作表使用命令方式操作表 例3.9 将指针移动到当前记录的后两条记录 SKIP 2SKIP 2 例3.10 在STUDENTSTUDENT表中,将指针移动到文件首 记录之前,并测试函数BOF()BOF()和RECNO()RECNO()的值 USE STUDENTUSE STUDENT GO TOP GO TOP ?BOF() & ?BOF() & 屏幕显示结果为屏幕显示结果为.F.F. ?RECNO() & ?RECNO() & 记录号为记录号为1 1
29、 SKIP -1 SKIP -1 ?BOF() & ?BOF() & 屏幕显示结果为屏幕显示结果为.T. .T. ?RECNO() & ?RECNO() & 记录号为记录号为1 1 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 36页页 3.4.3 使用命令方式操作表使用命令方式操作表 例3.113.11 在STUDENTSTUDENT表中,将指针移动到文件末 记录之后,并测试函数EOF()EOF()和RECNO()RECNO()的值 USE STUDENTUSE STUDENT GO BOTTOM G
30、O BOTTOM SKIP SKIP ?EOF() & ?EOF() & 屏幕显示结果为屏幕显示结果为.T.T. ?RECNO() & ?RECNO() & 最大记录号最大记录号1 1 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 37页页 3.4.3 使用命令方式操作表使用命令方式操作表 (3)指针的条件定位 LOCATE LOCATE FOR FOR 执行该命令,将记录指针定位在范围内满 足条件的第一条记录上,如果没有满足条件的 记录则指针指向文件结束位置。缺省, 则默认为ALLALL。 要使指针指
31、向下一条满足条件的记录,则 要使用CONTINUECONTINUE命令,如果没有记录再次满足 条件,则指针指向文件结束位置。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 38页页 3.4.3 使用命令方式操作表使用命令方式操作表 例3.123.12 在STUDENTSTUDENT表中,将指针移动到总分大于 580580的记录上 USE STUDENTUSE STUDENT LOCATE FOR LOCATE FOR 入学总分入学总分580 580 ?RECNO() & ?RECNO() &屏幕显示屏幕
32、显示 7 7 ?FOUND() & ?FOUND() &屏幕显示屏幕显示 .T.T. CONTINUE CONTINUE ?FOUND() & ?FOUND() &屏幕显示屏幕显示 .T.T. CONTINUE CONTINUE ?FOUND() & ?FOUND() &屏幕显示屏幕显示 .F.F. ?EOF() & ?EOF() &屏幕显示屏幕显示 .T.T. Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 39页页 3.4.3 使用命令方式操作表使用命令方式操作表 6表记录的统计命令 (1)统计记录个
33、数 COUNT TO COUNT TO FOR|WHILE FOR|WHILE (2)统计总和 SUM SUM TO TO FOR|WHILE FOR|WHILE (3)统计平均数 AVERAGE AVERAGE TO TO FOR|WHILE FOR|WHILE Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 40页页 3.4.3 使用命令方式操作表使用命令方式操作表 7数据筛选命令 (1)记录筛选 SET FILTER TO SET FILTER TO 命令功能:可以屏蔽不满足条件的记录, SET F
34、ILTER TO SET FILTER TO 命令取消记录筛选命令。 例3.133.13 设置只能访问STUDENTSTUDENT表的女生记录。 USE STUDENTUSE STUDENT SET FILTER TO SET FILTER TO 性别性别=女女 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 41页页 3.4.3 使用命令方式操作表使用命令方式操作表 (2)字段筛选 SET FIELDS TO SET FIELDS TO |ALLLIKE|EXCEPT |ALLLIKE|EXCEPT 命
35、令功能:指定当前表可以访问的字段 例3.143.14 接上例,设置只能访问STUDENTSTUDENT表的学 号、姓名和专业字段。 SET FIELDS TO SET FIELDS TO 学号学号, ,姓名姓名, ,专业专业 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 42页页 3.4.4 表的关闭表的关闭 表的关闭 v 用户对表的操作结束后,需要关闭表。 关闭表主要有两种方法: (1)在数据工作期中,选择要关闭的表,然 后单击“关闭”按钮 (2)使用命令方式 l 关闭当前表的命令格式: USEUSE
36、 l 关闭所有表的命令格式: CLOSE DBF|TABLES ALLCLOSE DBF|TABLES ALL Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 43页页 3. 5 数据库表索引的创建和使用数据库表索引的创建和使用 3.5.1 索引文件的类型 3.5.2 索引的类型 3.5.3 索引的创建 3.5.4 索引的修改和删除 3.5.5 索引的使用 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 44页页 3
37、.5 数据库表索引的创建和使用数据库表索引的创建和使用 索引是指根据索引表达式的值使表中的记 录有序排列的一种技术。 索引的实现:根据索引表达式的值将记录 重新排序,并建立索引表用于存储排序后 索引关键字的值和记录号之间的对应关系, 再将索引表保存在索引文件中。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 45页页 3.5 数据库表索引的创建和使用数据库表索引的创建和使用 对COURSE表按学时索引 记录记录 号号 课程号课程号 学学 时时 1 10100101001 3030 2 202001020
38、01 6060 3 30200202002 7070 4 40400104001 4848 5 50400204002 7474 索引索引 学时(学时( 索引表索引表 达式)达式) 记记 录录 号号 30301 1 48484 4 60602 2 70703 3 74745 5 记录记录 号号 课程号课程号 学学 时时 1 10100101001 3030 4 40400104001 4848 2 20200102001 6060 3 30200202002 7070 5 50400204002 7474 索引表索引表 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程
39、第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 46页页 3.5.1 索引文件的类型索引文件的类型 索引文件的分类 1复合索引文件 复合索引文件是指包含一个或多个索引表 达式的索引文件,以CDX为文件扩展名。复合 索引文件又分为结构化复合索引文件和非结构 化复合索引文件两种。 结构化复合索引文件的主名与表文件相同, 它能随着表的打开而自动打开,随表的关闭而 自动关闭;在对表中记录进行增加、删除和修 改时,会自动进行更新维护。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 47页页 3.5
40、.1 索引文件的类型索引文件的类型 2独立索引文件 独立索引文件(也称单一索引文件)是 指仅包含一个索引表达式的索引文件,以IDX 为文件扩展名。一个表可以建立多个独立索引 文件。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 48页页 3.5.2 索引的类型索引的类型 索引的类型 1.主索引 能对记录进行唯一标识,在表中起主关键字 的作用并决定记录的逻辑顺序。用于建立主索引 的字段表达式无NULL值和重复值,确保字段输 入值的唯一性。 2.候选索引 候选索引同主索引一样,它的索引表达式无 NULL值和
41、重复值,在表中起候选关键字的作用。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 49页页 3.5.2 索引的类型索引的类型 3.普通索引 普通索引决定记录的逻辑顺序,但它允 许索引表达式有重复值。一个表可以建立多 个普通索引。 4.唯一索引 允许索引表达式有重复值,但重复的 索引字段值只有唯一一个值出现在索引表中, 一个表可以建立多个唯一索引。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 50页页 3.5.3
42、 索引的创建索引的创建 索引的创建 1. 使用表设计器建立结构化复合索引 l 索引名:可以与字段同名,必须是唯一的 l 索引类型:主索引、候选索引、普通索引、 唯一索引 l 排序方式:升序或降序 l 索引表达式:一个或多个字段组成 l 筛选 注意:只有数据库表才能建立主索引。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 51页页 3.5.3 索引的创建索引的创建 2. 使用命令方式建立索引 INDEX ON INDEX ON TAG TAG OF OF FOR FOR ASCENDING|DESCEN
43、DING ASCENDING|DESCENDING UNIQUE|CANDIDATE UNIQUE|CANDIDATE ADDITIVE ADDITIVE 命令既能创建结构化复合索引,也能 创建非结构化复合索引,但命令不能建立 主索引。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 52页页 3.5.3 索引的创建索引的创建 例3.153.15 对STUDENTSTUDENT表,按出生日期建立 索引,索引名为RQRQ USE STUDENTUSE STUDENT INDEX ON INDEX ON 出生
44、日期出生日期 TAG RQTAG RQ 例3.163.16 对STUDENTSTUDENT表,先按专业再按姓 名建立索引,索引名为ZYXMZYXM INDEX ON INDEX ON 专业专业+ +姓名姓名 TAG ZYXMTAG ZYXM Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 53页页 3.5.4 索引的修改和删除索引的修改和删除 索引的修改和删除 1修改索引 可以在表设计器中直接修改结构化复合索引的 索引名、索引表达式、排序等。 2删除索引 可以在表设计器中直接删除结构化复合索引; 或者可以
45、使用命令删除索引,命令格式如下: DELETE TAG DELETE TAG OF OF Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 54页页 3.5.5 索引的使用索引的使用 索引的使用 1设置主控索引 结构化复合索引文件中允许有多个索 引,但某一时刻,只能有一个索引可以 使用,称该索引为主控索引。 设置为主控索引的方法: (1)打开已建好索引的表,打开“浏 览器”,从“表”菜单中选择“属性”, 打开“工作区属性”。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3
46、3章章 数据库和表的基本操作数据库和表的基本操作 第第 55页页 3.5.5 索引的使用索引的使用 (2)在数据工作期中,选择表,单击“属性” 按钮,打开“工作区属性”。 (3)用命令设置主控索引 SET ORDER TO SET ORDER TO Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 56页页 3.5.5 索引的使用索引的使用 2.利用索引快速定位记录 SEEK SEEK 查找主控索引表达式的值与SEEKSEEK命令指 定表达式的值相匹配的第一条记录,若找到, 将指针指向该记录,否则指向文件结
47、束位置。 注意:在使用SEEKSEEK命令前,必须建立相 应的索引,索引表达式的值与SEEKSEEK表达式的 值必须是同类型且含义相同,并将该索引设 置为主控索引。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 57页页 3.5.5 索引的使用索引的使用 例3.173.17 查找STUDENTSTUDENT表“社会学”专业 的记录 USE STUDENTUSE STUDENT INDEX ON INDEX ON 专业专业 TAG ZYTAG ZY SEEK SEEK 社会学社会学 Visual FoxP
48、ro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 58页页 3. 6 数据库表的属性设置数据库表的属性设置 数据库表的属性包括字段属性和记 录属性。字段属性包括字段的显示属性 和字段有效性规则;而记录属性包括记 录的有效性规则和触发器。 3.6.1 字段属性的设置 3.6.2 记录属性的设置 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 59页页 3.6.1 字段属性的设置字段属性的设置 字段属性 v 字段的显示属性 (1)格式:控制字段
49、在浏览器、表单、报表 等界面中显示时的格式。 (2)输入掩码:控制向字段输入数据的格式, 用于限制输入数据的范围,控制输入的正 确性,输入掩码是按位来定制。 (3)标题:浏览表时字段显示的列标题 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 60页页 3.6.1 字段属性的设置字段属性的设置 v 字段有效性规则 字段有效性规则,在插入或修改字段值时 进行正确性检查,它是Visual FoxProVisual FoxPro实现域 完整性的手段。 (1)规则:用于检查输入的字段数据的正确 性。 (2)信息:
50、当在该字段输入了不符合“规则” 的数据时,显示给用户的提示信息,设置时 必须使用定界符。 (3)默认值:用于指定字段的默认值,提高 输入速度。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 61页页 3.6.2 记录属性的设置记录属性的设置 记录属性 v 记录有效性规则 记录的有效性规则用于检查同一记录中不 同字段之间的逻辑关系。 (1)规则:用于检查输入的记录数据是否符合 要求。 (2)信息:根据规则进行检查时,若记录的数 据不符合“规则”,显示给用户的提示信息。 Visual FoxPro 数据库与
51、数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 62页页 3.6.2 记录属性的设置记录属性的设置 v 触发器 触发器有插入、删除和更新触发器 三种,用条件表达式、自定义函数或 存储过程设定,如果某个触发器条件 或函数(过程)返回值为假,则相应 操作被拒绝。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 63页页 3.7 永久关系与参照完整性永久关系与参照完整性 数据库表间的永久关系是体现多表间联 系的一种方法,永久关系作为数据库的 一部分被保存在数
52、据库中。 参照完整性的作用:在增加、删除和修 改一个表中的数据时,通过参照相互关 联的另一个表的数据,来检查对数据的 操作是否正确,它是关系完整性约束的 一个重要部分。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 64页页 3.7.1 永久关系的建立永久关系的建立 永久关系分为两种类型: 一对一关系和一对多关系 在一对数据库表之间建立永久关系时,发起关 联的表称为父表(主表),被关联的表称为子 表。父表和子表要有一个共同属性。 (1)一对一关系 父表和子表均按共同属性建立主索引或候 选索引。 (2)一
53、对多关系 作为一方的父表按共同属性建立主索引 或候选索引,而作为多方的子表则按共同属 性建立普通索引。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 65页页 3.7.1 永久关系的建立永久关系的建立 例3.19 在“教学管理”数据库中,为STUDENT 和GRADE表建立一对多的永久关系。步骤如下: 打开“教学管理”数据库。 首先确定STUDENTSTUDENT表为父表(一方)、GRADEGRADE表 为子表(多方)、共同的属性为学号字段, 然后分别为STUDENTSTUDENT表和GRADEGRAD
54、E表按学号字段建 立主索引和普通索引。 在数据库设计器中,用鼠标将STUDENTSTUDENT表的 “学号”索引拖动到GRADEGRADE表的“学号”索引 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 66页页 3.7.1 永久关系的建立永久关系的建立 两张表之间的连线即为永久关系 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 67页页 3.7.2 参照完整性的定义及操作参照完整性的定义及操作 由于参照完整性涉及
55、两个相关的表,因此首先 需要建立两表间的永久关系。 在建立参照完整性之前必须首先清理数据库即 物理删除数据库各个表中所有带删除标记的记 录。 用鼠标右键单击永久关系,从快捷菜单中选择 “编辑参照完整性“ 参照完整性规则包括更新规则、删除规则和插 入规则。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 68页页 3.8 工作区与多表操作工作区与多表操作 1工作区 v 工作区是内存中的独立存储区域,在一个工 作区中只能打开一张表,要打开多张表,就 必须使用多个工作区,Visual FoxPro系 统设置了32767个工作区。 v 为了区别不同的工作区,系统规定了三种识 别工作区的方法: (1)区号:用数字132767表示; (2)区名:对于前10区,分别用字母AJ 表示; (3)别名:用在工作区中打开的表的别名, 若无别名,系统以表名为别名。 Visual FoxPro 数据库与数据库与 程序设计程序设计 教程教程 第第3 3章章 数据库和表的基本操作数据库和表的基本操作 第第 69页页 3.8 工作区与多表操作工作区与多表操作 2当前工作区 v 系统允许使用多个工作区打开多张表,但 在某一时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- XX年医院工作计划范文
- 年秋青龙中心小学校德育工作计划小鱼BLOG
- 度应急救援预案演练计划
- 采购内勤下半年工作计划
- “学校新学期工作计划范文”学校工作计划范文
- 自媒体运营计划书
- 《语法复习名词》课件
- 信息技术教师个人专业发展计划
- 教学科研工作计划
- 《旧交规对比》课件
- 中美抗震设计规范地震作用主要参数比较和转换
- 物业场拓展激励方案
- NB_T 10393-2020《海上风电场工程施工安全技术规范》_(高清最新)
- 术前讨论记录格式和范例(共3页)
- 三水厂建设情况汇报
- 数电课程设计(抢答器)
- 工期延误时的抢工措施
- 综合分析生产成本理论中相关经济范畴的关系-答案
- 教育科研中问题即课题、过程即研究、结果即成果的理解
- 基于隐性资产的企业价值管理研究
- 二期工程通水验收报告(定稿)
评论
0/150
提交评论