VisualFoxPro6.0数据库与表.ppt_第1页
VisualFoxPro6.0数据库与表.ppt_第2页
VisualFoxPro6.0数据库与表.ppt_第3页
VisualFoxPro6.0数据库与表.ppt_第4页
VisualFoxPro6.0数据库与表.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

第3章 数据库与表,数据库和表对于数据库应用系统来说是两个非常重要的概念。表是处理数据和建立关系型数据库及应用程序的基本单元,在Visual FoxPro 6.0中,几乎所有的操作都是建立在数据表上的。 Visual FoxPro 6.0中的表有两种形态,即单独使用的自由表和作为数据库一部分的数据库表。这两种表可以相互转换。 单独使用的自由表,可以为存储和查看信息提供很多帮助。如果把若干张表组织到一个数据库中,就可以充分地利用Visual FoxPro 6.0提供的强大功能,更好地组织和管理众多的数据。,【学习目标】, 了解数据库和表的基本概念 掌握创建数据库的方法及常用操作 掌握创建自由表的方法 掌握维护数据库表的方法,3.1 数据库与表的创建,3.1.1 数据库的创建 数据库的设计在数据库应用系统开发中是一个独立的、至关重要的环节。所有相关联的数据库对象,例如表、视图、连接和存储过程,都存放在一个数据库中。可以使用向导、设计器创建数据库,也可以使用“CREATE DATABASE”命令来创建数据库。,3.1.2 表的创建 表的创建有多种方法,既可以创建数据库表,也可以创建自由表。 1创建数据库表 建立数据库中的表文件有多种方法,例如,在项目管理器中新建表和在数据库设计器中新建表。 2创建自由表 创建自由表有多种方法,常用的方法有:通过【表设计器】实现,通过【表向导】实现,或者通过命令来实现。,3.2 表的基本操作,3.2.1 数据表的打开与关闭 一、打开“学生信息登记表”数据表。 方法一:在【命令】窗口中打开数据库。 在【命令】窗口中输入“USE ”,如“USE 学生信息登记表”。 方法二:利用菜单命令打开数据表。 方法三:在项目管理器中打开数据表。,二、关闭“学生信息登记表”数据表。 方法一:在【命令】窗口中输入“USE”命令,则当前打开的数据表被自动关闭。 方法二:选择菜单中的【窗口】/【数据工作期】命令,在该窗口中单击关闭按钮,即可关闭当前打开的数据表。 方法三:直接关闭Visual FoxPro 6.0,则当前打开的数据表被自动关闭。当然,这种方法一般只有当要结束工作时才选用。 另外,如果在当前的工作环境中打开了其他数据表,则原来打开的数据表被自动关闭。,3.2.2 向表中输入数据 向“学生信息登记表”中输入数据。 在建立好表结构后,系统会询问是否马上输入记录,如果选择是按钮,在弹出的界面中,用户即可根据表中的内容依次录入各记录。 3.2.3 编辑表中的数据。 显示“学生信息登记表”表中的数据。 方法一:在【命令】窗口中键入一条“LIST”命令。 方法二:以窗口的形式显示所有记录。 修改“学生信息登记表”表中的数据,无论是在【浏览】窗口还是在【编辑】窗口,都可以将光标定位在某条记录的数据上,然后对其进行修改 ,修改完成之后将窗口关闭,则数据被自动保存。 在“学生信息登记表”添加新的记录。 方法一:选择【显示】菜单中的【追加】命令。 方法二:选择【表】菜单中的【追加新记录】命令。 两种方法都可以在表的末尾增加新的记录,但两者又有所区别。 当选择的是【显示】/【追加】命令时,自动在最后一条记录的后面增加一条空白的记录,而每当向这条空白记录中输入了内容时,系统又在这条记录的后面再增加一条空白记录。因此,本方法适用于大量地增加记录。,而如果选择的是【表】/【追加新记录】命令时,系统只在最后一条记录的末尾再增加一条空白记录。因此,本方法适用于增加一条记录的情况。 方法三:使用APPEND(或APPEND BLANK)命令。 “APPEND”命令与第一种方法相对应,“APPEND BLANK”命令与第二种方法相对应,3.2.4 修改表的结构 在表的实际应用中,可能发生表的结构不满足应用的情况 ,所以我们需要修改。 修改“学生信息登记表”的结构 方法一:选择【显示】菜单中的【表设计器】命令。 方法二:使用“MODIFY STRUCT”命令,当数据表处于打开状态时,在命令窗口中输入“MODIFY STRUCT”命令,即可打开表设计器, 从而设计表的结构。 对于一个表,如果不是在【表设计器】中,可以通过“LIST STRUCT”命令来显示表的结构。,3.2.5 数据表的维护 1记录指针的移动 (1)指针绝对定位 (GO|GOTO) 格式:GO / TOP / BOTTOM 功能:将记录指针移到指定的记录上。参数“TOP”代表第一条记录,“BOTTOM”代表最后一条记录。 (2)指针相对定位(SKIP) 格式:SKIP 功能:以当前记录为基准点,将记录指针向上()或向下(+)移动N条记录。如果没有数字表达式,则默认为+1 2记录的插入与追加,(1)插入新记录(INSERT) 格式:INSERT BEFORE BLANK 功能:在当前记录的后面或前面插入一条或多条记录。当缺省参数“BEFORE”时,插入在当前记录之后。有参数“BLANK”时,插入一条空白记录 (2)追加新记录 格式:APPEND BLANK 功能:在当前打开的数据表的末尾追加一条或多条记录。当有参数“BLANK”时,追加一条空白记录 3记录删除与恢复 (1)记录的逻辑删除命令 (DELETE) 格式:DELETE FOR/WHILE 功能:该命令对满足条件的记录作删除标记,此时记录仍然存在。如果命令不带任何参数,则只对当前记录作删除标记。,(2)被删除记录的恢复(RECALL) 前面已经说过,被逻辑删除的记录是可以恢复的,而且也已经知道如何在【浏览】窗口中恢复这些记录。记录的恢复还可以通过命令来完成。 格式:RECALL FOR /WHILE 功能:对被加了删除标记的当前记录或指定范围或满足条件的记录进行恢复。与“DELETE”命令相同,如果未加任何参数,则是作用于当前记录。 (3)记录的物理删除(PACK) 本命令只能作用于已经做了“删除标记”的记录,而且一旦进行了物理删除,那么就再也不能恢复了。 格式:PACK 功能:对已经做了“删除标记”的记录进行“物理删除”。,(4)记录清除命令(ZAP) 格式:ZAP 功能:物理删除表中的所有记录,无论其是否做了删除标记。执行后,数据表只保留表结构。 4表数据的替换命令(REPLACE) 格式:REPLACE WITH ADDITIVE , WITH ADDITIVE FOR 功能:用WITH之后的值替换WITH之前的值。如果缺省和,则只对当前记录中的相关字段进行操作。ADDITIVE选项只对替换备注字段有用,表示把对备注字段的替代内容追加到原备注字段内容的后面。,3.3 数据库及其使用,数据库是由多个数据表按一定关系组成的文件。把一些相互有关的表集中到一个数据库中,则这些从属于某一个数据库的表统称为数据库表。一个大的应用项目可以创建若干个数据库,每个数据库可定义一组数据库表,然后用一定的关系将它们相互连接 1长表名与长字段名 Visual FoxPro 6.0中允许在数据字典中为表或字段设置不超过128个字符的长名。长表名与长字段名都可以在【表设计器】中给出,2设置字段属性 字段属性包括字段的显示格式、字段有效性等方面的内容。当打开数据库中的【表设计器】时,其下方所显示的就是对字段属性的相应设置. 3设置记录有效性规则 “字段有效性规则”指的是数据表中的所有记录的某一个字段在输入时应满足的条件,而“记录有效性规则”则指的是一条记录的不同的字段相互之间应该满足某种逻辑关系。,4设置表间关联 当几个表同属于一个数据库时,并不是说这几个表之间就一定有了关联。表与表之间是否进行关联,如何关联,必须由用户根据实际需要自行定义。 一般来说,一个数据库中的多个表如果要建立关联,那么这些表中应有相同的字段,而且每个表都要以该字段建立索引。在这一前提下,以其中一个表中的字段与另一个表中的同名字段建立关联,这样两个表间就有了一定的关系。 利用【数据库设计器】可以很方便地实现表与表之间的关联。因为这种在数据库中建立的关系被作为数据库的一部分而保存在数据库中,所以被称为“永久关系”。,5设置参照完整性 所谓“参照完整性”,是指数据库中的多个数据表之间建立了关联后,当对其中的一个数据表进行记录的插入、修改、删除等操作时,其他数据表也自动根据设置进行相应的调整。,3.4 索引及其应用,3.4.1 索引的概念 数据表中的记录是以输入记录时的先后顺序存放的,这种顺序被称为“物理顺序”。当对该数据表建立了索引后,数据表中记录的物理顺序未被改变,而只是根据建立索引的关键字产生了一个索引文件。在该索引文件中,记录是按新的顺序排列的,这种顺序叫做“逻辑顺序”。 这和图书馆中对图书的管理类似。图书馆中图书的陈列顺序可以是按照购买的先后顺序进行摆放,这个顺序就是所谓的“物理顺序”。为了方便读者进行图书的查询,可以为这些图书按书名或按作者建立不同的索引表。在这些索引表中,图书的顺序是按书名或是作者的名字进行排序的,这个顺序就是所谓的“逻辑顺序”。而建立这样的索引表,并不需要改变图书原来的“物理顺序”,只要将其位置标识出来就可以了。,3.4.2 索引的种类 Visual FoxPro 6.0中共支持4种类型的索引:主索引、候选索引、普通索引和唯一索引。 1主索引 主索引可确保字段中数据的唯一性,同时它也决定了数据表中记录的排列顺序。自由表不能建立主索引。主索引只适用于数据库表,在一个数据库表中也只能建立一个主索引。 2候选索引 候选索引像主索引一样要求字段中数据的唯一性,并决定了数据表中记录的排列顺序。一张表中可以建立多个候选索引。在Visual FoxPro 6.0中,数据库表和自由表均可以建立候选索引。,3普通索引 普通索引也可以决定记录的排列顺序,但是它允许字段中出现重复的值。因此在排序或查询时会列出所有符合条件的记录。在一个表中可以加入多个普通索引。 4唯一索引 唯一索引也可以决定记录的排列顺序,也允许字段中出现重复的值。和普通索引相区别的是在输出时只保存第一个记录。,3.4.3 建立索引 在表设计器中为“学生信息登记表”建立索引。 主索引:对于“学生信息登记表”中的各个字段,只有“学号”字段中的值是唯一的,因此,按“学号”建立主索引。 普通索引:“学生信息登记表”中的“入学成绩”字段的值不唯一,而用户又往往要查看“入学成绩”由低到高的排列情况。因此,将该字段设为普通索引。,利用命令建立索引。 格式:INDEX ON TAG FOR 用“INDEX”命令为“学生信息登记表”表中的“入学成绩”字段建立一个普通索引。,3.5 小结,数据表是一张二维表,用于存放数据;而数据库是建立在数据表之上的,主要用于管理和组织属于该数据库的表。要使用数据库,首先需建立一个数据库,然后在这个数据库中加入数据表或创建新的数据表,利用数据库中的各种管理功能来管理和操作数据库,如添加数据表、移去数据表、查找表、设置表间的关系等。 一个大型的数据库应用程序必有多个数据表,利用数据库来组织和管理这些数据表是数据库发展的一个方向。数据表之间的关系有永久的,也有临时的,设置这些关系可以方便应用程序设计时对表的操作。,3.6 习题,一、选择题 1在一个表上只能建立( )。 A一个主索引 B两个主索引 C多个主索引 2在一个表上可以建立( )。 A一个候选索引 B多个候选索引 C二个候选索引 3在一个表上可以建立( )。 A一个普通索引 B多个普通索引 C二个普通索引 4在Visual FoxPro 6.0中,数据库文件和数据库表文件的扩展名分别是( )。 A.DBF和.DCT B.DBC和.DCT C.DBC和.DCX D.DBC和.DBF,5下列( )类型文件可供用户直接修改。 ADBF BDBC CDCT DDCX 6下列打开数据库设计器的操作方法中,错误的是( )。 A利用菜单命令中的【打开】命令,选择要打开的数据库 B通过【项目管理器】打开数据库 C通过命令“OPEN DATABASE”打开数据库 D通过命令“MODIFY DATABASE”打开数据库 7对数据表的结构进行操作,是在( )环境下完成的。 A表设计器 B表向导 C表浏览器 D表编辑器 8要打开多个数据表文件,应该在多个( )中操作。 A工作区 B数据库 C工作期 D项目,9在建立唯一索引时,若有重复字段值出现,只存储重复出现记录的( )。 A第一个 B最后一个 C全部 D几个 10修改表文件结构时,下列可能使表中数据丢失的操作是( )。 A增加一个字段 B改变一个字段名 C改变一个字段的数据类型 D上述ABC三种情况 11已知当前表中有60条记录,当前记录号为6。如果执行命令“SKIP 3”以后,则当前为第( )号记录。 A3 B4 C8 D9 12如果需要给当前表增加一条记录,不能使用的命令是( )。 AAPPEND BMODIFY STRUCTURE CINSERT DEDIT,13以下关于索引的叙述,正确的是( )。 A使用索引可以提高查询速度和更新速度 B使用索引可以提高查询速度,但会降低更新速度 C使用索引可以提高查询速度,对更新速度没有影响 D使用索引对查询速度和更新速度均没有实质影响,二、填空题 1打开一个数据库的命令是 ,关闭当前数据表的命令是 。 2在定义表结构时,要定义表中每个字段的 、 和 。如果以后要再次修改数据表结构,可使用 命令打开表结构设计器。 3数据表文件一般包括 和 两部分,浏览数据表中的记录,最简单快捷的方法是在命令窗口中输入 命令,打开浏览器窗口进行浏览。 4假设表中有10条记录,每条记录都包含两个备注型字段和一个逻辑型安段,则该表中的记录所占的字符宽度总共是 。 5逻辑删除表中的记录可以使用 命令,若要在此基础上进行物理删除,则应该使用 命令。,6在Visual FoxPro 6.0中删除记录有 和 两种。 只是在记录旁做删除记录,必要时还可以去掉删除标记恢复记录,而 是将那些有删除标记的记录从表中删除。 7假设在“学生信息登记表”中,第2、4条记录的性别为“女”,执行下面两条命令: DISPLAY FOR性别=女 DISPLAY WHILE性别=女 则第一条命令显示的是 记录,第二条命令显示的是 记录。,三、简答题 1建立如下所示的商品表SP.DBF。 结构:SP(货号C(6),品名C(8),进口L,单价N(7,2),数量N(2),开单日期D,生产单位C(16),备注M,商标G)。 记录: 货 号品 名进 口单 价数 量开单日期生产单位备 注商 标LX-750影碟机T5 900.00408/10/96松下电器公司YU-120彩电F6 700.00410/10/96上海电器公司AX-120音响T3 100.00511/10/95日立电器公司DV-430影碟机T2 680.00309/30/96三星公司FZ-901取暖器F318.00609/05/96中国富利电器厂LB-133音响T4 700.00812/30/95松下电器公司SY-701电饭锅F258.001008/19/96上海电器厂NV-920录放机T1 750.00607/20/96先锋电器公司,要求: (1)建立表SP.DBF的结构后,立即输入前6个记录的数据(备注由读者自己输入),其中前两个记录的商标字段,由读者在Windows环境下选两个图标分别输入,数据输入后存盘退出。 (2)打开表SP.DBF,分别查看其结构与记录,包括备注字段与商标字段的数据。 (3)追加最后两个记录,结束后分别以浏览格式和编缉格式查看数据。,2Visual FoxPro 6.0中定义了多少种数据类型?哪些用于数据表中的字段?哪些用于内存变量? 3什么是索引?索引文件有几种?索引的类型有哪些? 4打开表SP.DBF,试为下列要求分别写出命令序列。 (1)显示第5个记录。 (2)显示第3个记录开始的5个记录。 (3)显示第3个记录到第5个记录。 (4)显示数量少于5的商品的货号,品名与生产单价。 (5)显示进口商品或1995年开单的商品信息。 (6)显示上海商品信息。,(7)显示单价大于4 000元的进口商品信息或单价大于5 000元的国产商品信息。 (8)列出1995年开单的商

温馨提示

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

评论

0/150

提交评论