您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > visual foxpro 程序设计 第五、六章
1第5章索引及创建索引王兰2010.10.72主要内容什么是索引索引类型创建索引索引的使用35.1什么是索引排序是从物理上对表进行重新整理,按照指定的关键字段来重新排列表中数据记录的顺序,并产生一个新的表文件。由于新表的产生即费时间也浪费空间,实际中很少用。格式:SORTTO新文件名ON字段1[/A|/D][/C][,字段2[/A|/D][/C]...][FOR逻辑表达式1][WHILE逻辑表达式2][FIELDS字段名表]功能:对当前打开的表,按指定的字段进行排序,生成新的表文件。4/A表示升序/D表示降序/C表示不区分大小写当有多个关键字段时,先按字段1的值排列,其值相同的,再按字段2的值排列。原库中的记录发生变化,排序文件不能自动完成同步修改。该命令执行后,当前表不变,产生的新表不会自动打开。占空间、废时间,很少用。例:将rcda.dbf按性别进行降序排列USErcdaSORTTOrcda1ON工资现状/D55.1什么是索引索引是从逻辑上对表进行重新整理,按照指定的关键字段(或其表达式)的建立索引文件,它不改变表中数据的物理顺序。表一旦按指定的关键字段或索引表达式建立索引后,就产生了一个相应的索引文件。一旦表和相关的索引文件被打开,对表进行操作时,则记录的顺序按索引表达式值的逻辑顺序显示和操作。在VisualFoxPro系统中,可以为一个表建立多个索引,每一个索引确定了一种表记录的逻辑顺序。在VisualFoxPro系统中,同一个数据库中的多个表以同名字段建立索引后,可根据索引表达式的值建立数据库中多个表间的关联关系。65.2索引类型VisualFoxPro系统提供了四种不同的索引类型,它们分别是:主索引、候选索引、普通索引、唯一索引。索引类型是依靠表中索引字段的数据是否有重复值而定的。1、主索引(primaryindex)其索引表达式的值是唯一能够标识每个记录处理顺序的,即每个记录的索引表达式的值是唯一的。一个表中只能有一个主索引。75.2索引类型2、候选索引(candidateindex)像主索引一样,它的索引表达式的值夜是能够唯一标识每个记录处理顺序的值,即索引表达式无重复值。一个表可以建立多个候选索引。3、普通索引(regularindex)给某一个表中的某一字段创建索引,这一字段的值若有相同值,就不能创建主索引或候选索引,但可以定义其索引类型为普通索引。4、唯一索引(uniqueindex)表示把由索引表达式为每个记录产生的唯一值存入索引文件中,如果表中记录的索引表达式值相同,则只存储第一个索引表达式的值。8利用表设计器创建索引的操作步骤文件打开表的名字显示表设计器索引索引名索引类型索引表达式保存5.3创建索引95.3创建索引使用命令创建索引:IndexOn索引表达式To索引文件名/Tag索引名[For条件表达式][Ascending][Descending][Unique][Candidate]10例:为表“rcda”中的“编号”字段建立候选索引,方向为升序。usercda.dbfexclusiveindexon编号tag编号ascendingcandidate为表“cjda”中的“编号”字段建立普通索引,方向为升序。usecjda.dbfexclusiveindexon编号tag编号ascending为表“zytc”中的“编号”字段建立候选索引。usezytc.dbfexclusiveindexon编号tag编号ascendingcandidate115.4索引的使用按索引字段排序在VisualFoxPro系统环境下,用字段名建立索引,是对记录排序最常见的操作。一个表经常分别指定几个字段名建立索引,每一个索引表示一种表中记录的顺序。按索引表达式排序在VisualFoxPro系统环境下,允许指定多个字段对记录排序,这时可以使用索引表达式,对表中的记录顺序进行重新排序。12建立索引重新排列数据的顺序的操作步骤文件打开表设计器索引确定浏览属性索引顺序确定浏览13例:按索引字段排序为表”zytc”中的字段“职称”建立普通索引,并显示结果。为表”rcda”中的字段“工作现状”建立普通索引,并显示。按索引表达式排序为表“rcda”中的“性别”和“工资现状”两个字段建立普通索引,并显示结果。14第6章创建数据库15主要内容创建数据库数据库中表的使用建立表间的关联关系建立数据库打开数据库向数据库中添加表设置表中字段的显示标题设置表中字段的注释设置表中字段的默认值设置表中字段的有效性规则一对一的关系一对多的关系设置参照完整性166.1创建数据库使用表可以存储和显示一组相关的数据,如果想把多个表联系起来,就一定要建立数据库。只有把这些有关系的表存放在同一个数据库中,确定它们的关联关系,数据库中的数据才能被更充分的利用。6.1.1建立数据库CreateDataBase数据库名17创建数据库的操作步骤文件新建数据库新建文件数据库设计器保存数据库名确定186.1.2打开数据库ModifyDataBase数据库名6.1.3向数据库添加数据表通常数据表只能属于一个数据库文件,如果想向当前数据库中添加的表已被添加到了别的数据库中,则必须先将其从其他数据库中移去后才能添加到当前数据库中。操作步骤:文件打开数据库数据库设计器添加表打开数据库设计器添加表打开保存196.2数据库中的表的使用在数据库操作环境下不仅可以完成表操作环境的所有操作,而且还有许多新的操作。6.2.1设置表中字段的显示标题在进行浏览时,如果用户不设置字段标题,则该表的标题显示的是字段名。为了在浏览表中数据时能更清晰、方便,可以自定义字段标题。给数据库文件”数据1“中的表”rcda“设置显示标题。设置”编号“字段的显示标题为”地区编码和登记顺序?206.2.2设置表中字段的注释为了提高数据表的使用效率及其共享性,对字段加以注释,可清楚地掌握字段的属性、意义及特殊用途等。给”数据1“中的表”cjda“的”成果类别“字段设置注释信息为:成果类别可以分为论文、著作、软件等。6.2.3设置表中字段的默认值定义某一字段数据的默认值,可以提高表中数据输入的速度和准确性。给”数据1“中的表”zytc“的”英语水平“字段设置默认值为”精通“。216.2.4设置表中字段的有效规则定义字段的有效规则,同样可以提高表中数据输入的速度和准确性。给”数据1“中的表”rcda“的”工资现状“字段设置有效规则为:工资现状100000.and.工资现状1000。如果在追加数据的时候,不在此区间范围内则违反了字段的有效规则。22建立数据库文件中的表间关联,一是要保障建立关联的表具有相同属性的字段;二是每个表都要以该字段建立索引。在这一前提下,以其中一个表中的字段(主键)与另一表中的同名字段(外键)建立关联,两个表间就具有了一定的关系。6.3建立表间的关联关系236.3.1建立表间的一对一关系建立两个表之间的”一对一“关系,先要使两个表都具有相同属性的字段;然后定义父表中该字段为主索引字段(其字段值是唯一的),字表中与其同名的字段为候选索引或主索引(其字段值是唯一的)。由于两个表中的相同属性的字段值具有一对一的对应关系,因此两个表之间便可建立”一对一“的关系。246.3.2建立表间的一对多关系建立两个表之间的“一对多”关系,先要使两个表都具有相同属性的字段;然后定义父表中该字段为主索引字段(字段值是唯一的),子表中与其同名的字段定义为普通索引字段或唯一索引字段(其字段值是重复的)。由于两个表中的相同属性的字段值具有一对多的对应关系,因此两个表之间便可以建立“一对多”的关系。256.3.3设置参照完整性在数据库中的表建立关联关系后,可以设置管理关联记录的规则。这些规则可以控制相关表中记录的插入、删除或修改。在“参照完整性生成器”窗口,可以设置记录的插入、删除或修改规则。26设置记录的参照完整性规则的操作步骤文件打开数据库编辑参照完整性删除规则插入规则更新规则保存
本文标题:visual foxpro 程序设计 第五、六章
链接地址:https://www.777doc.com/doc-3970348 .html