第 3 章 数据库与表的设计与操作

148

Click here to load reader

description

第 3 章 数据库与表的设计与操作. 本章教学重点 自由表的创建与基本操作 表的排序、索引与查找 数据库的创建与基本操作 数据库中表与表之间关系的建立. 3.1 自由表的创建. 一、 Vf 中表的类型 Vf 中有两种类型的表:数据库表和自由 表,数据库表是数据库中的表,自由表是不 属于任何数据库的表,它们可以相互进行转 化,且两者之间有差别,如数据库表支持长 表名和长字段名,且可定义数据字典。. 二、分析自由表的组成 表是 Vf 处理数据和建立关系型数据库及应 用程序的基本元素,在 Vf 中,表文件的扩展 - PowerPoint PPT Presentation

Transcript of 第 3 章 数据库与表的设计与操作

Page 1: 第 3 章 数据库与表的设计与操作

第 3章 数据库与表的设计与操作

本章教学重点自由表的创建与基本操作表的排序、索引与查找数据库的创建与基本操作数据库中表与表之间关系的建立

Page 2: 第 3 章 数据库与表的设计与操作

3.1 自由表的创建

一、 Vf 中表的类型 Vf 中有两种类型的表:数据库表和自由

表,数据库表是数据库中的表,自由表是不属于任何数据库的表,它们可以相互进行转化,且两者之间有差别,如数据库表支持长表名和长字段名,且可定义数据字典。

Page 3: 第 3 章 数据库与表的设计与操作

二、分析自由表的组成 表是 Vf处理数据和建立关系型数据库及应用程序的基本元素,在Vf 中,表文件的扩展名是 .dbf ,表有表结构和表记录构成。表结构就是二维表的表头由若干列组成,表中的列称为字段,是同类数据的集合,每一个字段都有惟一的名称,称为字段名,表中每一行称为一条记录,每个记录都有一个记录号,依次为 1号记录, 2号记录,……,最前

Page 4: 第 3 章 数据库与表的设计与操作

面的记录称为首记录,最后面的记录称为尾记录。三、表结构的定义 定义表结构时,需定义的内容有:字段名,字段类型,字段宽度(字段值的最大宽度),对数值型数据根据实际需要还需定义小数位数。下面以表设计器中需定义的内容为列:

Page 5: 第 3 章 数据库与表的设计与操作

①字段名命名规则:字段名必须以字母或汉字开头,后跟字母、汉字、数字或下划线,且长度对自由表不能超过 10个字符,对数据库表不能超过 128个字符。尽量简短,做到见名知意。详细的标题信息在数据库表结构的”标题”参数中说明 ,但为了使用方便在此我们把标题名和字段名定义为相同的 .

Page 6: 第 3 章 数据库与表的设计与操作

②字段类型: Visual foxpro 提供了 13中字段类型,用以存放不同类型的数据。③字段宽度:字段宽度表明该字段允许存放的数据的长度,以字节表示。实际使用时应根据具体情况进行定义,但系统对有些数据类型的字段宽度有具体规 定,如:货

币型 8字节,日期、日期时间型 8字节,双字 节型 8字节,逻辑型 1字节,备注、通用型 为 4字节,整型为 4字节。

Page 7: 第 3 章 数据库与表的设计与操作

④小数位数:当字段类型为数值型或浮点型 时,应根据需要在小数位数栏中定义小数位数,但需注意,小数位数应比字段宽度小最少 2,且小数点占一位。

4、索引:在对表的某一字段进行索引排序时

需建立索引。

Page 8: 第 3 章 数据库与表的设计与操作

5 、是否允许为空 (null) 值:当表中某一字段的值暂不能确定时,就定义为空值,空值与空字符串,数值 0不同,空值是未确定的值或缺值。 Vf 规定关键字字段不能为空。

四、 Vf 中表的建立 表的建立包括两部分,一是建立表结构,二是输入表记录。

Page 9: 第 3 章 数据库与表的设计与操作

1 、建立表结构 表结构的建立有两种方法,一是命令法,二是用表设计器进入表设计器的方法有:1)使用菜单:文件→新建→表→新建→输入

表文件名→保存。2)使用工具按钮:单击新建→表→新建→输

入表文件名→保存。

Page 10: 第 3 章 数据库与表的设计与操作

2 、输入表记录 在表定义结束存盘后,系统询问现在是否输入数据记录,若选择是则进入浏览或编辑窗口,既可连续进行记录的输入,若选择否则光标返回到命令窗口,以后若想输入表记录,则需在表打开的状态下,选择显示菜单的追加记录命令,来进行输入,在输入时可通过显示菜单的编辑浏览命令在两种状态下切换。

Page 11: 第 3 章 数据库与表的设计与操作

注:输入表记录时应注意以下问题:(1)在输入记录时,当输入内容填满一个字段的宽度时,光标会自动调到下一个字段,否则用 TAB键或回车键将光标移到下一个字段。(2)日期型数据按年、月、日的形式输入,不需输入” /“(3)对有小数点的数值型数据,只需确定整数部分的位置,不需输入小数点。

Page 12: 第 3 章 数据库与表的设计与操作

(4) 对逻辑型数据,只需输入 T或 F,不需输入 左右点。 (5) 输入空值的方法是输入 ctrl+0(6) 备注型与通用型数据的输入不同于其它数 据的输入。备注型数据的输入方法是用鼠 标双击浏览或编辑窗口相应的备注型字段 或把光标定位在相应的备注型字段上按 ctrl+pagedown 或 ctrl+pageup 或 ctrl+home

Page 13: 第 3 章 数据库与表的设计与操作

进入备注型字段的文本编辑窗口进行编辑,编辑结束后,按 ctrl+w或关闭按钮即可。通用型数据的输入方法是用鼠标双击浏览或编辑窗口相应的通用型字段或把光标定位在相应的通用型字段上按 ctrl+pagedown 或ctrl+pageup 或 ctrl+home进入通用型字段的多媒体编辑窗口,然后选择编辑菜单的插入对象命令,进入插入对象对话框,选择对象

Page 14: 第 3 章 数据库与表的设计与操作

的来源是通过新建的方法来产生还是由文件来创建,若选择新建则选择一个应用程序来产生,若选择由文件来创建则通过浏览命令将一个已有的文件插入进来。

Page 15: 第 3 章 数据库与表的设计与操作

3.2 表的基本操作

一、表文件的打开与关闭 1. 表的打开方式 表的打开方式有两种,只读方式和独占方式,以只度方式打开的表只能浏览不能修改,以独占方式打开的表既可以浏览也可以修改。

Page 16: 第 3 章 数据库与表的设计与操作

2. 表的打开方法①菜单法:文件→打开→选择文件类型为 .dbf→选择要打开的文件名→按打开按钮②命令法: use [<文件名 >] [exclusive|shared]]功能:在当前工作区中打开或关闭 (只有 use命令 ) 表,表打开时,若该表有备注型或通用型字段,则自动打开同名的 .fpt文件。

Page 17: 第 3 章 数据库与表的设计与操作

使用说明:1、用 exclusive选项,以独占方式打开表,用shared选项,以共享方式打开表,此时的表只能浏览不能修改。2、打开一个表时该工作区中原来的表自动关 闭。3、已打开的一个表有一个指针与其对应,指 针所指的记录为当前记录,表刚打开时, 记录指针指向表的第一个记录。

Page 18: 第 3 章 数据库与表的设计与操作

4 、表操作结束后应及时关闭,以便将内存中 的数据保存到外存的表中。③关闭表的其它方法 clear all 关闭所有的表,并选择工作区 1 ,释放所有内存变量,用户定义的菜单和窗口。

close all 关闭所有的数据库和表,并选择工作区 1 ,关闭各种设计器和项目管理器。

Page 19: 第 3 章 数据库与表的设计与操作

close tables[all] 关闭当前数据库中所有的表,若无打开的数据库,则关闭所有的自由表。此外,还可用退出 VF 来关闭当前打开的表。二、表结构的显示与修改1 . 表结构的显示 显示当前工作区打开表的结构可用如下命令: list 或 disp

Page 20: 第 3 章 数据库与表的设计与操作

命令格式:list|disp stru [to printer[prompt] |to file <file>]功能:显示当前已打开的表的结构。2.表结构的修改 有两种方法: 方法一:在表设计器中修改表结构 打开表设计器的方法是在表已打 开的情况下用显示→表设计器,

方法二:用命令直接修改。 Modi stru

Page 21: 第 3 章 数据库与表的设计与操作

三.表记录的显示与修改1.浏览方式记录显示与修改 浏览窗口显示表记录的格式分为编辑和浏览两种。 浏览窗口打开的方法有两种: 菜单法:打开要修改的表,显示→浏览 命令法:打开要修改的表,browse 附:可用显示菜单下的编辑命令在浏览和编辑之间切换。

Page 22: 第 3 章 数据库与表的设计与操作

2. 命令方式显示记录 命令格式: list|disp [[fields]<字段名表 >] [< 范围 >][for<条件 1>][while<条件 2>][off][to printer[prompt]|to file<文件名 >]功能:按指定范围和条件筛选出记录并显示 出来。使用说明: 1.掌握各命令子句的功能 (1)[[fields]<字段名表 >]:按需要指

Page 23: 第 3 章 数据库与表的设计与操作

定各字段名,其中关键字 fields 可省略。(2)[< 范围 >]:用来指出对当前表的哪个范围内的记录进行操作,有四种限定方式。省略它, list命令默认是当前表的所有记录,disp命令默认是当前表的当前记录。(3)[for<条件 1>]:用于限定对当前表中指定范围内满足条件的记录。(4)Off :显示结果不显示记录号

Page 24: 第 3 章 数据库与表的设计与操作

(5)to printer[prompt]:将显示结果同时送往打印机。(6)Toto file <文件名 >:将显示结果保存在文本文件中。2.注意命令和各子句的书写规则。(1)命令中有些子句可以省略,如fields子句在有限定字段时;有些不能省,如for子句有限定条件时。

Page 25: 第 3 章 数据库与表的设计与操作

四、记录定位 记录定位就是将记录指针指向某个记录,使之成为当前记录。有绝对定位法和相对定位法。㈠绝对定位法:⑴命令法:方法一:绝对定位命令 go命令格式 1 : go top|bottom

Page 26: 第 3 章 数据库与表的设计与操作

功能:将记录指针指向表的第一个记录或最 后一个记录。 命令格式 2 : go/goto<数值表达式 >功能:将记录指针定位在数值表达式指定的 记录。

Page 27: 第 3 章 数据库与表的设计与操作

⑵菜单法 在浏览窗口打开后,系统菜单中增加了表菜单利用表菜单中的移动记录命令可以使记录指针移动而实现定位。(二)相对定位法 命令格式: skip [<数值表达式 >] 功能:从当前记录开始相对移动记录指针,数值表达式表示移动记录的个数。

Page 28: 第 3 章 数据库与表的设计与操作

五、表记录的修改表记录的修改有浏览 /编辑方式修改和成批修改。1 、浏览方式修改表记录 (browse)

命令格式 :

Browse [for< 条件表达式 >][fields < 字段名表 >][lock < 数值表达式 >][freeze< 字段名

>]

Page 29: 第 3 章 数据库与表的设计与操作

功能:以编辑方式 ( 可以修改 )打开浏览窗口,显示表文件中指定记录的指定字段。使用说明:1 、 for 和 fields子句的功能同前,但此处Fields子句不能省略。2 、 lock < 数值表达式 > :指定在窗口的左分区看到的字段数。3 、 freeze< 字段名 >: 使光标冻结在某字段上

Page 30: 第 3 章 数据库与表的设计与操作

只能修改该字段,其他字段只能浏览,不能修改。4 、 browse 命令省去所有选项时,在浏览窗口显示除备注型与通用型之外的所有字段内容,且可修改,备注型与通用型字段内容需要时可直接双击mem 或 gen 进行修改。5 、修改后直接关闭窗口,修改内容直接保存。

Page 31: 第 3 章 数据库与表的设计与操作

例 3.8 使用 browse 命令显示并修改学生表中

所有男同学的姓名、班级、入学成绩。

命令序列是:Use 学生表Browse fields 姓名 ,班级 ,入学成绩 ;

for 性别 =“男” 执行结果是:

Page 32: 第 3 章 数据库与表的设计与操作
Page 33: 第 3 章 数据库与表的设计与操作

例 3.9 在屏幕的左边锁定两个字段,以便对 照修改。命令序列是:Use 学生表Browse lock 2

Page 34: 第 3 章 数据库与表的设计与操作
Page 35: 第 3 章 数据库与表的设计与操作

2 、编辑方式修改表记录 (edit) 用 edit或 changchange命令,功能与Browse命令相同,不同之处是以编辑方式修改。3、成批替换修改命令 (replace) 可以用菜单方式和命令方式 菜单方式实现的方法是: 打开表后让表处于浏览状态,打开表菜单

Page 36: 第 3 章 数据库与表的设计与操作

选择替换字段命令,在出现的替换字段对话框中,选择要替换的字段和替换后的字段值,再选择替换范围和替换条件,对要替换的记录范围左限定。设置完成后按替换按钮即可。如例 3.10 将学生表中班级为计算机的记录改为计算机应用。操作步骤是:依次打开表,浏览表,选择表

Page 37: 第 3 章 数据库与表的设计与操作

菜单中的替换字段命令打开替换字段对话框然后进行设置。如下图所示:

Page 38: 第 3 章 数据库与表的设计与操作

命令方式实现的方法是:命令格式:Rereplace [< 范围 >][for/while< 条件表达式 >]

< 字段名 1> with < 表达式 1>[additive]

[, < 字段名 2> with < 表达式 2>]……

功能:在当前表文件内,对指定范围内满足条件的记录进行批量修改。

Page 39: 第 3 章 数据库与表的设计与操作

使用说明:1 、该命令的替换方式是用表达式 的值替换字段名 1 的字段值,用表达式 2 的值替换字段名 2 的字段值,依次类推。2 、字段值的类型和后面表达式的类型必须一致。3 、可选项 addi只对备注型只对起作用,若无此子句,则用表达式的值直接替换备注型

Page 40: 第 3 章 数据库与表的设计与操作

只对的原值 , 否则只把表达式的值追加到后面4 、该命令省略范围和条件时只对当前记录的字段替换,若省略范围则对所有记录中满足条件的只对操作,若省略条件则对指定范围内的只对操作。上例用命令实现是Use 学生表Repl 班级 with “ 计算机应用” for 班级 =‘ 计 算机’

Page 41: 第 3 章 数据库与表的设计与操作

例 3.11 把学生表中每个同学的入学成绩加上

30 分的体育分。Use 学生表Repl all 入学成绩 with 入学成绩 +30六、记录的追加与插入1 、记录的追加 指在当前表的末尾追加新的记录。 有两种实现方法:

Page 42: 第 3 章 数据库与表的设计与操作

(1)菜单法:在浏览窗口打开的状态下,选择表菜单中的追加新纪录命令,即可在当前浏览的表中最后一条记录的下面产生一个空白记录,将光标定位在各字段上,进行数据输入。次方法一次只能输入一条记录。若一次输入多条记录,就用显示菜单下的追加方式命令。若选追加记录命令,则可将其他表中满足条件的记录的共同字段值成批追加到当前表中。

Page 43: 第 3 章 数据库与表的设计与操作

(2) 命令法: append 命令命令格式 1 : append [blank]命令功能:在表的末尾追加一条空白记录,若有 blank 子句,则留待以后用 replace

命令添加记录内容,否则进入记录编辑窗口进行数2、从其他表文件中向当前表文件成批添加记录数据输入。

Page 44: 第 3 章 数据库与表的设计与操作

命令格式:Append from <表文件名 > fields <字段名 >] [for/while <条件表达式 >]命令功能:将指定表的内容追加到当前表的末尾。使用说明:1)若果原文件与当前表文件有不同的字段,则值追加两表中具有系统名称和类型的字段,其他为空。

Page 45: 第 3 章 数据库与表的设计与操作

功能:在指定表的末尾追加一个新记录,并直接将提供的数据输入纪录。注意:1利用 insert into 命令追加纪录时,表不必事先打开,但是要求字段与表达式的类型必须相同。

2若字段名全部省略,就需按表结构的字段顺序添加 values子句的所有表达式。

Page 46: 第 3 章 数据库与表的设计与操作

2) 如果原文件中字段宽度大于当前表文件的宽度,则自动截取超长部分,小于时用空格填充。3、 insert into 命令命令格式:insert into <表名 >[(<字段名 1>[,<字段名 2>,…… ])] values(<表达式 1>[,<表达式 2>,…… ])

Page 47: 第 3 章 数据库与表的设计与操作

2 、记录的插入命令格式: insert [before][blank]命令功能:在当前记录后插入新的记录,且可进行编辑,若有 blank 子句则只能插入空白

记录,待以后进行编辑或用 repl 命令替换,若有 before 子句则在当前记录前插入新的记录。

Page 48: 第 3 章 数据库与表的设计与操作

例 3.13 在学生表的第三条记录之后插入一条

记录。Use 学生表Go 3Insert

Page 49: 第 3 章 数据库与表的设计与操作

七、表记录的删除记录的删除分为逻辑删除和物理删除,逻辑删除是只做删除标记,在 set deleted on 的情况下,在进行相关的统计命令时,有删除标记的记录不起作用,统计结束后,可进行恢复或彻底删除。有两种方法,菜单法和命令法 .

Page 50: 第 3 章 数据库与表的设计与操作

1 、对记录做删除标记命令格式: delete [< 范围 >] [for<条件 >][while<条件 >] 命令功能:对当前表中指定范围内满足条件的记录作删除标记,若可选项都省略,则仅对当前记录做删除标记。可用 delete()函数测试当前记录是否有删除标记。

Page 51: 第 3 章 数据库与表的设计与操作

2 、恢复具有删除标记的记录命令格式 :recall [< 范围 >][for<条件 >][while<条件 >]功能:从已作过删除标记的记录中恢复满足 条件的记录,即去掉它们的删除标记。

Page 52: 第 3 章 数据库与表的设计与操作

3 、删除具有删除标记的记录即物理删除命令格式 :pack功能 : 将表中带有删除标记的记录做物理删除。

4、记录清除命令格式: zap功能:物理删除当前表中的所有记录。

Page 53: 第 3 章 数据库与表的设计与操作

八、其他文件操作1、表文件 (内容 )的复制命令格式 :copy to <文件名 >[< 范围 >][for<条件 >] [while<条件 >][fields<字段名表>]功能:将当前表中指定范围内满足条件的记 录的指定字段复制到目的表文件中。注意 :1. 该命令对于含有备注型、通用型字段 的表,在复制表的同时自动复制该备 注型文件。

Page 54: 第 3 章 数据库与表的设计与操作

2 、该命令是对已打开的表进行复制,复制后产生的新表是关闭的。例 3.18 将学生表中金融班的学生复制到表文件名为金融班学生表中。

命令序列是:Use 学生表Copy to 金融班学生表 for 班级 =“金融”Use 金融班学生表

Page 55: 第 3 章 数据库与表的设计与操作

2 、表结构的复制命令格式 :copy stru to <文件名 > [fields<字段名表 >]功能 : 仅复制当前表的结构,不复制其中的数

据。3、任何类型文件的整体复制 命令格式 : copy file < 源文件名 >to< 目的文件名 >

Page 56: 第 3 章 数据库与表的设计与操作

功能 :从源文件名复制一个副本,命名为目的 文件名,目的文件和源文件的内容完全 相同。注意:①若对数据表进行复制,该表必须处 于关闭状态。 ②文件名 1和文件名 2中可以使用通配 符?和 *。

Page 57: 第 3 章 数据库与表的设计与操作

③在复制带有备注型文件的表时,除复制表文件外,还要用 copy file命令复制跟表同名的备注型文件。

如对学生表复制则命令如下: copy file *.dbf to d:\*.* copy file *.fpt to d:\*.*

Page 58: 第 3 章 数据库与表的设计与操作

4 、文件更名命令格式:Rename < 源文件名 > to < 新文件名 >功能:将源文件名改为新文件名注意: 1、源文件名和新文件名必须加扩展名2、更名时源文件不许关闭。如:将学生表改名为学生

Page 59: 第 3 章 数据库与表的设计与操作

use rename 学生表 .dbf to 学生 .dbf rename 学生表 .fpt to 学生 .fpt

Page 60: 第 3 章 数据库与表的设计与操作

3.3 表的排序、索引和查询一、排序1.什么是排序 排序就是按表中的排序字段重新排列记录顺序,并生成一个新的排序表文件。其目的是为实现快速查找。2.排序的特点 排序后生成一个新表,新表的记录按新的物理顺序排列。排序后生成的文件是关闭的

Page 61: 第 3 章 数据库与表的设计与操作

3. 排序方式 排序方式有两种,按排序关键字由小到大排列叫升序排序,反之则叫降序排序。4. 数据大小的比较规则 数值型、日期型按其本身的大小决定,字符型由其 ASCII码值确定,汉字由机内码确定

大小,逻辑型数据逻辑真大于逻辑假。

Page 62: 第 3 章 数据库与表的设计与操作

4. 排序命令 sort命令格式 :sort to < 新文件名 > on <字段名 1>[/A|/D][/C] [,<字段 2>[/A|/D][/C]……] [< 范围 >][for<条件 >][fields<字段名表>]功能 : 将当前数据表按指定的一个或多个字段进行排序,并将排序的结果保存到一个新的数据表中。

Page 63: 第 3 章 数据库与表的设计与操作

参数说明:(1)a:记录按升序排列。默认是升序。(2)d:记录按降序排列。(3)c:记录值是字母时不区分大小写。(4) 排序关键字有两个或两个以上时,先按第一个关键字排序,对第一个关键字值相同的记录再按第二个排,依次类推。(5)省略范围和条件时默认所有记录参加排序(6) 排序后生成的文件是关闭的。

Page 64: 第 3 章 数据库与表的设计与操作

(7) 用 fields<字段名表 > 指明排序文件中的字段,默认所有字段。

(8)若排序关键字有多个时,中间用逗号分割例 3.19 对学生表按入学成绩字段进行重新排序排序结果保存在学生表 1表文件中。命令序列是:Use 学生表Sort to 学生表 1 on 入学成绩Use 学生表 1list

Page 65: 第 3 章 数据库与表的设计与操作

例 3.20 对学生表按班级字段进行重新排序,排序结果保存在学生表 2表文件中,并且学生表 2中只含有姓名、入学成绩、班级三个字段。命令序列是:Use 学生表Sort to 学生表 2 on 班级 fields 姓名,入学成绩,班级Use 学生表 2list

Page 66: 第 3 章 数据库与表的设计与操作

二、索引1. 排序的缺点 一是加大了系统开销,提高了数据冗余。二是原始表修改时,需要对排序表重新排序。2. 索引的概念 索引是按索引表达式使数据表中的记录有序地进行逻辑排列的技术。

Page 67: 第 3 章 数据库与表的设计与操作

3 、索引的特点 索引不改变当前数据表记录的物理顺序,而是建立一个与数据表相对应的索引文件,在索引文件中,只保留按索引关键字表达式值的逻辑顺序的索引条目,即索引就是一个已排序的关键字与记录的对应列表。 索引文件必须依赖于原表文件而存在。

Page 68: 第 3 章 数据库与表的设计与操作

4 、索引文件的类型 vf 中的索引文件有两类,单索引文件( .idx )和复合索引文件 (.cdx) ,单索引文

件是为了和以前的版本兼容,复合索引文件又分为结构复合索引文件和非结构复合索引文件,结构复合索引文件与表同名,且随着表的打开而打开,非结构复合索引文件要用专门的命令打开。

Page 69: 第 3 章 数据库与表的设计与操作

5 、索引的类型( P102 ) 有四类,即主索引,候选索引,普通索引和唯一索引。只有数据库表才能建立主索引,自由表不能建立主索引,且只能建立一个主索引,它不允许关键字值重复,输入重复值将禁止存盘,可用于在永久关系中建立参照完整性。候选索引功能与主索引相同,所不同的是一个表可以建立多个候选索引。

Page 70: 第 3 章 数据库与表的设计与操作

普通索引,允许关键字值重复,可作为一对多永久关系中的多方,一个表允许建立多个普通索引。唯一索引,是为了和以前的版本兼容,它允许关键字值重复,但输出无重复值。6、索引的建立(一)单索引文件的建立

Page 71: 第 3 章 数据库与表的设计与操作

命令格式:index on <索引关键字表达式 > to < 单索引文件名>

[for <条件表达式 >] [unique]功能:对当前表文件中符合条件的记录按给定的关键字表达式建立单索引文件。

参数说明:

(1) 以升序建立索引文件,不能按降序建立。

(2) 当索引关键字多于一个时,各索引关键字

Page 72: 第 3 章 数据库与表的设计与操作

用“ +”连接,索引时先按第一个索引关键字。排序,对按第一个索引关键字排序系统的建立再按第二个排序,依次类推。(4)unique用于建立唯一索引。(5)刚建立的索引文件是打开的。(6) 关键字的类型可以是能确定大小的任何类 型。

Page 73: 第 3 章 数据库与表的设计与操作

(7)For <条件表达式 >只对当前表文件中满足

条件的记录建立索引。例 3.21 对学生表按入学成绩建立索引文件,索引文件名为成绩。

Page 74: 第 3 章 数据库与表的设计与操作

Use 学生表Index on 入学成绩 to 成绩List注意:若按降序建立索引文件,由于建立单索引文件时没有降序索引方式,所以就按以下方式实现。

Index on -入学成绩 to 成绩

Page 75: 第 3 章 数据库与表的设计与操作

例 3.22 对学生表按班级和入学成绩建立索引文件,索引文件名为班级 _成绩。分析:此索引要求针对两个字段建立索引,且这两个字段数据类型不一致,所以在建立索引文件时应将它们转换为相同类型的数据,根据实际情况,应将入学成绩转换为字符型,中间用“ +”连接。命令序列是:

Page 76: 第 3 章 数据库与表的设计与操作

Use 学生表Index on 班级+str(入学成绩 ) to 班级 _成绩List例 3.23与例 3.22类同。(二 )单索引文件的打开 当前建立的索引文件是打开的 ,若要打开以前建立的索引文件可用以下命令:命令格式 1: use 文件名 index <单索引文件名清单>

Page 77: 第 3 章 数据库与表的设计与操作

命令功能:在打开表文件的同时打开与表相关的单索引文件,且把第一个索引文件确定为主控索引文件。命令格式 2 :set index to < 单索引文件名清单 >命令功能:打开指定的单索引文件且把第一个索引文件确定为主控索引文件。

Page 78: 第 3 章 数据库与表的设计与操作

( 三 )索引文件的关闭命令格式:Set index to( 或 close index)命令功能:关闭所有已打开的索引文件。(四 )主控索引的设置 索引文件建立后,如果索引文件是打开的,则表中数据发生变化时,索引文件将会自动更新。若同时打开多个索引文件,则有

Page 79: 第 3 章 数据库与表的设计与操作

一个起着主要作用,它决定着表的当前逻辑顺序,这个索引称为主控索引,刚建立的索引为主控索引,打开指定的单索引文件时把第一个索引文件确定为主控索引文件。也可用命令把打开的非主控索引文件设置为主控索引文件。命令格式:

Page 80: 第 3 章 数据库与表的设计与操作

Set order to < 已打开的单索引文件名 >/< 已打开的单索引文件在打开命令中的次序 >命令功能 :在打开的索引文件中指定主索引文

件。set order to 0 则取消主控索引,记录按物理顺序显示。例 3.24 若对学生表已经建立了前面几个的索引文件,利用 set order to 设置主索引

Page 81: 第 3 章 数据库与表的设计与操作

命令序列:Use 学生表 index 成绩 ,班级 _成绩 ,班级 _日期Set order to 2List结果按班级 _成绩索引文件的逻辑顺序显示。若使用命令Set order to 成绩List则结果按班成绩索引文件的逻辑顺序显示。

Page 82: 第 3 章 数据库与表的设计与操作

Set order to 0List则结果按原表的物理顺序显示。Set order to 1Go bottomDisp则重新确定成绩索引文件为主控索引文件,按成绩索引文件的顺序显示最后一条记录。

Page 83: 第 3 章 数据库与表的设计与操作

7、复合索引文件又分为结构复合索引文件和非结构复合索引文件,结构复合索引文件与表同名,且随着表的打开而打开,非结构复合索引文件要用专门的命令打开。(一 )复合索引文件的建立有两种方式:一是用表设计器的索引选项卡建立,二是用命令的方法建立. 

Page 84: 第 3 章 数据库与表的设计与操作

用表设计器的索引选项卡建立的具体步骤是:打开表设计器,选择索引选项卡,在排序列表中选排序是生序还是降序,在索引名文本框中输入索引名(即索引标识),在类型列表中选择索引的类型,在表达式文本框中输入索引表达式或在表达式生成器中生成索引表达式,在筛选文本框中输入筛选表达式在

Page 85: 第 3 章 数据库与表的设计与操作

表达生成器中生成筛选表达式.同时可建立多个索引标识,索引建立后按确定按钮,则最后的索引标识就成为主控索引标识.用命令建立复合索引命令格式: index on <索引关键字表达式> tag <索引标识名 > [of<非结构复合索引文件名 >][ for<条件 >] [asce][desc][unique|candidate][addi]

Page 86: 第 3 章 数据库与表的设计与操作

命令功能:建立结构复合索引文件中的索引标识或非结构复合索引文件和其中的索引标识.

参数说明:

(1)of<非结构复合索引文件名 >:缺省此项,

则建立结构复合索引文件。

(2)asce/desc:说明建立升序或降序索引,默认升序。

Page 87: 第 3 章 数据库与表的设计与操作

(3) Unique:说明建立唯一索引。(4) Candidate:说明建立候选索引,默认建 立普通索引。(5)Addi:建立索引时是否关闭以前建立的 索引,默认关闭。例 3.25 将例 3.21 , 3.22 , 3.23 中 3各索引建立在结构复合索引文件”学生表 .cdx”中

Page 88: 第 3 章 数据库与表的设计与操作

Use 显示表

Index on 入学成绩 tag 成绩

Index on 班级 +str(入学成绩 )

tag 班级 _成绩

Index on 班级 +str(date()-出生日期 )

tag 班级 _日期

Page 89: 第 3 章 数据库与表的设计与操作

例 3.26 将例 3.21, 3.22, 3.23中 3各索引建立在非结构复合索引文件”索引.cdx”中。

Use 学生表

Index on 入学成绩 tag 成绩 of 索引

Index on 班级+str(入学成绩 )

tag 班级 _成绩 of 索引

Index on 班级+str(date()-出生日期)

tag 班级 _日期 of 索引

Page 90: 第 3 章 数据库与表的设计与操作

( 二 )复合索引文件的打开结构复合索引文件的打开随表的打开而打开,非结构复合索引文件的打开与关闭与单索引文件相同。命令格式 1 :use 文件名 index <非结构复合索引文件名列表 >命令功能:在打开表文件的同时打开与表相关的非结构复合索引文件。

Page 91: 第 3 章 数据库与表的设计与操作

命令格式 2 :set index to <非结构复合索引文件名清单 >命令功能:在表文件打开的情况下,打开指定的非结构复合索引文件。(三 )复合索引文件的关闭结构复合索引文件的关闭随表的改变而关闭,非结构复合索引文件的关闭与关闭与单索引文件相同。

Page 92: 第 3 章 数据库与表的设计与操作

命令格式:Set index to ( 或 close index)命令功能:关闭所有已打开的索引文件。(四 ) 设置主索引文件复合索引文件打开后,其中的索引不会自动设置主索引标识,必须使用命令设置。命令格式:Set order to <tag 索引标识 >/<数值表达式 >

Page 93: 第 3 章 数据库与表的设计与操作

说明:

1) tag 索引标识:将复合索引文件中给定的

索引标识设置为主索引标识。

2)将复合索引文件中第几个索引标识设置为

主索引标识。

例 3.27 非结构复合索引文件的主索引标识的

设置。

Page 94: 第 3 章 数据库与表的设计与操作

Use 显示表

Index on 入学成绩 tag 成绩

Index on 班级 +str(入学成绩 )

tag 班级 _成绩

Index on 班级 +str(date()-出生日期 )

tag 班级 _日期 List

由显示结果可知,最后建立的索引为主索引

Page 95: 第 3 章 数据库与表的设计与操作

Set index to

List

显示表的原始物理顺序,即 Set index to 命

令所有的复合索引文件关闭。

Close index

Set index to 索引 .cdx

List

Page 96: 第 3 章 数据库与表的设计与操作

按表的原始物理顺序显示,可知虽然非结构

复合索引文件已打开,但没有主索引标识。

Set order to tag 成绩

List

由显示结果可知,非结构复合索引文件的索

引标识成绩是主索引标识。

Set order to 2 of 索引

list

Page 97: 第 3 章 数据库与表的设计与操作

由显示结果可知,非结构复合索引文件的索

引标识班级 _成绩是主索引标识。

(四 ) 重新索引

对表文件进行插入、删除和修改操作时,如

果打开相应的索引文件,则这些索引文件会

随着表文件的更新而自动跟新,否则就不会

变化,必须重新索引。

Page 98: 第 3 章 数据库与表的设计与操作

重新索引可以使用前面的索引命令重建索

引,也可以用重新索引命令。

命令格式:

Reindex:

命令功能:

重新建立打开的索引文件。

Page 99: 第 3 章 数据库与表的设计与操作

(五 )删除索引索引的删除可以在表设计器中实现,也可用命令实现,具体是:命令格式:dele tag 索引标识 [of 非结构复合索引 ]功能:删除指定的索引如果要删除所有的索引就用命令:dele tag all

Page 100: 第 3 章 数据库与表的设计与操作

三、表的查找可以用loacte命令实现对表顺序查找,也可用seek或find命令实现带索引的记录的快速查找。查找命令除可实现记录查找还可实现记录定位。1、顺序查询命令 locate命令格式:locate [范围 ] [for条件 ]命令功能:查找当前表中满足条件的第一条 记录。

Page 101: 第 3 章 数据库与表的设计与操作

使用说明:(1)缺省范围。默认为 all(2) 若找到满足条件的首记录,则指针指向该

记录,否则指向记录范围尾或文件尾。(3) 若缺省所有可选项,则记录指针指向 1号

记录。(4) 若想继续查找,可用 continue命令。

Page 102: 第 3 章 数据库与表的设计与操作

另: continue命令命令格式: continue命令功能:查找并定位到下一个符合条件的 记录上。使用说明 :(1) 使用本命令前,必须使用 locate 命令(2) 此命令可反复使用,直到记录指针指向文

件尾 .

Page 103: 第 3 章 数据库与表的设计与操作

例 3.29 在学生表中查找并逐一显示所有的男同学。命令序列是 :Use 学生表Locate for 性别 =" 男 "

Disp之后继续输入Contiue disp

Page 104: 第 3 章 数据库与表的设计与操作

直到状态栏中显示已到定位范围末尾。2、索引查找命令 find 和 seek索引使得记录按某一关键字逻辑排序,从而提高了数据查找的速度(如用索引查询命令)find 和 seek命令需要使用索引实现索引查找1)字符查找命令 find命令格式: find < 表达式 >命令功能:在当前索引表中查找关键字与所

Page 105: 第 3 章 数据库与表的设计与操作

给字符串相匹配的第一个记录,若找到记录指针指向该记录,否则指向文件尾。使用说明:(1)表达式:可以是字符常量、数值常量、字 符型内存变量。(2)find命令只能查找字符常量、数值常量、 字符型内存变量,且表必须按相应表达 式索引。如表达式是李立,则表必须按 姓名索引。否则命令使用错误

Page 106: 第 3 章 数据库与表的设计与操作

(3) 查找的字符串无需加引号(加上也可以),若按字符型内存变量查找,必须使用宏替换函数 &。

(4) 本命令只能找出符合条件的第一条记录,若有符合条件的记录且要继续查找其他符合条件的记录,可使用 skip 命令。

(5) 使用本命令时,若找到符合条件的记录,则 found()函数的结果为真,否则为假。

Page 107: 第 3 章 数据库与表的设计与操作

1) 查找命令 seek命令格式: seek <表达式 >命令功能:在当前索引表中查找关键字与所给字符串相匹配的第一个记录,若找到记录指针指向该记录,否则指向文件尾。使用说明:(1)只能找出符合条件的第一条记录,若有符合条件的记录且要继续查找其他符合条件

Page 108: 第 3 章 数据库与表的设计与操作

的记录,可使用 skip 命令。(2) 本命令可查找字符型、数值型、日期型或逻辑型据,表必须按相应表达式索引。(3) 若表达式为字符串,则必须用定界符扩起来,若按字符型内存变量查找,直接用变量名,不能使用宏替换函数。

(4) 使用本命令时,若找到符合条件的记录, 则 found()函数的结果为真,否则为假。

Page 109: 第 3 章 数据库与表的设计与操作

3.4 表的统计与汇总

一、统计记录个数命令格式:Count [<范围 >][for<条件1>][while <条件 2>][to<内存变量 >]功能:统计当前表中指定范围内满足条件的 记录个数

Page 110: 第 3 章 数据库与表的设计与操作

说明:缺省<范围 >表示all,缺省to <内存变 量 >,仅将统计结果显示在状态栏中。例:统计学生表中女同学的人数 count for 性别 =“女" to aa? aa二、数值型字段纵向求和命令格式:sum[<字段表达式表 >] [<范围 >] [for<条件1>][while<条件2>][to<内存变量表>][to array<数组 >]

Page 111: 第 3 章 数据库与表的设计与操作

功能:对当前表中指定范围内满足条件的记录 ,累加其指定的数值字段值,结果可分别存于指定 的内存变量或数组中。说明:(1)<字段表达式表 >中各表达式的求和结果存放在内存变量表或者数组中,若缺省则对所有数值型字段求和。(2)缺省 <范围 >表示 all。(3) 用到的数组不需要提前定义。

Page 112: 第 3 章 数据库与表的设计与操作

例 3.33 ( 1)对学生表中的入学成绩字段进行求和( 2)求计算机班同学的平均入学成绩命令序列是:第一问:Use 学生表Sum 入学成绩 to a?"所有学生的入学成绩总和为 :"+str(a)

第二问

Page 113: 第 3 章 数据库与表的设计与操作

Sum 入学成绩 to s for 班级 ="计算机 "

Count to n for 班级 ="计算机 "

?"计算机班同学的平均入学成绩为 "+str(s/n)三、数值字段纵向求平均命令格式:Average [<数值表达式 >] [< 范围 >] [for< 条件 1>][while <条件 2>][to<内存 变量表 >][to array<数组 >]

Page 114: 第 3 章 数据库与表的设计与操作

功能:对当前表中指定范围内满足条件的记录,计算其指定数值字段的算术平均值,结果可分别存于指定 的内存变量或数组中。如例 3.33 的第二问就可该写为:Average 入学成绩 to s for 班级 ="计算机 "

四、分类汇总命令

分类汇总是将数据表中的数据按照某个字段

进行排序,再对其他需要汇总的字段进行汇

总统计。

Page 115: 第 3 章 数据库与表的设计与操作

命令格式:total to < 新表名 >on<关键字 >[fields<字段名表 >][< 范围 >][for<条件 1>] [while<条件 2>] 功能:在当前表中,分别对关键字值相同的记录的数值型字段值求和,并将结果存入一个新表,一组关键字值相同的记录在新表中产生一个记录,对于汇总字段,只将关键字值相同的第一个记录的字段值放入该记录。

Page 116: 第 3 章 数据库与表的设计与操作

使用说明 :1) 在使用 total 之前,当前表文件必须按关键字进行排序或索引。2)若没有任何可选项,表示对全部记录的所有数值型字段按关键字进行分类求和。3)分类的结果生成新的表文件,新表文件的结构与原来的表文件结构相同,但没有备注型字段。

Page 117: 第 3 章 数据库与表的设计与操作

例 3.34 对学生表中的入学成绩按班级进行分类汇总。Use 学生表Index on 班级 tag bjTotal on 班级 to hzb fields rxcjUse hzblist

Page 118: 第 3 章 数据库与表的设计与操作

3.5 多表的使用

一、选择工作区1 、 VF中工作区的数量和工作区与表的关系 VF中存在着 32767个工作区,每个工作区中仅能打开一个表,如果在同一时刻需要打开多个表,则只需要在不同的工作区中打开不同的表就可以了,刚进入系统时,默认 1 号工作区为当前工作区。

Page 119: 第 3 章 数据库与表的设计与操作

2 、工作区的表示有 3种表示方法:(1) 数字表示: 1, 2, 3,……, 32767(2) 字母表示: A, B, C,……, J, W11 , W12 ,…… W32767(3) 别名表示:在某工作区打开表时指定了别名,则该别名就可以表示该工作区了。(注:若在打开表时没指定别名, 则表名就默认为别名)

Page 120: 第 3 章 数据库与表的设计与操作

3 、当前工作区的选择(1) 当前工作区的概念:正在进行操作的工作 区称为当前工作区(2) 当前工作区的选择:用命令 select实现 命令格式: select 数字区号 /字母区号 /别名 命令功能: 选择指定的工作区为当前工作区。

Page 121: 第 3 章 数据库与表的设计与操作

使用说明:1)打开表文件时,可以该表起一个别名,格式为: use 表文件名 allas 别名2) 用该命令选择工作区时,最后选择的工作区为当前工作区。

3) 当前工作区内表文件的字段可以直接使用,若要使用其他工作区表文件的字段

要在被访问字段名之前加上别名或区名

Page 122: 第 3 章 数据库与表的设计与操作

具体操作是:别名 .字段名或别名 ->字段名;区名 .字段名或区名 ->字段名。例 3.35工作区的选择Use 学生表Select 2/BUse 成绩表List Go topSele 1

Page 123: 第 3 章 数据库与表的设计与操作

ListGo 1Disp 姓名 ,性别 ,B->课程号 ,B->成绩二、表之间建立关联

临时关系:在两个自由表见建立的关系,它

可以实现相关表中记录指针的移动,即一个

表中的记录指针发生移动时,跟它相关连的

另一个表的记录指针也回发生相应的移动。

Page 124: 第 3 章 数据库与表的设计与操作

这对于基于两表的数据查询、浏览和表间数据的替换意义重大,但它不能长久存在,一旦表关闭则这种临时关系不再存在,当需要使用时,必须重建。 关联的类型:对于表间临时关系,若主表中的一个记录在子表中有多个记录对应则可以建立一对多关系,否则建立一对一关系。(注:不能建立多对多关系)

Page 125: 第 3 章 数据库与表的设计与操作

父表和子表父表:指一对一或一对多关系中的主表或主控表,对于表间临时关系,当父表的当前记录指针发生移动时跟它关联的子表的当前记录指针也根据建立的关系而随之发生移动。子表:指一对一或一对多关系中的相关表或受控表,对于表间临时关系,当前记录指针的移动受父表的控制。

Page 126: 第 3 章 数据库与表的设计与操作

建立自由表表间临时关系注:在建立临时关联之前,子表必须根据建立关系的字段或字段表达式建立索引,且是主控索引索引,一般是普通索引。命令格式:set relation to 关联表达式 /数值表达式 into 工作区号 /别名 功能:以当前表为父表和别名区中打开的表 建立临时关联

Page 127: 第 3 章 数据库与表的设计与操作

使用说明:(1) 关联表达式 :指父表中的关键字段,同时也是子表的外部关键字,子表以它建立普通索引。(2)执行此命令不产生新表文件,称为表间的逻辑连接。

(3) : set rela to 命令是删除当前工作区中所有的关联。

(4) 别名:子表所在工作区的别名。

Page 128: 第 3 章 数据库与表的设计与操作

用命令法建立临时关联的步骤:第一步:在工作区中打开子表并建立相应的 索引成为主控索引第二步:在另一工作区中打开主控表第三步:用 set relation 命令建立临时关联例 3.36 将学生表和成绩表按学号建立关联,然后显示两个表文件中的学号、姓名、性别、班级、课程号、成绩字段的内容。

Page 129: 第 3 章 数据库与表的设计与操作

Sele 1Use 学生表Sele 2Use 成绩表Index on 学号 tag xh Sele 1Set relation in 学号 into 成绩表List 学号 ,姓名 ,性别 ,班级 , 成绩表 .课程号 ,成绩表 .

成绩

Page 130: 第 3 章 数据库与表的设计与操作

三、表之间的连接指两个表文件之间通过命令操作,根据一定的条件实现物理连接,从而产生一个新的表文件。命令格式:Join with <工作区号 >/< 别名 >

to <新表文 件名 > [fields < 字段名表>]

[for/while< 条件表达式 >]

Page 131: 第 3 章 数据库与表的设计与操作

命令功能:将不同工作区的两个表文件,根据一定的条件进行连接,生成新的表文件。使用说明:1 、此命令应该在当前工作区输入, < 别名

>

是被连接的表文件的别名,它应该在另一个工作区被打开。2 、新的表文件生成后,处于关闭状态。

Page 132: 第 3 章 数据库与表的设计与操作

3、 fields 字段名表:指定新表文件中所包含的字段及其排列顺序,但该表中的字段必须是原来两个表文件中所包含的字段,如果没有此选项,新表文件中的字段将包含原来两表文件的所有字段,同名字段自己保留一项。4、 for/while< 条件表达式 > :指定两个表文件连接的条件,只有满足条件的记录才能连接。

Page 133: 第 3 章 数据库与表的设计与操作

5 、连接的过程:在当前工作区的表文件中顺序抽出各个记录,每次抽出一个记录后,就在另一个工作区的表中寻找符合条件的记录每找到一个,就与当前工作区的表文件中的记录进行连接而成为一个新记录。例 3.37通过学号把学生表和成绩表连接起来生成一个有学号、姓名、性别、班级、课程号、成绩的新表文件” 学生成绩 .dbf”

Page 134: 第 3 章 数据库与表的设计与操作

Sele aUse 学生表Sele bUse 成绩表Join with a for 学号 =a. 学号 to 学生成绩 fields 学号 ,a.姓名 , a.性别 ,a.班级 ,课程号 ,成绩Sele cUse 学生成绩

Page 135: 第 3 章 数据库与表的设计与操作

3.6 数据库的创建及基本操作

数据库的概念:数据库是表和表间关系的集合,数据库文件扩展名是 .dbc,与该文件相关的系统还会自动建立一个扩展名为 dct的数据库备注文件和

一个扩展名为 dcx 的数据库索引文件。

Page 136: 第 3 章 数据库与表的设计与操作

一、创建数据库建立数据库的常用方法有 3种:(1) 通过新建对话框建立数据库步骤:1)打开文件菜单,选择新建命令2 )在新建对话框中寻找新建数据库3)在创建对话框中输入数据库文件名,按保存按钮,进入数据库设计器窗口。

Page 137: 第 3 章 数据库与表的设计与操作

(2) 通过命令交互建立数据库命令格式:Create database [<数据库名 >]命令功能:创建一个新的数据库二、打开数据库1、菜单方式 打开打开对话框,选择打开文件类型为数

据库,选择要打开的数据库文件。

Page 138: 第 3 章 数据库与表的设计与操作

2 、命令方式命令格式 :open database [<数据库名 >] 命令功能:打开指定的数据库文件。

另:指定当前数据库 vf 在同一时刻可以打开多个数据库,但同一时刻只有一个数据库是可用的,这个数据库称为当前数据库。

Page 139: 第 3 章 数据库与表的设计与操作

指定当前数据库的命令是:命令格式: set database to 数据库名或通过常用工具栏上的数据库下拉列表进行选择,指定当前数据库。注: set database to 命令是取消当前数据库,即使得所有打开的数据库都不是当前数据库。

Page 140: 第 3 章 数据库与表的设计与操作

三、向数据库添加数据表 (自由表 )1、菜单方式通过数据库设计器窗口添加,即在数据库设计器窗口打开的情况下,打开数据库菜单,选择添加表命令或右单击数据库设计器窗口的空白处,选择快捷菜单中的添加表命令。2、命令来添加命令格式: add table [自由表名 /?]命令功能:望当前数据库中添加指定的自由表

Page 141: 第 3 章 数据库与表的设计与操作

四、从数据库中移去数据表将数据库表从数据库中移去让它成为自由表或从数据库中删除。与表的添加类似也有两种方法:前一种操作方法与表的添加操作类似,在移去时系统会询问是进行移去操作还是删除操作,根据实际情况进行相应的选择即可。在用移去或删除命令时先打开数据库再进行移去或删除操作。

Page 142: 第 3 章 数据库与表的设计与操作

命令格式:remove table [表文件名 /?][delete]命令功能:从数据库中移去表让它成为自由表,有 delete 选项表示删除表,但在回收站中保留副本。五、关闭数据库命令格式 :Close database 或 close all

Page 143: 第 3 章 数据库与表的设计与操作

命令功能:关闭所有打开的数据库和表六、删除数据库命令格式:Delete database < 数据库名 >[delete tables]

命令删除:删除指定的数据库文件。说明:如果有 [delete tables]选项,表示删除数据库的同时也删除库中的表文件,否则表示删除数据库之后,库中的表将成为自由表。

Page 144: 第 3 章 数据库与表的设计与操作

七、设置字段属性1 、设置字段标题打开数据库,右单击要设置的表,选择修改命令,打开表设计器窗口,选择要设置标题的字段,在下面的标题后的文本框中输入标题,该标题在浏览窗口中可显示。2 、设置字段有效性规则及说明 用于设置字段值的有效数据范围及输入

Page 145: 第 3 章 数据库与表的设计与操作

不在有效范围之内时,出现的出错提示信息3 、设置字段的默认值 为指定的字段设置默认值。在数据输入时该字段的字段值不再需要重新输入,而在需要时进行修改。4 、设置输入掩码和字段注释 为了提高表中数据输入的速度和准确性,

可以设置字段的掩码。

Page 146: 第 3 章 数据库与表的设计与操作

为了提高数据表的使用效率及其共享性,可以对在加以注释。

Page 147: 第 3 章 数据库与表的设计与操作

3.7 建立表与表之间的关系

一、数据库表间关联的建立方法 在主键所在表的父表的主键上建立主索引,在外键所在的子表的外键上建立主索引或普通索引,然后将鼠标的指针指向从父表的主索引,压住鼠标拖曳到子表的主索引或普通索引上松开即可建立一对一或一对多的永久联系。

Page 148: 第 3 章 数据库与表的设计与操作

二、数据库表间关联的类型 有两种,分别是主索引和主索引之间的

一对一联系和主索引和普通索引之间的多对多联系。三、数据库表间关联的功能主要用于实现数据的完整性约束。