Visual FoxPro 6.0数据库与表.ppt
《Visual FoxPro 6.0数据库与表.ppt》由会员分享,可在线阅读,更多相关《Visual FoxPro 6.0数据库与表.ppt(38页珍藏版)》请在装配图网上搜索。
第3章数据库与表,数据库和表对于数据库应用系统来说是两个非常重要的概念。表是处理数据和建立关系型数据库及应用程序的基本单元,在VisualFoxPro6.0中,几乎所有的操作都是建立在数据表上的。VisualFoxPro6.0中的表有两种形态,即单独使用的自由表和作为数据库一部分的数据库表。这两种表可以相互转换。单独使用的自由表,可以为存储和查看信息提供很多帮助。如果把若干张表组织到一个数据库中,就可以充分地利用VisualFoxPro6.0提供的强大功能,更好地组织和管理众多的数据。,【学习目标】,了解数据库和表的基本概念掌握创建数据库的方法及常用操作掌握创建自由表的方法掌握维护数据库表的方法,3.1数据库与表的创建,3.1.1数据库的创建数据库的设计在数据库应用系统开发中是一个独立的、至关重要的环节。所有相关联的数据库对象,例如表、视图、连接和存储过程,都存放在一个数据库中。可以使用向导、设计器创建数据库,也可以使用“CREATEDATABASE”命令来创建数据库。,3.1.2表的创建表的创建有多种方法,既可以创建数据库表,也可以创建自由表。1创建数据库表建立数据库中的表文件有多种方法,例如,在项目管理器中新建表和在数据库设计器中新建表。2创建自由表创建自由表有多种方法,常用的方法有:通过【表设计器】实现,通过【表向导】实现,或者通过命令来实现。,3.2表的基本操作,3.2.1数据表的打开与关闭一、打开“学生信息登记表”数据表。方法一:在【命令】窗口中打开数据库。在【命令】窗口中输入“USE”,如“USE学生信息登记表”。方法二:利用菜单命令打开数据表。方法三:在项目管理器中打开数据表。,二、关闭“学生信息登记表”数据表。方法一:在【命令】窗口中输入“USE”命令,则当前打开的数据表被自动关闭。方法二:选择菜单中的【窗口】/【数据工作期】命令,在该窗口中单击关闭按钮,即可关闭当前打开的数据表。方法三:直接关闭VisualFoxPro6.0,则当前打开的数据表被自动关闭。当然,这种方法一般只有当要结束工作时才选用。另外,如果在当前的工作环境中打开了其他数据表,则原来打开的数据表被自动关闭。,3.2.2向表中输入数据向“学生信息登记表”中输入数据。在建立好表结构后,系统会询问是否马上输入记录,如果选择是按钮,在弹出的界面中,用户即可根据表中的内容依次录入各记录。3.2.3编辑表中的数据。显示“学生信息登记表”表中的数据。方法一:在【命令】窗口中键入一条“LIST”命令。方法二:以窗口的形式显示所有记录。修改“学生信息登记表”表中的数据,无论是在【浏览】窗口还是在【编辑】窗口,都可以将光标定位在某条记录的数据上,然后对其进行修改,修改完成之后将窗口关闭,则数据被自动保存。在“学生信息登记表”添加新的记录。方法一:选择【显示】菜单中的【追加】命令。方法二:选择【表】菜单中的【追加新记录】命令。两种方法都可以在表的末尾增加新的记录,但两者又有所区别。当选择的是【显示】/【追加】命令时,自动在最后一条记录的后面增加一条空白的记录,而每当向这条空白记录中输入了内容时,系统又在这条记录的后面再增加一条空白记录。因此,本方法适用于大量地增加记录。,而如果选择的是【表】/【追加新记录】命令时,系统只在最后一条记录的末尾再增加一条空白记录。因此,本方法适用于增加一条记录的情况。方法三:使用APPEND(或APPENDBLANK)命令。“APPEND”命令与第一种方法相对应,“APPENDBLANK”命令与第二种方法相对应,3.2.4修改表的结构在表的实际应用中,可能发生表的结构不满足应用的情况,所以我们需要修改。修改“学生信息登记表”的结构方法一:选择【显示】菜单中的【表设计器】命令。方法二:使用“MODIFYSTRUCT”命令,当数据表处于打开状态时,在命令窗口中输入“MODIFYSTRUCT”命令,即可打开表设计器,从而设计表的结构。对于一个表,如果不是在【表设计器】中,可以通过“LISTSTRUCT”命令来显示表的结构。,3.2.5数据表的维护1记录指针的移动(1)指针绝对定位(GO|GOTO)格式:GO/TOP/BOTTOM功能:将记录指针移到指定的记录上。参数“TOP”代表第一条记录,“BOTTOM”代表最后一条记录。(2)指针相对定位(SKIP)格式:SKIP功能:以当前记录为基准点,将记录指针向上()或向下(+)移动N条记录。如果没有数字表达式,则默认为+12记录的插入与追加,(1)插入新记录(INSERT)格式:INSERTBEFOREBLANK功能:在当前记录的后面或前面插入一条或多条记录。当缺省参数“BEFORE”时,插入在当前记录之后。有参数“BLANK”时,插入一条空白记录(2)追加新记录格式:APPENDBLANK功能:在当前打开的数据表的末尾追加一条或多条记录。当有参数“BLANK”时,追加一条空白记录3记录删除与恢复(1)记录的逻辑删除命令(DELETE)格式:DELETEFOR/WHILE功能:该命令对满足条件的记录作删除标记,此时记录仍然存在。如果命令不带任何参数,则只对当前记录作删除标记。,(2)被删除记录的恢复(RECALL)前面已经说过,被逻辑删除的记录是可以恢复的,而且也已经知道如何在【浏览】窗口中恢复这些记录。记录的恢复还可以通过命令来完成。格式:RECALLFOR/WHILE功能:对被加了删除标记的当前记录或指定范围或满足条件的记录进行恢复。与“DELETE”命令相同,如果未加任何参数,则是作用于当前记录。(3)记录的物理删除(PACK)本命令只能作用于已经做了“删除标记”的记录,而且一旦进行了物理删除,那么就再也不能恢复了。格式:PACK功能:对已经做了“删除标记”的记录进行“物理删除”。,(4)记录清除命令(ZAP)格式:ZAP功能:物理删除表中的所有记录,无论其是否做了删除标记。执行后,数据表只保留表结构。4表数据的替换命令(REPLACE)格式:REPLACEWITHADDITIVE,WITHADDITIVEFOR功能:用WITH之后的值替换WITH之前的值。如果缺省和,则只对当前记录中的相关字段进行操作。ADDITIVE选项只对替换备注字段有用,表示把对备注字段的替代内容追加到原备注字段内容的后面。,3.3数据库及其使用,数据库是由多个数据表按一定关系组成的文件。把一些相互有关的表集中到一个数据库中,则这些从属于某一个数据库的表统称为数据库表。一个大的应用项目可以创建若干个数据库,每个数据库可定义一组数据库表,然后用一定的关系将它们相互连接1长表名与长字段名VisualFoxPro6.0中允许在数据字典中为表或字段设置不超过128个字符的长名。长表名与长字段名都可以在【表设计器】中给出,2设置字段属性字段属性包括字段的显示格式、字段有效性等方面的内容。当打开数据库中的【表设计器】时,其下方所显示的就是对字段属性的相应设置.3设置记录有效性规则“字段有效性规则”指的是数据表中的所有记录的某一个字段在输入时应满足的条件,而“记录有效性规则”则指的是一条记录的不同的字段相互之间应该满足某种逻辑关系。,4设置表间关联当几个表同属于一个数据库时,并不是说这几个表之间就一定有了关联。表与表之间是否进行关联,如何关联,必须由用户根据实际需要自行定义。一般来说,一个数据库中的多个表如果要建立关联,那么这些表中应有相同的字段,而且每个表都要以该字段建立索引。在这一前提下,以其中一个表中的字段与另一个表中的同名字段建立关联,这样两个表间就有了一定的关系。利用【数据库设计器】可以很方便地实现表与表之间的关联。因为这种在数据库中建立的关系被作为数据库的一部分而保存在数据库中,所以被称为“永久关系”。,5设置参照完整性所谓“参照完整性”,是指数据库中的多个数据表之间建立了关联后,当对其中的一个数据表进行记录的插入、修改、删除等操作时,其他数据表也自动根据设置进行相应的调整。,3.4索引及其应用,3.4.1索引的概念数据表中的记录是以输入记录时的先后顺序存放的,这种顺序被称为“物理顺序”。当对该数据表建立了索引后,数据表中记录的物理顺序未被改变,而只是根据建立索引的关键字产生了一个索引文件。在该索引文件中,记录是按新的顺序排列的,这种顺序叫做“逻辑顺序”。这和图书馆中对图书的管理类似。图书馆中图书的陈列顺序可以是按照购买的先后顺序进行摆放,这个顺序就是所谓的“物理顺序”。为了方便读者进行图书的查询,可以为这些图书按书名或按作者建立不同的索引表。在这些索引表中,图书的顺序是按书名或是作者的名字进行排序的,这个顺序就是所谓的“逻辑顺序”。而建立这样的索引表,并不需要改变图书原来的“物理顺序”,只要将其位置标识出来就可以了。,3.4.2索引的种类VisualFoxPro6.0中共支持4种类型的索引:主索引、候选索引、普通索引和唯一索引。1主索引主索引可确保字段中数据的唯一性,同时它也决定了数据表中记录的排列顺序。自由表不能建立主索引。主索引只适用于数据库表,在一个数据库表中也只能建立一个主索引。2候选索引候选索引像主索引一样要求字段中数据的唯一性,并决定了数据表中记录的排列顺序。一张表中可以建立多个候选索引。在VisualFoxPro6.0中,数据库表和自由表均可以建立候选索引。,3普通索引普通索引也可以决定记录的排列顺序,但是它允许字段中出现重复的值。因此在排序或查询时会列出所有符合条件的记录。在一个表中可以加入多个普通索引。4唯一索引唯一索引也可以决定记录的排列顺序,也允许字段中出现重复的值。和普通索引相区别的是在输出时只保存第一个记录。,3.4.3建立索引在表设计器中为“学生信息登记表”建立索引。主索引:对于“学生信息登记表”中的各个字段,只有“学号”字段中的值是唯一的,因此,按“学号”建立主索引。普通索引:“学生信息登记表”中的“入学成绩”字段的值不唯一,而用户又往往要查看“入学成绩”由低到高的排列情况。因此,将该字段设为普通索引。,利用命令建立索引。格式:INDEXONTAGFOR用“INDEX”命令为“学生信息登记表”表中的“入学成绩”字段建立一个普通索引。,3.5小结,数据表是一张二维表,用于存放数据;而数据库是建立在数据表之上的,主要用于管理和组织属于该数据库的表。要使用数据库,首先需建立一个数据库,然后在这个数据库中加入数据表或创建新的数据表,利用数据库中的各种管理功能来管理和操作数据库,如添加数据表、移去数据表、查找表、设置表间的关系等。一个大型的数据库应用程序必有多个数据表,利用数据库来组织和管理这些数据表是数据库发展的一个方向。数据表之间的关系有永久的,也有临时的,设置这些关系可以方便应用程序设计时对表的操作。,3.6习题,一、选择题1在一个表上只能建立()。A一个主索引B两个主索引C多个主索引2在一个表上可以建立()。A一个候选索引B多个候选索引C二个候选索引3在一个表上可以建立()。A一个普通索引B多个普通索引C二个普通索引4在VisualFoxPro6.0中,数据库文件和数据库表文件的扩展名分别是()。A.DBF和.DCTB.DBC和.DCTC.DBC和.DCXD.DBC和.DBF,5下列()类型文件可供用户直接修改。ADBFBDBCCDCTDDCX6下列打开数据库设计器的操作方法中,错误的是()。A利用菜单命令中的【打开】命令,选择要打开的数据库B通过【项目管理器】打开数据库C通过命令“OPENDATABASE”打开数据库D通过命令“MODIFYDATABASE”打开数据库7对数据表的结构进行操作,是在()环境下完成的。A表设计器B表向导C表浏览器D表编辑器8要打开多个数据表文件,应该在多个()中操作。A工作区B数据库C工作期D项目,9在建立唯一索引时,若有重复字段值出现,只存储重复出现记录的()。A第一个B最后一个C全部D几个10修改表文件结构时,下列可能使表中数据丢失的操作是()。A增加一个字段B改变一个字段名C改变一个字段的数据类型D上述ABC三种情况11已知当前表中有60条记录,当前记录号为6。如果执行命令“SKIP3”以后,则当前为第()号记录。A3B4C8D912如果需要给当前表增加一条记录,不能使用的命令是()。AAPPENDBMODIFYSTRUCTURECINSERTDEDIT,13以下关于索引的叙述,正确的是()。A使用索引可以提高查询速度和更新速度B使用索引可以提高查询速度,但会降低更新速度C使用索引可以提高查询速度,对更新速度没有影响D使用索引对查询速度和更新速度均没有实质影响,二、填空题1打开一个数据库的命令是,关闭当前数据表的命令是。2在定义表结构时,要定义表中每个字段的、和。如果以后要再次修改数据表结构,可使用命令打开表结构设计器。3数据表文件一般包括和两部分,浏览数据表中的记录,最简单快捷的方法是在命令窗口中输入命令,打开浏览器窗口进行浏览。4假设表中有10条记录,每条记录都包含两个备注型字段和一个逻辑型安段,则该表中的记录所占的字符宽度总共是。5逻辑删除表中的记录可以使用命令,若要在此基础上进行物理删除,则应该使用命令。,6在VisualFoxPro6.0中删除记录有和两种。只是在记录旁做删除记录,必要时还可以去掉删除标记恢复记录,而是将那些有删除标记的记录从表中删除。7假设在“学生信息登记表”中,第2、4条记录的性别为“女”,执行下面两条命令:DISPLAYFOR性别=女DISPLAYWHILE性别=女则第一条命令显示的是记录,第二条命令显示的是记录。,三、简答题1建立如下所示的商品表SP.DBF。结构:SP(货号C(6),品名C(8),进口L,单价N(7,2),数量N(2),开单日期D,生产单位C(16),备注M,商标G)。记录:货号品名进口单价数量开单日期生产单位备注商标LX-750影碟机T5900.00408/10/96松下电器公司YU-120彩电F6700.00410/10/96上海电器公司AX-120音响T3100.00511/10/95日立电器公司DV-430影碟机T2680.00309/30/96三星公司FZ-901取暖器F318.00609/05/96中国富利电器厂LB-133音响T4700.00812/30/95松下电器公司SY-701电饭锅F258.001008/19/96上海电器厂NV-920录放机T1750.00607/20/96先锋电器公司,要求:(1)建立表SP.DBF的结构后,立即输入前6个记录的数据(备注由读者自己输入),其中前两个记录的商标字段,由读者在Windows环境下选两个图标分别输入,数据输入后存盘退出。(2)打开表SP.DBF,分别查看其结构与记录,包括备注字段与商标字段的数据。(3)追加最后两个记录,结束后分别以浏览格式和编缉格式查看数据。,2VisualFoxPro6.0中定义了多少种数据类型?哪些用于数据表中的字段?哪些用于内存变量?3什么是索引?索引文件有几种?索引的类型有哪些?4打开表SP.DBF,试为下列要求分别写出命令序列。(1)显示第5个记录。(2)显示第3个记录开始的5个记录。(3)显示第3个记录到第5个记录。(4)显示数量少于5的商品的货号,品名与生产单价。(5)显示进口商品或1995年开单的商品信息。(6)显示上海商品信息。,(7)显示单价大于4000元的进口商品信息或单价大于5000元的国产商品信息。(8)列出1995年开单的商品的货号、品名、单价与开单日期,其中单价按9折显示。(9)列出单价小于2000元以及单价大于5000元的进口商品信息。(10)显示从第三个记录开始的所有国产商品信息。(11)列出货号的后三位为“120”的全部商品信息。(12)列出货号第一个字母为“L”或者第二个字母为“V”的全部商品信息。,5建立学生成绩表,并完成以下操作。表结构为:学号、姓名、语文、数学、英语。(1)显示表中学号、姓名、语文这3个字段的内容。(2)逻辑删除英语成绩60的记录。(3)恢复所有逻辑删除的记录。(4)以学号建立候选索引。(5)浏览按学号索引的全部记录。(6)以语文成绩建立普通索引。(7)浏览按语文成绩索引的全部记录。(8)计算语文、数学、英语的总和。(9)计算语文、数学、英语3门成绩的平均分。,6创建表(xuesheng),其结构如下:XHC(6),XMC(6),XBL(1),CSRQD(8),RXCJN(6,2),BZM(4)。7打开(xuesheng1)表,完成以下操作。(1)给每个字段添加显示标题。XH:学号,XM:姓名,XB:性别,CSRQ:出生日期,RXCJ:入学成绩,BZ:备注。(2)添加3条记录。(3)确定字段XH、RXCJ、CSRQ的有效性规则。XH:第一个字符为9,字符长度为6。RXCJ:该成绩不能低于400分。CSRQ:1990年以前出生。(4)确定性别的默认值为“男”。,8再建立一个新表(xuesheng2),结构为XHC(8),XMC(8),TCM(4),完成以下操作。(1)将表(xuesheng1)和(xuesheng2)建立一对一的关系。(2)设置两个表的参照完整性。,- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Visual FoxPro 6.0数据库与表 6.0 数据库
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文