《表与数据库》PPT课件_第1页
《表与数据库》PPT课件_第2页
《表与数据库》PPT课件_第3页
《表与数据库》PPT课件_第4页
《表与数据库》PPT课件_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章表与数据库,本章主要内容,数据表的建立与基本操作数据库的建立与基本操作表的索引与排序表间关系与参照完整性数据共享,重点表与数据库的建立表的基本操作表的索引难点表的索引数据库表的多表间的关系课时安排:课时(理论课时,讲授课时),3.1数据表的建立,VFP6.0中要处理的数据都是以二维表格的形式存放的,表文件的扩展名为.DBF。表分为自由表和数据库表两种。表由行和列组成,表中的每一行在VFP6.0中称为一条记录,每一列称为一个字段。每个表包括表名、表结构和表记录三部分,如下表所示。,3.1.1表的基本概念,学生信息表,3.1.2设计表结构,1.字段名字段名可以由字母、数字、下划线及汉字组成,但必须以字母或汉字开头,字段名中不允许有空格。自由表中的字段名长度不能超过10个字符,数据库表允许使用长字段名,最多可达128个字符。2.字段类型VFP6.0提供了常用的11种字段类型,3.字段宽度字段宽度以字符为单位,用以表明该字段允许存放的最大字节数或数值位数。在建立表结构时,需要规定字符型、数值型、浮动型这3种字段的宽度,若有小数部分则小数点也占一位。货币型、日期型、日期时间型、双精度型字段宽度均为8字节,逻辑型字段宽度为1字节,整型、备注型字段和通用型字段宽度均为4字节。,说明:备注型和通用型字段的内容都没有直接存放在表文件中,而是存放在一个与表文件同名的备注文件(扩展名为.fpt)中。4.小数位数只有数值型与浮动型字段才有小数位数,小数位数至少应比该字段的宽度值小2。若字段值是整数,则应定义小数位数为0。,表结构的建立,3.1.2建立表结构,例:创建一个学生信息表,取名为student_info.dbf菜单方式(1)选择VFP6.0主界面菜单【文件】|【新建】命令,出现“新建”对话框,在“文件类型”下选择“表”,单击【新建】按钮,弹出“创建对话框”。,“新建”对话框,(2)在“创建”对话框中输入表文件名,选择保存类型及保存位置。单击【保存】按钮后便打开了表设计器。,“创建”对话框,(3)在表设计器中输入各字段的字段名、字段类型、字段宽度和小数位等。,图3-4表设计器,命令方式命令格式:CREATE|?说明:使用?或省略该参数,将打开“创建”对话框,并提示输入表名并选择保存表的位置。CREATE命令执行后,屏幕上弹出表设计器窗口,以后的操作方法与菜单操作相同。,利用复制命令创建新表命令格式一:COPYSTRUCTURETOFIELDS功能:将当前表的结构复制到一个新的自由表中,但不复制任何记录数据。说明:FIELDS子句表示只复制字段名表中列出的字段,若省略该字句,则复制所有字段。,命令格式二:COPYTOFIELDSFOR|WHILE功能:将当前表的结构和记录数据都复制到一个新的自由表中。说明:FIELDS选项指定要复制的字段;和选项指定要复制的记录。若省略,复制所有字段和记录。,3.1.3输入记录,表结构建立完成后,选择“确定”按钮,这时弹出对话框,询问“现在输入数据记录吗?”,选择“是”,则进行记录的编辑窗口直接输入记录。否则用以下方法追加记录。1.从键盘直接输入记录菜单法:选择菜单【显示】|【浏览】命令,打开表记录的浏览窗口,再选择【显示】|【追加模式】命令,就可以输入记录了。命令法;命令格式:APPENDBLANK功能:向打开的表文件的尾部添加新的记录。说明:BLANK子句表示在表的尾部追加一条空白记录,2.将其它表中的记录或数组中的数据追加到当前表中菜单法(1)打开欲追加记录的表,然后选择菜单【表】|【追加记录】命令,出现“追加来源”对话框,如图所示。,“追加来源”对话框,(2)单击【选项】按钮,弹出“追加来源选项”对话框,可以对需要追加的记录和字段进行选择操作。,“追加来源选项”对话框,命令法:命令格式一:APPENDFROM|?FIELDSFOR功能:从指定的表中向当前表尾部追加记录数据。说明:选择?子句表示若没有指定表,则从弹出的“打开”对话框中选择源表文件。选择FIELDS子句表示只追加指定字段的数据。若省略,则追加两表中所有相同字段数据。选择FOR子句表示对满足条件的记录进行追加。若省略,追加所有记录数据。命令格式二:APPENDFROMARRAYFIELDSFOR功能:将数组中的数据作为新记录追加到当前表中。,【例】用数组给学生信息表添加一条记录。DIMEST(2)ST(1)=”0203021”ST(2)=”周建平”USEAPPENDFROMARRAYSTFIELDSst_number,st_name,3.2修改和使用表,3.2.1打开和关闭表只有打开了的表才能被操作!1.打开表菜单方式打开选择【文件】|【打开】命令,弹出“打开”对话框,选中表文件后确定即可。命令方式打开命令格式:USE功能:打开指定的表文件。若未指定表名,使用?子句,则在“打开”对话框中指定。2.关闭表命令格式1:USEIN|功能:关闭当前工作区中打开的表。命令格式2:CLOSEDATABASE功能:关闭所有打开的数据库文件和表文件。命令格式3:CLOSEALL功能:关闭打开的的各种类型的文件。,3.2.2在项目中添加/移去表,1.在项目中添加表在项目管理器中选择“自由表”项,然后单击【添加】按钮,在弹出的“打开”对话框中选择要添加的表,单击【确定】按钮后所选择的表就被添加到了项目中。2.移去|删除表在项目管理器中选择要移去的表,单击【移去】按钮,弹出如图所示的对话框,单击【移去】或【删除】按钮完成相应的操作。,“移去|删除”对话框,3.2.3修改表的结构,浏览表结构命令格式:LIST|DISPLAYSTRUCTURETOPRINTER|TOFILE功能:显示当前表的结构。显示的信息包括表文件名、记录总数、备注文件大小、最后一次修改日期、各字段属性等。说明:(1)LIST和DISPLAY的区别在于,当要显示的内容超过一屏时,LIST连续显示,而DISPLAY分屏显示。(2)TOPRINTER|TOFILE:将所显示的内容送往打印机输出或保存在指定的文本文件中。,2.修改表的结构菜单方式在项目管理器中选择表后单击【修改】按钮,或者首先打开要修改的表,选择【显示】|【表设计器】,在打开的表设计器中对表结构进行修改。命令方式命令格式:MODIFYSTRUCTURE功能:打开表设计器对当前表结构进行修改。,3.2.4记录指针定位,1.绝对定位命令命令格式:GO|GOTO|IN功能:将记录指针定位到指定的记录上。说明:(1)GO和GOTO的作用完全一致。命令格式2中的命令相当于GO。(2):将指针定位到第n条记录上。(3):将指针定位到首记录。(4):将指针定位到尾记录。(5)IN:指出指针所在工作区,省略时为当前工作区。,2.相对定位命令命令格式:SKIPn|-n功能:以当前记录为基准,将记录指针向后(n)或向前(-n)移动n条。若省略n|-n,系统默认为1。说明:若指针向后移时超出了表文件记录数,则RECNO()函数返回值为记录数+1,EOF()返回.T.。若向前移时超出了首记录,则RECNO()返回值为1,BOF()返回.T.。,【例】记录指针定位命令和函数举例。USEE:学籍管理系统student_info?RECNO()1&当前记录号为GOBOTTOM?EOF().F.&指针没有处于文件尾SKIP?EOF().&指针移到文件尾,3.2.5浏览表记录,1.浏览记录命令格式:LIST|DISPLAYFIELDSFOR|WHILEOFFTOPRINTER|TO功能:显示当前表中的部分记录和字段内容。说明:可在ALL、RECORD、NEXT和REST中选择一个范围参数。FIELDS:只显示中列出的字段内容,若省略,显示所有字段。FOR|WHILE:显示满足的记录,若省略,则显示内限定的记录。OFF:不显示记录号,省略时显示记录号。TOPRINTER|TO:指出所显示结果的输出方向。TOPRINTER将显示结果送往打印机,TO将显示结果存入文本文件。,LIST和DISPLAY的区别有两点:一是若显示的内容超过一屏,LIST以连续方式显示,DISPLAY分屏显示;二是若省略和选项,LIST显示所有记录,DISPLAY只显示当前记录。,【例】LIST和DISPLAY命令举例。USEE:学籍管理系统student_infoGO4DISPLAYLISTLISTst_name,st_sex,st_dateFORst_sex=”男”DISPst_name,st_sex,st_dateFORst_sex=”男”,2设置记录过滤命令命令格式:SETFILTERTO功能:过滤记录若要取消过滤的记录,则使用命令SETFILTERTO。3设置字段筛选命令命令格式:SETFIELDSTO功能:筛选字段若要取消字段筛选,使用命令SETFIELDSTOALL。,3.2.6修改、插入和删除表记录,1.修改表记录命令格式1:EDIT|CHANGEFIELDSFOR|WHILE功能:打开表的的编辑窗口对指定记录的指定字段内容直接进行修改。命令格式2:BROWSEFIELDSFOR|WHILE功能:打开表的浏览窗口对指定记录的指定字段内容直接进行修改。该命令还有一特殊功能,见P63命令格式3:REPLACEWITH,WITHFOR|WHILE功能:在指定范围内对满足条件记录的字段值进行成批替换修改。说明:若和选项同时缺省,则只对当前记录进行替换修改。,【例】计算学生成绩表中各条记录的总评成绩,并将结果填入表中。(假设总评=成绩*0.8+平时成绩*0.2)USEE:学籍管理系统school_reportREPLACEALLsum_achi总评WITHachieve*0.8+peace_achi*0.2,2.插入新记录命令格式:INSERTBEFOREBLANK功能:在当前表中插入一条新记录。说明:(1)BEFORE:在当前记录前插入新记录,省略此项,新记录插入在当前记录的后面。(2)BLANK:插入一条空白记录,留待用EDIT、BROWSE等修改命令添加其内容。【例】在学生信息表第3条记录前面插入一条新记录。USEE:学籍管理系统student_infoGO2INSERT,3.删除记录删除记录的过程分两步:先对要删除的记录作删除标志(称为逻辑删除),再对作了删除标志的记录从表中彻底删除(称为物理删除)。作了删除标志的记录还可以恢复,彻底删除的记录无法再恢复了。作删除标志(逻辑删除)命令格式:DELETEFOR|WHILE功能:对指定范围内满足条件的记录作删除标志。说明:省略又无时,只对当前记录作删除标志。恢复带删除标志的记录命令格式:RECALLDELETEFOR|WHILE功能:取消指定范围内满足条件的记录的删除标志。说明:省略又无时,只取消当前记录的删除标志。,彻底删除(物理删除)命令格式:PACK功能:将所有带删除标志的记录彻底删除。说明:彻底删除后记录不能再恢复了,所以使用此命令时要小心。一次性删除所有记录。命令格式:ZAP功能:一次性将当前表的所有记录彻底删除。【例3.10】删除记录举例。USEE:学籍管理系统student_infoGO2DELETENEXT2LISTRRCALLRECORD2PACKLIST,3.4建立数据库,3.4.1建立数据库文件什么是数据库?为什么要使用数据库?如何使用?1.使用菜单创建数据库与创建数据表的方法基本相同.2.使用命令建立数据库命令格式:CREATEDATABASE|?功能:新建一个数据库并打开它。,3.4.2对数据库的操作,1.打开数据库命令格式:OPENDATABASE|?EXCLUSIVE|SHAREDNOUPDATEVALIDATE功能:打开指定的数据库文件。说明:(1)EXCLUSIVE|SHARED:以独占|共享方式打开数据库。独占方式即不允许其他用户在同一时刻使用该数据库,共享方式允许其他用户在同一时刻使用该数据库。默认的打开方式由SETEXCLUSIVEON|OF的设置决定,系统默认设置为ON。(2)NOUPDATE:指定数据库以只读方式打开,即不允许对数据库进行修改。默认方式为读|写方式。(3)VALIDATE:检查在数据库中引用的对象是否合法。例如检查数据库中的表和索引是否可用,表的字段或索引标识是否存在等。,2.关闭数据库命令格式:CLOSEDATABASE功能:关闭当前数据库,同时也关闭该库中所有打开的各种文件。3.修改数据库命令格式:MODIFYDATABASE|?功能:打开数据库设计器,可使用数据库设计器工具,对数据库对象进行操作。,4.删除数据库命令格式:DELETEDATABASE|?DELETETABLES功能:从磁盘上删除指定的数据库文件。说明:若选择DELETETABLES项,删除数据库文件的同时删除库中所有的表文件。,3.4.3在数据库中添加、新建、移去或删除表,1.添加或新建表(1)在项目管理器中添加或新建表,图3-34在项目管理器中添加数据表,(2)在数据库设计器中添加或新建表打开数据库设计器,这时VFP6.0主界面菜单栏上出现【数据库】菜单,在其下拉菜单中选择【添加表】或【新建表】命令,也可在打开的数据库中添加或新建表。,(3)使用命令添加或新建表命令格式:ADDTABLE|?功能:在当前数据库中添加指定的表。说明:使用ADD命令前必须打开数据库并指定了当前库。如果此时使用命令CREATE,则在当前库中建立一个新表文件。,2.移动或添加表(1)从项目管理器中移去或删除表(2)在数据库设计器中移去或删除(3)使用命令移去或删除命令格式一:REMOVETABLE|?DELETE功能:将指定的表从当前数据库中移出。说明:DELETE选项表示将表从磁盘上删除。命令格式二:DROPTABLE|?功能:删除当前数据库中指定的表。,3.4.4设置数据库表的属性,1.设置字段的显示属性格式、输入掩码、标题2.给字段加注释3.设置字段的有效性规则规则:指定实施字段级有效性检查的规则。信息:指定当违反字段级有效性规则时,显示的错误提示信息。即当在表中输入了无效的数据时,在“信息”框中输入的有效性说明便会显示在屏幕上。默认值:在向表中输入记录时,往往会碰到这种情况:多条记录的某个字段值相同。可以将这些频繁出现的值设置为该字段的默认值,这样就避免了反复输入同一数据的麻烦。,例如,为学生信息表的“st_sex”字段设置有效性规则。,数据库表设计器,3.5索引与排序,3.5.1表的索引1.索引文件的类型VFP6.0索引文件有两种类型:单索引文件(.IDX)和复合索引文件(.CDX)。,2.索引的类型,(1)主索引主索引是指在索引关键字或关键字表达式中不允许出现重复值的索引,每一个表只能建立一个主索引。自由表是没有主索引的。(2)候选索引也是不允许关键字表达式中出现重复值的索引,对每个自由表和数据库表都可建立多个候选索引,由于候选索引禁止关键字表达式的重复值,它在表中有资格作为主索引的“候选项”。,(3)唯一索引为了保持与早期版本兼容,还可以建立一个唯一索引,以指定字段第一次出现的值为基础,对记录进行排序,唯一索引允许关键字表达式的重复值,但重复值在索引中只出现一次。(4)普通索引普通索引是系统默认的索引类型,不要求关键字表达式的唯一性。表记录排序时,会把关键表达式值相同的记录排在一起,并按自然顺序的先后排列。一个表可以创建多个普通索引,这是最基本的索引方式。,3.建立索引文件,(1)菜单方式【例】在学生信息表中按st_number字段的升序建立主索引,按st_date字段的降序建立普通索引。打开学生信息表的表设计器,在“字段”选项卡下选择st_number字段,单击“索引”列的下拉箭头,在打开的下拉列表中选择“升序”,在st_date字段的“索引”下拉列表中选择“降序”,如图所示。,在表设计器中设置索引,单击“索引”选项卡,弹出如图所示的“索引”选项卡,设置“st_number”的索引类型为“主索引”,“st_date”为“普通索引”。,图3-39表设计器的“索引”选项卡,设置完毕确认后,就建立了一个结构复合索引文件student_info.CDX。打开high_school数据库设计器,可以看到表student_info.dbf中列出了新建的索引。“st_number”索引名前标有钥匙符号,表明“st_number”是主索引,如图所示。,设置了索引的数据库表,(2)命令方式命令格式1:INDEXONTOUNIQUEADDITIVEFOR功能:对当前表中满足条件的记录按建立一个单索引文件。说明:建立的单索引文件按关键字表达式的升序排列。:指定记录重新排序的字段或字段表达式。表达式中如果含有不同类型的字段,必须使用类型转换函数将其转换为相同类型的数据。,UNIQUE:建立唯一索引。对于关键字值相同的多条记录,只有第一条出现在索引文件中。利用UNIQUE可以避免访问记录的重复值。ADDITIVE:指定在建立新的索引文件时不关闭已打开的的索引文件。若省略此项,表示建立新的索引文件时关闭除结构复合索引文件外的其它的索引文件。,命令格式2:INDEXONTAGOFUNIQUEADDITIVEFORASCENDING|DESCENDING功能:对当前表中满足条件的记录按关键字表达式建立复合索引文件。多重索引是通过字符型表达式实现。非字符字段要用STR()、DTOC()、DTOS()等函数转换成字符型字段,然后用+或-进行连接说明:TAGOF:创建复合索引文件并指定一个索引标识名。省略OF表示建立与表同名的结构复合索引,选择此项表示建立非结构复合索引。ASCENDING|DESCENDING:指定复合索引文件按关键字表达式的升序|降序排列。,4.打开与关闭索引文件(1)打开索引文件索引文件在使用前一定要打开。刚建立的索引文件处于打开状态,结构复合索引文件在打开表的同时会自动打开,此外,可以利用命令将其打开。命令格式1:USEINDEX功能:打开表的同时打开索引文件名表中列出的所有索引文件。【例】打开学生信息表及其所有的索引文件。USEstudent_infoINDEXCSRQ,命令格式2:SETINDEXTO功能:在表已经打开后单独打开索引文件。(2)关闭索引文件命令格式1:USE功能:关闭表的同时关闭所有打开的索引文件。命令格式2:SETINDEXTO功能:单独关闭索引文件。结构复合索引文件在表关闭的同时才能被关闭。,5.设置主控索引命令格式:SETORDERTO|TAGOF功能:确定主控索引。说明:(1):指定在索引文件列表中第几个索引为主控索引。(2):指定该单索引文件为主控索引。(3)TAGOF:指定该索引标识作为当前索引。(4)省略所有可选项,表示取消主控索引。【例】设置学生信息表中按st_date字段建立的索引为主控索引,并显示所有记录。USEE:学籍管理系统student_infoSETORDERTOst_dateLIST,_date字段建立索引后的显示结果,3.5.2表的排序命令格式:SORTTOON/A|/D,/A|/D功能:对当前表文件按指定的关键字表达式的升序(/A,默认)或降序(/D)排序,排序结果存入一个新表。【例】对学生信息表按学号字段的降序建立排序文件,并显示排序记录。USEstudent_infoSORTTOXHONst_number/DUSEXHLIST,3.5.3查询与统计1.记录的定位查询(1)顺序查询命令命令格式:LOCATEFOR|WHILE功能:在指定范围内按顺序查找满足条件的记录。说明:指定查找范围,若省略,默认为ALL。FOR:指定查询条件。若找到,则将记录指针定位到满足条件的第一条记录上。找不到,记录指针定位到文件尾,并在状态栏显示信息:已到定位范围末尾。可用FOUND()函数测试查找结果。,(2)继续查找命令命令格式:CONTINUE功能:查找满足条件的下一条记录。说明:LOCATE命令是把记录指针定位到满足条件的第一条记录上,若要继续查找,则使用CONTINUE命令。【例】查找学生信息表中性别为女的记录。USEE:学籍管理系统stusent_infoLOCATEFORst_sex=”女”DISPCONTINUEDISP,(2)索引查询命令FIND命令命令格式:FIND|功能:在主控索引文件中查找索引关键字值与指定字符串或数字相匹配的记录。如果找到,记录指针定位到该条记录上,如果找不到,状态栏提示:没有找到。说明:使用FIND命令之前打开索引文件,并指定了主控索引。因为一个表在同一时刻只能有一个索引文件或索引标识为主控索引,因此,只能查找主控索引字段的值。查询的值可以是字符串或数值型数据。如果是字符串,可以不用定界符括起来。查找字符串时,如果设置了SETEXACTOFF命令,查找的字符串可以是索引关键字的全部或前几个字符,如果设置了SETEXACTON命令,则字符串只能是索引关键字的全部。如果查找字符型变量,变量前必须使用宏替换函数&。,SEEK命令命令格式:SEEK功能:在主控索引文件中查找索引关键字值与指定的表达式相匹配的记录。如果找到,记录指针定位到该条记录上,如果找不到,状态栏提示:没有找到。说明:SEEK命令可以查询字符型、数值型、日期型或逻辑型表达式。如果查找字符串,必须使用定界符,查找字符型变量,变量前不必使用宏替换函数&。FIND和SEEK命令查找成功后,将记录指针定位到查找到的第一条记录上,如果要继续查找,可以使用SKIP命令查找下一条相匹配的记录,直到所有相匹配的记录找到为止。,【例】查询命令举例。USEE:学籍管理系统student_infoSETORDERTOst_numberFIND03(或SEEK“03”)DISPSKIPDISPINDEXONst_nameTONAMEXM=”赵红”FIND&XM(或SEEKXM)DISP,2数据的统计(1)计数命令命令格式:COUNTFOR|WHILETO功能:统计指定范围内满足条件的记录个数。说明:省略,默认为ALL。TO:将统计结果保存在内存变量中。若省略,则只在屏幕上显示。,【例】统计学生信息表中1986年以后出生的人数。USEE:学籍管理系统student_infoCOUNTFORYEAR(st_date)1986TON81,(2)求和与求平均值命令命令格式:SUM|AVERAGEFOR|WHILETO|TOARRAY功能:对当前表中满足条件的数值型字段或由数值型字段组成的表达式纵向求和或求平均值。说明:如果省略,则对表中所有数值型字段求和或求平均值。TO|TOARRAY:求和或求平均值的结果可以保留在内存变量或数组中。,【例】求学生成绩表中03级1班所有学生的课程编号为1101的成绩字段的平均分。USEE:学籍管理系统school_reportAVERAGEachieveFORSUBSTR(st_number,1,4)=”0301”.AND.c_number=”1101”,(3)汇总命令命令格式:TOTALTOONFIELDSFOR|WHILE功能:在当前表中,分别对关键字段的值相同的记录,针对数值型字段名表中的各个字段求和,结果保存到新表文件中。说明:当前表必须已按指定的建立了索引并指定为主控索引。原表记录按关键字表达式分类,关键字值相同的划为一组,在新表文件中合并为一条新记录,这条记录中,数值型字段的值是原表中该记录相应字段的值之和,其它类型字段的值则为该组记录中第一条记录相应字段的值。FIELDS:指定求和字段。若省略,对所有数值型字段分类求和。,【例】在学生成绩表中按学号汇总成绩。USEE:学籍管理系统school_reportINDEXONst_numberTOXHTOTALTOCJHZONst_numberUSECJHZLIST,3.6多表操作,3.6.1工作区和数据工作期的概念1.工作区VFP6.0中最多可以使用32767个工作区,工作区的表示有3种方法:(1)用数字132767作为工作区的编号。(2)用字母AJ,W11W32767给工作区编号,也称为工作区的别名。(3)在某工作区打开表时指定了别名,该别名就可以表示该工作区。2.数据工作期是当前动态工作环境的一种表示,每个数据工作期包含有自己的一组工作区,这组工作区含有打开的表、索引和表间的关系。,3.6.2选择当前工作区命令格式:SELECT工作区号|别名|0功能:选择一个工作区为当前工作区。说明:(1)选择当前工作区后,在当前工作区打开的表成为当前表。(2)若使用命令SELECT0,则系统选取当前未使用的最小工作区作为当前工作区。,3.6.3在当前工作区操作其它工作区的表格式为:别名-字段名或别名.字段名【例】多表操作举例。SELECTBUSEschool_reportSELECTAUSEstudent_infoDISPst_number,st_name,B-c_number,B-achieve,3.6.4建立表间关系根据表中记录的对应关系,一般把两表所建立关系的类型分为3种:一对一、一对多和多对多1.建立表间临时关系临时关系是可以在任意类型表间建立的一种关系,自由表中只能建立临时关系。对于建立了临时关系的两个表,自己记录指针移动而导致其它相关表中记录指针移动的表称为父表,与这个表关联的表称为子表。为了实现父表记录指针的移动导致子表记录指针的调整,在两表间建立临时关系后,子表的记录指针会随父表的记录指针移动而移动。,两表间要建立临时关系,通常要求这两个表具有共同的字段,且子表必须根据共同字段或字段表达式建立索引,索引的类型可以根据子表的实际情况而定。例如,在high_school数据库中学生信息表和学生成绩表之间建立临时关系。,2.建立表间永久关系永久关系是建立在数据库表间的一种关系,这种关系不仅运行时存在,而且作为数据库的一部分一直保存在数据库文件中,在数据库的查询和视图中作为表间的默认连接。,在数据库的两个表间建立永久关系,两表必须按共同字段建立索引,且父表索引是主索引或者候选索引,而子表的索引类型决定了所建的永久关系类型。如果子表的索引类型是主索引或候选索引,所建的关系类型为一对一的;如果子表的索引类型是普通索引或唯一索引,则建立的关系是一对多的。但需要注意的是,永久性数据库表关系不控制表内记录指针的关系。,3.6.5设置参照完整性参照完整性是指根据某些规则,在建立了永久关系的两个表之间当插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确。,1.更新规则:用于更改父表中索引字段值时应遵循的规则。级联:更改父表中的某一记录时,子表中相关记录将自动得到更改。限制:更改父表中的某一记录时,如果子表中有相关记录,则禁止更改父表中的索引关键字的值。忽略:更改父表中某个记录的索引关键字的值时,子表相关记录不受影响。,2.删除规则:用于删除父表中记录时应遵循的规则。级联:删除父表中某一记录时,子表中的相关记录也被删除。限制:子表中有相关记录时,不允许父表中删除此条记录。忽略:删除父表中某条记录时,子表中相关记录不受影响。,3.插入规则:用于在子表中插入或更新记录时应遵循的规则。限制:当父表中没有与子表相关的记录时,禁止在子表中插入记录。忽略:允许子表中插入记录,不管父表中是否有相关的记录。,本章小结本章首先介绍了表结构的设计与建立方法,向表中输入记录、修改表结构及表记录、打开、关闭表、添加、删除记录以及浏览表记录等自由表的基本操作。详细讲述了数据库及数据库表的设计与建立方法,自由表和数据库表的相互转换,数据库表的属性设置,包括字段级规则和记录级规则的设定等数据库的基本操作。阐述了逻辑排序与物理排序的含义,索引文件的类型与索引文件的建立和使用方法。通过事例讲解了顺序查询和索引查询命令,计数命令、求和与求平均值命令、统计汇总命令以及多工作区及多表操作、表间的临时关系和永久关系及设置参照完整性。,项目管理器,项目管理器是按一定的顺序和逻辑关系,对数据库应用系统的文件进行有效组织的工具。可以有效的组织数据表、表单、数据库、菜单、类、程序和其它文件,并将它们编译成可独立运行的.APP或.EXE文件。CREATEPROJECT文件/新建/项目/新建文件/项目管理器项目/新建文件/添加文件/修改文件/打开文件/移去文件/重命名文件/设置主文件,项目管理器,1.项目管理器的创建和打开创建有二种方式:A:单击“文件”菜单中“新建”命令的“项目”选项,将弹出创

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论