您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 数据库与表的创建和使用
数据库与表的创建和使用一、常用字段类型1、字符型2、数值型3、日期型4、逻辑型(T是,F否)5、备注型二、项目管理器项目管理器是VFP中处理数据和对象的主要工具。项目管理器是系统的“控制中心”。一个项目是文件、数据、文档、对象的集合,项目文件以扩展名*.pjx保存。创建一个项目文件的方法1、CREATEPROJECT项目文件名或?2、文件—新建3、工具栏“新建”按钮二、数据库与表的概念在VFP中有两种表:一种是自由表,它独立于任何数据库;一种是数据库表,它是数据库的一部分。数据库和表是两个不同的概念。表是处理数据、建立关系数据库的应用程序的基础单元,它用于存储收集来的各种信息。而数据库是表的集合,它控制这些表协同工作,共同完成特定任务。本节重点:数据库的创建和使用,数据库表的创建和使用,表的扩展属性,数据库表之间的关系的创建。三、数据库的创建(*.dbc)1、使用界面方式创建数据库:项目管理器、“新建”按钮2、使用命令方式创建数据库CREATEDATABASE数据库文件名或?四、打开数据库OPENDATABASE数据库名或?五、设置当前数据库SETDATABASETO数据库名六、修改数据库MODIFYDATABASE数据库文件名或?七、关闭数据库CLOSEDATABASE&&关闭当前数据库CLOSEDATABASEALL&&关闭所有数据库八、删除数据库DELETEDATABASE数据库文件名或?数据库表的创建和使用(*.dbf)在VFP中,每个数据表可以有两种存在状态:自由表(即没有和任何数据库关联的*.dbf文件)或数据库表(即与数据库关联的*.dbf文件)。属于某一数据库的表称为“数据库表”;不属于任何数据库而独立存在的表称为自由表。数据库表和自由表可以相互转换。一、数据库表的创建CTEATE文件名二、表结构的修改MODIFYSTRUCTURE三、表的打开和关闭USE表名称&&打开表CLOSETABLE&&关闭当前表CLOSEALL&&关闭所有文件四、浏览记录BROWSE五、增加记录APPEND&&在表的尾部增加记录APPENDBLANK&&追加空白记录APPENDFROM文件名&&将另一个表的所有记录追加到当前表中,但必须字段一样。INSERT&&在表的任意位置插入新的记录六、删除记录的命令1、逻辑删除DELETEFOR条件表达式2、恢复删除RECALLFOR条件表达式3、物理删除PACK4、物理删除表中的全部记录ZAP七、修改记录EDITCHANGE八、显示记录LISTFOR条件表达式&&显示满足条件的记录DISPLAY&&显示当前记录,分屏显示所有记录九、查询定位GOTO记录号&&直接按记录号定位GOTOTOP&&定位到表头GOTOBOTTOM&&定位到表尾SKIPN&&N可以是正整数或负整数,默认是1LOCATEFOR条件表达式&&按条件定位记录位置十、索引若要按特定的顺序定位、查看或操作表中记录,可以使用索引。VFP中索引分为主索引、候选索引、惟一索引和普通索引四种。1、主索引:在指定字段或表达式中不允许出现重复值的索引。一个表只能创建一个主索引。2、候选索引:候选索引和主索引具有相同的特性,建立候选索引的字段可以看作是候选关键字,所以一个表可以建立多个候选索引。3、惟一索引:是为了保持同早期版本的兼容性,它的“惟一性”是指索引项的惟一,而不是字段值的惟一。4、普通索引:可以决定记录的处理顺序,它不仅允许字段中出现重复值、并且索引项中也允许出现重复值。在一个表上可以建立多个普通索引、多个惟一索引、多个候选索引,但只能建立一个主索引。一般来说,主索引用于主关键字字段;候选索引用于那些不作为主关键字但字段值又必须惟一的字段;普通索引用于一般地提高查询速度;惟一索引用于一些特殊的程序设计。5、用命令建立索引INDEXON字段或字段表达式TO索引文件名(*.idx)6、使用索引(在表设计器中设置)SETORDERTON7、使用索引快速定位(在表设计器中设置)SEEK表达式的值ORDER字段名8、删除索引DELETETAG索引名DLEETETAGALL&&删除全部索引十一、数据完整性在数据库中数据完整性是指保证数据正确的特性。数据完整性一包括实体完整性、域完整性和参照完整性等,VFP提供了实现这些完整性的方法和手段。1、实体完整性与主关键定实体完整性是保证表中记录惟一的特性,即在一个表中不允许有重复的记录。在VFP中利用主关键定或候选关键字来保证表中的记录惟一,即保证实体惟一性。如果一个字段的值或几个字段的值能够惟一标识表中的一条记录,则这样的字段称为候选关键字。在一个表上可能会有几个具有这种特性的字段或字段的组合,这时从中选择一个作为主关键字。在VFP中将主关键字称作为主索引,将候选关键字称候选索引。由上所述,在VFP中主索引和候选索引有相同的作用。2、域完整性与约束规则域完整性应该是我们最熟悉的了,以前我们所熟知的数据类型的定义都是域完整性的范畴。如对于数值字段,通过指定不同的说明不同范围的数值类型,从而可以限福字段的取值类型和取值范围。但这些对域完整性还远远不够,我们否可以用一些域约束则来进一保证域完整性。域约束规则也称作字段有效性规则,在插入或修改字段值时被激活,主要用于数据输入正确性检验。建立字段有效性规则比较简单直接的方法仍然是在表设计器中建立,在表设计器的“字段”选项卡中有一组定义字段有效性规则的项目,它们是规则(字段有效性规则)、信息(违背字段有效性规则时的提示信息)、默认值(字段的默认值)三项。具体操作步骤是:①首先单击选择要定义字段有效性规则的字段。②然后分别输入和编辑规则、信息及默认值等项目。字段有效性规则的项目可以直接输入,也可以单击输入框旁的按钮打开表达式生成器对话框编辑、生成相应的表达式。以订货管理数据库中的职工表为例,设职工的工资有效性规则在1000至3000元之间当输入的职工工资不在此范围时给出出错提示,职工的默认工资值是1200为此,在“规则”框中(或表达式生成器)输入表达式;工资=1000.AND.工资=3000在“信息”框中(或表达式生成器)输入表达式;“工资输入错误,应该在1000-3000元之间。”在“默认值”框中(或表达式生成器)输入表达式;1200注意:“规则”是逻辑表达式,“信息”的字符串表达式,“默认值”的类型则视字段的类型而定。3、参照完整性与表之间的关联参照完整性与表之间的关联有关,它的大概含义是:当插入、删除或修改一个表的数据时通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确。假如一个职工通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确。假如一个职工记录由仓库号、职工号和工资3个字段构成,当插入一条这样的记录时,如果没有参照完整性的检查,则可能会插入一人并不存在的仓库的职工记录,这时插入的记录肯定是错误的;如果在插入仓库的职工记录之前,能够进行参照完整性检查(检查指定职工记录的仓库号在仓库表中是否存在)则可以保证插入记录的合法性。参照完整性是关系数据库管理系统的一个很重要的功能。在VFP中为了建立参照完整性,必须首先建立表之间的联系(在中文版VFP中称为关系)。为了理解这里的联系,读者可以回忆一下第一章介绍概念数据模型时讨论的实体之间的联系和联系类型。最常见的联系类型是一对多的联系,在关系数据库中通过连接字段来体现和表示联系。连接字段在父表中一般是主关键字,在子表中是外部关键字(如果一个字段或字段的组合不是本表的关键字,而是另外一个表的关键字,则这样的字段称为外部关键字)。在数据库设计器中设计表之间的联系时,要在父表中建立主索引,在子表中建立普通索引,然后通过父表的主索引和子表的普通索引建立起两人表之间的联系。为了建立表之间的联系,假设在订货管理数据库中如下4个表:仓库表,含有字段:仓库号、城市、面积、并以仓库号建立主索引;职工表,含有字段:仓库号、职工号、工资,并以职工号建立主索引,以仓库号建立普通索引;供应商表,含字段供应商号、供应商名、地址、并以供应商号建立主索引;订购单表,含有字段:职工号、供应商号、订购单号、订购日期,并以订购单号建立主索引分别以职工号和供应商号建立普通索引。图3.17显示了数据库设计器中已经建立好的4个表。在这4个表中,仓库和职工之间有一个一对多的联系,连接字段是仓库号;职工和订购单之间有一个一对多的联系,连接字段是职工号;在供应商和订购单之间有一个一对多的联系,连接字段是供应商号。我们先建立仓库和职工之间的一对多联系,具体方法是:在图3.17所示的数据库设计设计中用鼠标单击选中仓库表中的主索引仓库号,按住鼠标左键,并拖动鼠标到职工表的仓库号索引上(鼠标箭头会变成小矩形状),最后释放鼠标联系就建立好了。用同样的方法可以建立职工和订购单的联系及供应商和订购单之间的联系。建立好联系的表如图3.18所示(观察连接表的符号,这时默认的是一对多的联系)。如果在建立联系时操作有误,随时可以通过编辑修改联系。方法是用鼠标右击要修改的联系,然后从弹出的菜单中选择“编辑关系”打开“编辑关系”对话框,如图3.19所示。注意:在中文VFP中将联系称为关系。在图3.19所示的界面中,通过在下拉列表框中重新选择表或相关表的索引名则可以达到修改联系的目的。到目前为止,只是建立了表之间的联系,VFP没有建立任何参照完整性约束。在建立参照完整性之前必须首先清理数据库,这时可以在“数据库”(只要打开了数据库设计器就会有该菜单项)菜单中选择“清理数据库”。在清理完数据库后,用鼠标右击表之间的联系并从弹出菜单中选择“编辑参照完整性”打开的参照完整性生成器如图3.20所示(注意:不管单击的是哪个联系,所有联系将都出现在参照完整性生成器中)。参照完整性规则包括更新规则、删除规则和插入规则。更新规则规定了当更新父表中的连接字段(主关键字)值时,如何处理相关的子表中的记录:如果选择“级联”则用新的连接字段值自动修改子表中的所有相关记录;如果选择“限制”,若子表中有相关的记录,则禁止修改父表中的连接字段值;如果选择“忽略”,则有作参照完整性检查,即可以随意更新父记录的连接字段值。删除规则规定了当删除父表中的记录时,如何处理子表中相关的记录:如果如果选择“级联”,则自动删除子表中的所有相关记录;如果选择“限制”,若子表中有相关的记录,则禁止删除父表中的记录;如果选择“忽略”,则不作参照完整性检查,即删除父表的记录时与子表无关。插入规则规定了当在子表中插入记录时,是否进行参照完整性检查:如果选择“限制”,若父表中没有相匹配的连接字段值则禁止插入子记录;如果选择“忽略”,则不作参照完整性检查,即可以随意插入子记录。根据以上规则可以为学生管理数据库的学生、课程、成绩3个表设计参照完整性:将它们的插入规则设定为“限制”(即插入成绩记录时检查相关的学生和课程是否存在,如果不存在则禁止插入成绩记录);将它们的删除规则设定为“级联”(即在删除学生记录和课程记录时,自动删除相关的成绩记录);将它们的更新规则也设定为“级联”(即当修改学生的学号或课程的课程号,也自动修改相关的成绩记录)注意:在设定了参照完整性规则后,你可能会感到受到了一些约束,表的操作不像以前那么方便了,例如将插入规则设定为限制,使用以前VFP的各种插入或追加记录的方法几乎都不能完成你所要的操作(即无法插入插入规则为限制的子表的记录)。这是因为以前的APPEND命令或INSERT命令都是先插入一条空记录,然后再编辑、输入各字段的值,这自然就无法通过参照完整性检查。这时可以使用SQL的INSERT命令插入记录。SQL命令将在第5章单独介绍。十二、自由表前面介绍的是数据库中的表,那么不属于数据库中的表就是自由表。1、将自由表添加到数据库ADDTABLE表文件名2、从数据库中移出表REMOVETABLE表文件名3、多工作区的概念SELECTN大于等于0或别名4、表之间的关联:SETRELATIONCLOSEALLOPENDATABASE人事管理USERSI
本文标题:数据库与表的创建和使用
链接地址:https://www.777doc.com/doc-3968372 .html