




已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,3.6数据库的设计,使用自由表还是数据库表来保存要管理的数据,取决于需要管理的数据之间是否存在关系以及关系的复杂程度。如果开发的是一个工资管理系统,要保存的数据不能只用一个表存储,而需要多张表,表与表之间也存在相互关系,这时就有必要设计和建立数据库,把这些表添加进数据库,并建立表与表之间的永久关系。用户的数据仍然保存在数据表里,而表与表之间的关系等信息则保存在数据库里。,.,VisualFoxPro是关系型数据库管理系统。关系型数据库是由相关的表通过其相互关系组合起来的数据集合。在数据库里,主体是表,除此之外还包括视图、连接和存储过程等,使得数据库中的所有信息成为一个有机的整体,为数据库的使用者提供极大的方便和强大的处理功能。VisualFoxPro数据库不但提供了存储数据的结构,而且在使用数据库时,可以在表一级进行功能扩展。,.,3.6.1数据库设计的目的和方法,创建数据库之前,首先对数据库总体设计,明确数据库要实现的功能,建立数据库的目的和使用的方法,以及用户可以从数据库中获取的信息。首先列出需要数据库解决的问题清单。例如,职称不同时,基本工资是否不同;对于不同的用户,其使用权限是否不同等等,然后收集系统需要输出的表和报表等信息。最后确定需要保存的主题信息(表),以及每个主题需要保存的信息(表中的字段)。,.,3.6.2数据库设计的一般过程,数据库设计过程的关键在于明确关系型数据库管理系统存储数据的方式与关联方式。,数据库设计的一般过程如下:1、需求分析确定建立数据库的目的,是整个数据库设计中最重要的步骤之一,也是后续各阶段的基础。2、确定需要的表在明确了对数据的需求后,就可以着手把所需求的各种信息分成各个独立的主题。,.,3、确定需要的字段确定在每个表中要保存哪些信息,从而确定表的结构,并对各个字段的类型、长度、有效性等进行设定。4、确定各表之间的关系分析每个表,确定一个表的数据和其他表的数据之间的关系,各表之间的数据的联接方式(建立永久关系或临时关系),最后使用不同的组合来获取来自多个数据表的信息。5、设计求精对设计进一步分析,查找其中的不合理处。创建表时,在表中加入几个示例数据记录,看能否从表中得到想要的结果。如果发现设计不完备,可对设计作一些调整。,.,3.6.3建立数据库,在VisualFoxPro中,数据库通过一组系统文件对相互联系的数据库表及其相关联的数据库对象进行统一的组织和管理。建立数据库时,数据库文件的扩展名为.dbc,同时自动建立与之相关的一个扩展名为.dct的备注文件和一个扩展名为.dcx的索引文件。数据库的基本操作包括建立、打开、关闭和删除数据库,浏览数据库文件以及向数据库中增加、移去表等操作。,.,创建数据库有菜单方式和命令方式。,1、菜单方式选择“文件”菜单中的“新建”命令,弹出“新建”对话框,如右图所示。,.,在“新建”对话框中,选择“数据库”按钮,然后单击“新建文件”按钮,弹出“创建”对话框。,在“创建”对话框中输入数据库文件名和保存位置。选择“保存”按钮,将打开数据库设计器。,.,数据库设计器是交互修改数据库对象的界面和工具,其中显示数据库中包含的全部表、视图和表间联系。,此时,完成创建数据库的操作,并同时打开了数据库设计器。,.,2、命令方式格式:CREATEDATABASE|?功能:建立新数据库。说明:(1)指定生成的数据库文件,此处可指定路径及文件名。省略扩展名则默认为.dbc。如果未指定数据库文件名或用“?”代替数据库文件名,VisualFoxPro会弹出“创建”对话框,以便用户选择数据库存放的位置和输入数据库名。(2)该命令建立数据库后并不打开数据库设计器,而是建立一个新的数据库文件,并自动以独占方式打开此数据库文件。,.,例:在e:mydata下建立文件名为“工资管理”的数据库文件。CREATEDATABASEe:mydata工资管理系统环境中,若已将VisualFoxPro的默认工作目录设置为e:mydata,则在命令中可以省略路径,直接使用命令:CREATEDATABASE工资管理,.,数据库的打开,1、菜单方式(1)选择“文件”菜单下的“打开”命令,出现“打开”对话框。(2)在该对话框中的“文件类型”下拉列表框中选择“数据库(*.DBC)”;然后,选择所要打开的数据库文件,单击“确定”按钮,此时,打开了数据库文件,同时也打开了数据库设计器。,建立数据库后,若要在库中建立的数据库表或使用数据库中的表时,都必须先打开数据库。,.,2、命令方式格式:OPENDATABASE|?NOUPDATEEXCLUSIVE|SHARED功能:打开一个数据库文件,与之相关数据库备注文件(.dct)与索引文件(.dcx)也一起被打开。说明:(1)指定要打开的数据库文件。若省略扩展名,默认为.dbc。如果未指定数据库文件名或用“?”代替数据库文件名,则出现“打开”对话框,在对话框中选择数据库文件并打开。,.,(2)NOUPDATE指定以只读方式打开数据库;EXCLUSIVE指定以独占方式打开数据库,即不允许其他用户在同一时刻也使用该数据库;SHARED指定以共享方式打开数据库。(3)该命令打开了数据库文件,但并不打开数据库设计器。这是与菜单方式不同的地方。若需打开数据库设计器,可以使用MODIFYDATABASE命令。,例:打开数据库文件e:mydata工资管理.dbc。OPENDATABASEe:mydata工资管理,.,在VisualFoxPro中,操作时可以打开多个数据库,但在同一时刻只有一个当前数据库,所有作用于数据库的命令或函数都是对当前数据库而言。打开多个数据库时,最后被打开的数据库为当前数据库,也可从常用工具栏上的数据库下拉列表中选择一个打开的数据库作为当前数据库,或使用SETDATABASE命令选择一个数据库作为当前数据库。在数据库被打开的情况下,该数据库中所有表都可以使用,但这些表并没有自动打开,使用时仍需用USE命令打开。,.,3.6.4数据库的关闭,数据库文件操作完成后,必须将其关闭,以确保数据的安全性。格式:CLOSEALL|DATABASE说明:(1)ALL用于关闭所有对象,例如,数据库、表、索引等。(2)DATABASE用于关闭当前数据库和数据库表。,.,在VisualFoxPro中,修改数据库实际上是打开数据库设计器,在其中完成各种数据库对象的建立、修改和删除等操作。MODIFYDATABASE|?功能:打开指定的数据库文件所对应的数据库设计器,以便对该数据库中的各种数据库对象进行修改操作。说明:指定要修改的数据库文件。如果未指定数据库文件名或用“?”代替数据库文件名,则出现“打开”对话框。,3.6.5数据库的修改,.,3.6.6数据库的删除,DELETEDATABASE|?DELETETABLESRECYCLE,.,例:彻底删除数据库文件e:mydata工资管理.dbc以及其中的数据表等相关文件。DELETEDATABASE;e:mydata工资管理DELETETABLES,.,3.6.7数据库表的基本操作,在VisualFoxPro中,表分为数据库表和自由表两种,两种表的扩展名均为.dbf。属于某一数据库的数据表称为数据库表,不属于任何数据库而独立存在的数据表称为自由表,两种表可以互相转换。当一个自由表添加到某一个数据库时,自由表就成为数据库表,反之,若将数据库表从某一数据库中移出,该数据库表就成为自由表。,.,使用数据库表还是自由表来保存需要管理的数据,取决于管理的数据之间是否存在着关系以及关系的复杂度。如果要保存的数据需要多个表,表与表之间又存在相互关系,这时必须建立一个数据库,把这些表添加进数据库。需要注意的是,在数据库中,实际只存储指向数据库表的路径指针,而数据库中的表或者其他数据库对象是独立存放在磁盘上的。,.,3.6.8添加数据库表,首先打开需要添加表的数据库文件,然后就可以建立一个新的数据表或将自由表添加到该数据库中而使之成为数据库表。操作步骤是:打开数据库设计器,在数据库设计器中,单击工具栏的“添加表”按钮。在“打开”对话框中选择要添加的表名,单击“确定”按钮。这样,自由表就被添加进数据库中,成为数据库表。,.,3.6.9建立新数据库表,1、菜单方式操作步骤是:(1)打开数据库设计器后,在“数据库”菜单或数据库设计器的快捷菜单中,选择“新建表”命令,出现“新建表”对话框中。(2)从“新建表”对话框中选择“新建表”,出现“创建”对话框;在“创建”对话框可以输入表名、选择保存表的位置,然后单击“保存”按钮,便出现数据库表的“表设计器”对话框。,.,2、命令方式,注意:如果已打开了数据库,则CREATE命令在数据库中直接建立表。如果没有打开数据库,则CREATE命令建立的表是自由表。数据库表的表设计器对话框的下部,有显示、字段有效性、匹配字段类型到类和字段注释4个输入区域,而这些设置在自由表的表设计器中并未包含。,用CREATE命令建立新数据库表:CREATEDATABASE|?,.,数据库表的表设计器,.,数据库表所具有,而自由表不具备的几个属性:(1)数据库表可以使用长表名和长字段名。(2)可为数据库表中的字段指定标题和添加注释。(3)可为数据库表的字段指定默认值和输入掩码。(4)数据库表的字段有默认的控件类。(5)可为数据库表规定字段级规则和记录级规则。(6)数据库表支持参照完整性的主关键字索引和表间关系。(7)支持INSERT、UPDATE和DELETE事件的触发器等。,.,在VisualFoxPro中,自由表的字段名最多包含10个字符,数据库表的字段名最多包含128个字符。建立数据库表时,不仅要确定字段名、类型、宽度等内容,还可给字段和表定义属性。当自由表添加到数据库后,便可以设置许多自由表中得不到的属性,这些属性作为数据库的一部分保存起来,并且一直为其所拥有。然而,一旦数据库表移出成为自由表,则这些属性就被取消。,.,1、设置字段属性数据库表设计器中,在字段选项卡的“显示”区域来设置字段属性,包括显示和格式、输入掩码和标题。(1)格式在“显示”区域的“格式”文本框用于键入格式表达式,确定当前字段在浏览窗口、表单或报表中输出显示时的格式,包括大小写、字体大小和样式等。例如,如果在“格式”文本框中键入“!”号,则在输出显示该字段内容时,将所有字母转换为大写字母;如果键入字母A表示仅允许输出文字字符,不允许输出数字、空格和标点符号。,.,部分格式字符及功能如下表所示:,.,(2)输入掩码在“显示”区的“输入掩码”文本框中键入输入掩码,用来指定字段的输入格式,从而减少人为的数据输入错误,控制数据输入的正确性。需要注意的是,输入掩码必须按位指定。例如,将输入掩码设置为999,999,表示在输入时,只能输入数字且最多输入6位数字,中间的“,”号不是掩码,不必输入,保持原样,输入时光标会自动跳过。,.,部分输入掩码字符功能如下表所示:,.,(3)标题“标题”文本框中用来指定字段显示时的字段标题。在定义数据库表的字段名时,一般都比较简练,例如,代表学生姓名的字段可使用姓名、XM、NAME等作为字段名,但在输出显示时难于表现字段的含义。所以,标题就是设置当前字段在浏览窗口、表单或报表的标题中所显示的内容。,.,(4)字段注释给选定字段的一些注释信息,在项目管理器中选定改字段时,会在底部显示出来。(5)字段的默认值给新加入数据库表中的纪录提前指定的一个数值或字符串。,.,2设置有效性规则有效性规则是一个与字段或记录相关的表达式,通过对用户的值加以限制,提供数据有效性检查。建立有效性规则时,必须建立一个有效的规则表达式,以此来控制输入到数据库表的字段和记录的数据有效性。数据输入时,有效性规则把所输入的值与所定义的规则表达式进行比较,如果输入的值不满足规则要求,则拒绝该值。有效性规则分两种:字段有效性规则和记录有效性规则。,.,字段有效性规则用来对当前字段输入数据的有效性、合法性进行检验,它是对字段的约束,用以检查单个字段中输入的数据是否有效。记录有效性规则用来对同一记录中不同字段之间的逻辑关系进行验证,它是对记录的约束。当插入或修改记录时,记录有效性规则被激活,用来检查数据输入的正确性。记录有效性规则只有在整条记录输入完毕后才开始检查数据的有效性。注:有效性规则只在数据库表中存在。如果从数据库中移去或删除一个表,则所有属于该表的字段有效性规则和记录有效性规则都会从数据库中删除。,.,(1)字段有效性字段有效性区域包含规则、信息和默认值三个文本框,各文本框均可以直接键入数据,也可以通过单击其右边的对话按钮。,字段有效性的设置,.,“规则”文本框:输入对字段数据有效性进行检查的逻辑表达式。如:性别=”男”OR性别=”女”。其设置过程可直接在文本框中输入也可以在“表达式生成器”对话框中进行。,表达式生成器,.,“信息”文本框:用于输入出错提示信息。在进行字段有效性校验时,发现输入的字段内容有错时,显示出错提示信息,例如“性别字段内容只能输入男或女”。“默认值”文本框:用于指定字段的默认值。在增加新记录时,字段默认值会自动在新记录中显示出来,当该字段为默认值时,不用输入,从而提高输入速度。例如,在性别字段中,设置默认值为“男”。,.,(2)记录有效性在数据库表的表设计器中,“表”选项卡中包含记录有效性区域,其中包含“规则”和“信息”两个文本框,文本框的内容输入均可通过单击其右边按钮,在弹出的对话框中输入信息。“规则”文本框用于指定记录级有效性检查规则,是一个逻辑表达式。“信息”文本框用于指定出错提示信息。在检验记录级有效性规则时,发现输入与规则不符时该信息将会显示出来。,.,例如:设置员工表的记录有效性。在“规则“文本框中输入:SUBSTR(部门编号,2,1)=SUBSTR(员工编号,4,1)。在“信息”文本框输入“部门编号的第2位数字与员工编号的第4位数字要相同”。,.,3.触发器字段级有效性和记录有效性规则主要限制非法数据的输入,而数据输入后还要进行修改、删除等操作。若要控制对已经存在的记录所作的非法操作,则应使用数据库表的记录级触发器。触发器是在某些事件发生时触发执行的一个表达式或一个过程。这些事件包括插入记录、修改记录和删除记录。,.,“表”选项卡中有3个触发器,分别用于指定记录插入、更新、删除的规则。插入触发器:每次向数据库表中插入或追加记录时,触发该规则,以检查插入的记录是否满足规则。更新触发器:每次更新记录时,触发该规则。删除触发器:每次对表记录进行逻辑删除时,触发该规则。,.,5.4.3从数据库中移去表,在数据库设计器中,先选择要移去的表,然后单击“移去表”按钮,或在“数据库”菜单中选择“移去”命令,将弹出“系统提示”对话框:,选择“移去”按钮,数据表仅从数据库中移去,该数据表仍存在磁盘上;选择“删除”按钮,则数据表不但从该数据库中移去,而且也进行了物理删除。,.,5.4.4修改数据库表,在数据库设计器中可以直接修改表的内容和表结构,右击要修改的数据库表,弹出快捷菜单:,.,若选择“浏览”命令,即进入表的浏览窗口,以后的操作和对自由表的浏览操作相同;若选择“删除”命令,即可删除表;若选择“修改”命令,即打开相应表的表设计器,在表设计器中可以修改表结构、建立索引以及设置字段属性和表的有效性规则。,.,4表注释给选定表的一些注释信息,在项目管理器中选定改表时,会在底部显示出来。与字段注释类似。,.,3.5建立表间的永久关系,在VisualFoxPro中,可以建立数据库表之间的永久关系,使相互关联的表协同工作,使数据得到更充分的利用。多表间的永久关系在查询和视图中能作为多表联接的条件,也可作为表单和报表的默认关系,永久关系被存储在数据库文件中,可以一直使用,除非该永久关系被删除或更改。而多表间的临时关系仅用于控制关联表之间的指针联动,这种关系不能被保存在文件中,每次要使用时都需要重新建立。,.,3.5.1为数据库表建立索引1.索引的概念物理顺序:指记录存储在磁盘上的顺序。在执行排序命令后,新生成的文件形成新的物理顺序。逻辑顺序:指索引文件中记录的排列顺序。在执行索引命令后,形成一个索引关键表达式值与记录号之间的对照表,这个对照表就是索引文件。,.,2.索引文件的种类(1)单索引文件。单索引文件是指一个索引文件中只能保存一个索引,其扩展名为IDX。(2)复合索引文件。复合索引文件可以存储多个索引,其扩展名为CDX。复合索引文件中的每个索引用一个索引标志来表示,代表一种记录的逻辑次序。复合索引分为结构和非结构两种:结构复合索引文件:文件主名与表的主名同名,它随表的打开而打开,在表进行维护时能自动维护。非结构复合索引文件:在建立时由用户定义索引文件名。使用时,需要用打开索引文件的命令打开。,.,3.索引文件的类型依据是否允许相同的索引关键值在不同记录中重复出现来划分。(1)主索引-不允许在指定字段或表达式中出现重复值的索引。每个表只能建立一个主索引,且只能是数据库表。(2)候选索引-不允许在指定字段或表达式中出现重复值的索引。每个表可以建立多个候选索引,数据库表和自由表均可建立。(3)惟一索引-索引文件中只保留第一次出现的索引关键字值。数据库表和自由表均可建立。(4)普通索引-允许索引关键字值重复出现,数据库表和自由表均可建立。,.,主索引候选索引惟一索引普通索引,具有索引的功能以及关键字的功能。可以保证字段值的唯一性,排除关键值的重复值。两种索引都与表文件同时打开和关闭,且存储在结构复合索引文件中,而不能存储在非结构复合索引文件和单索候选索引文件中。,只具有索引排序的功能。数据库表和自由表均可建立。,.,为数据库表建立索引选择需要建立索引的数据库表,单击数据库设计器工具栏的“修改表”按钮,弹出表设计器窗口,单击索引选项卡,在各栏输入有关内容。,.,5、永久关系的建立与使用在数据库的两个表间建立永久联系时,必须先选择父表的主索引或候选索引,而子表中的索引类型决定了要建立的永久联系类型。如果子表中的索引类型是主索引或候选索引,则建立一对一关系;如果子表中的索引类型是普通索引,则建立一对多关系。建立过程:在数据库设计器中,用鼠标左键选中父表中的主索字段,然后拖至与其建立联系的子表中的对应索引字段处,再松开鼠标左键,两表间就建立了永久关系。,.,数据库设计器中建立永久关系,.,永久关系在数据库设计器中表现为表索引之间的连线,若连线的一端为一根线,另一端也为一根线,代表一对一关系,若连线的一端为一根线,另一端也为三根线,代表一对多关系。如果需要编辑修改已建立的联系,可以单击表之间的永久关系连线,此时连线变粗,然后从“数据库”菜单项中选择“编辑关系”命令。或者用鼠标右键单击连线,在弹出的快捷菜单中选择“编辑关系”或“删除关系”命令。或者双击连线,打开“编辑关系”对话框,在对话框中进行修改。,.,6、设置参照完整性,前面介绍了数据库表的字段级、记录级间的表内验证规则,而参照完整性是表间规则。对于具有永久关系的两个数据库表,当对一个表更新、删除或插入记录时,另一个表并未作相应变化,这就破坏了数据的完整性。VisualFoxPro中提供参照完整性生成器供用户指出保证数据完整性的要求。在建立参照完整性之前必须首先清理数据库,既物理删除数据库各个表中所有带有删除标志的记录。操作方法是选择“数据库”菜单项中的“清理数据库”命令。,.,(1)、打开参照完整性生成器打开参照完整性生成器窗口有三种方法:从数据库设计器快捷菜单中选择“编辑参照完整性”命令。选择数据库菜单中的“编辑参照完整性”命令。在数据库设计器中双击两个表之间的连线,在编辑关系对话框中选择参照完整性按钮。,.,(2)、设置参照完整性参照完整性生成器窗口有更新规则、删除规则和插入规则三个选项卡;选项卡中有级联、限制和忽略三个单选按钮以及一个表格,表格中每一行代表一个永久关系,如下图:,.,.“更新规则”选项卡用于指定更改父表中的某一记录中的关键字段值时所用的规则。对应用3个单选按钮,其各自的功能如下:级联:当更改父表中的某一记录的关键字段值时,子表中相应的记录将会改变。限制:当更改父表中的某一记录的关键字值时,若子表中有相应的记录,则禁止该操作,并给出“触发器失败”的提示信息。忽略:两表更新操
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 儿科业务考试题及答案
- 毒鸡汤考试题及答案
- 农民职业培训与农业技能提升协议
- 雨中的邂逅事件作文7篇
- 资源能源节约利用承诺书5篇范文
- 企业员工绩效考核标准与流程模板
- 多平台兼容软件开发框架
- 客户信息管理数据记录模板
- 大学考试题目及答案
- 春节习俗的写物作文7篇
- 土地复垦施工设计
- GB/T 5023.3-2008额定电压450/750 V及以下聚氯乙烯绝缘电缆第3部分:固定布线用无护套电缆
- GB/T 21471-2008锤上钢质自由锻件机械加工余量与公差轴类
- GB/T 12670-2008聚丙烯(PP)树脂
- 非贸项下对外付汇的政策解读和实操疑难解答课件
- 高中心理健康课程《人际关系-寝室篇》课件
- 水产微生物学
- 电力系统继电保护课程设计报告-三段式距离保护
- 香港永久性居民在内地所生中国籍子女赴香港定居申请表
- 部编人教版五年级上册小学道德与法治 第5课 协商决定班级事务 课件
- 跨境电商亚马逊运营实务完整版ppt课件-整套课件-最全教学教程
评论
0/150
提交评论