《数据库应用基础——Visual FoxPro 6.0 第二版 教学课件 ppt 作者 蒲永华 吴冬梅 第3章》由会员分享,可在线阅读,更多相关《数据库应用基础——Visual FoxPro 6.0 第二版 教学课件 ppt 作者 蒲永华 吴冬梅 第3章(38页珍藏版)》请在金锄头文库上搜索。
1、第3章 数据库与表,数据库和表对于数据库应用系统来说是两个非常重要的概念。表是处理数据和建立关系型数据库及应用程序的基本单元,在Visual FoxPro 6.0中,几乎所有的操作都是建立在数据表上的。 Visual FoxPro 6.0中的表有两种形态,即单独使用的自由表和作为数据库一部分的数据库表。这两种表可以相互转换。 单独使用的自由表,可以为存储和查看信息提供很多帮助。如果把若干张表组织到一个数据库中,就可以充分地利用Visual FoxPro 6.0提供的强大功能,更好地组织和管理众多的数据。,【学习目标】, 了解数据库和表的基本概念 掌握创建数据库的方法及常用操作 掌握创建自由表的
2、方法 掌握维护数据库表的方法,3.1 数据库与表的创建,3.1.1 数据库的创建 数据库的设计在数据库应用系统开发中是一个独立的、至关重要的环节。所有相关联的数据库对象,例如表、视图、连接和存储过程,都存放在一个数据库中。可以使用向导、设计器创建数据库,也可以使用“CREATE DATABASE”命令来创建数据库。,3.1.2 表的创建 表的创建有多种方法,既可以创建数据库表,也可以创建自由表。 1创建数据库表 建立数据库中的表文件有多种方法,例如,在项目管理器中新建表和在数据库设计器中新建表。 2创建自由表 创建自由表有多种方法,常用的方法有:通过【表设计器】实现,通过【表向导】实现,或者通
3、过命令来实现。,3.2 表的基本操作,3.2.1 数据表的打开与关闭 一、打开“学生信息登记表”数据表。 方法一:在【命令】窗口中打开数据库。 在【命令】窗口中输入“USE ”,如“USE 学生信息登记表”。 方法二:利用菜单命令打开数据表。 方法三:在项目管理器中打开数据表。,二、关闭“学生信息登记表”数据表。 方法一:在【命令】窗口中输入“USE”命令,则当前打开的数据表被自动关闭。 方法二:选择菜单中的【窗口】/【数据工作期】命令,在该窗口中单击关闭按钮,即可关闭当前打开的数据表。 方法三:直接关闭Visual FoxPro 6.0,则当前打开的数据表被自动关闭。当然,这种方法一般只有当
4、要结束工作时才选用。 另外,如果在当前的工作环境中打开了其他数据表,则原来打开的数据表被自动关闭。,3.2.2 向表中输入数据 向“学生信息登记表”中输入数据。 在建立好表结构后,系统会询问是否马上输入记录,如果选择是按钮,在弹出的界面中,用户即可根据表中的内容依次录入各记录。 3.2.3 编辑表中的数据。 显示“学生信息登记表”表中的数据。 方法一:在【命令】窗口中键入一条“LIST”命令。 方法二:以窗口的形式显示所有记录。 修改“学生信息登记表”表中的数据,无论是在【浏览】窗口还是在【编辑】窗口,都可以将光标定位在某条记录的数据上,然后对其进行修改 ,修改完成之后将窗口关闭,则数据被自动
5、保存。 在“学生信息登记表”添加新的记录。 方法一:选择【显示】菜单中的【追加】命令。 方法二:选择【表】菜单中的【追加新记录】命令。 两种方法都可以在表的末尾增加新的记录,但两者又有所区别。 当选择的是【显示】/【追加】命令时,自动在最后一条记录的后面增加一条空白的记录,而每当向这条空白记录中输入了内容时,系统又在这条记录的后面再增加一条空白记录。因此,本方法适用于大量地增加记录。,而如果选择的是【表】/【追加新记录】命令时,系统只在最后一条记录的末尾再增加一条空白记录。因此,本方法适用于增加一条记录的情况。 方法三:使用APPEND(或APPEND BLANK)命令。 “APPEND”命令
6、与第一种方法相对应,“APPEND BLANK”命令与第二种方法相对应,3.2.4 修改表的结构 在表的实际应用中,可能发生表的结构不满足应用的情况 ,所以我们需要修改。 修改“学生信息登记表”的结构 方法一:选择【显示】菜单中的【表设计器】命令。 方法二:使用“MODIFY STRUCT”命令,当数据表处于打开状态时,在命令窗口中输入“MODIFY STRUCT”命令,即可打开表设计器, 从而设计表的结构。 对于一个表,如果不是在【表设计器】中,可以通过“LIST STRUCT”命令来显示表的结构。,3.2.5 数据表的维护 1记录指针的移动 (1)指针绝对定位 (GO|GOTO) 格式:G
7、O / TOP / BOTTOM 功能:将记录指针移到指定的记录上。参数“TOP”代表第一条记录,“BOTTOM”代表最后一条记录。 (2)指针相对定位(SKIP) 格式:SKIP 功能:以当前记录为基准点,将记录指针向上()或向下(+)移动N条记录。如果没有数字表达式,则默认为+1 2记录的插入与追加,(1)插入新记录(INSERT) 格式:INSERT BEFORE BLANK 功能:在当前记录的后面或前面插入一条或多条记录。当缺省参数“BEFORE”时,插入在当前记录之后。有参数“BLANK”时,插入一条空白记录 (2)追加新记录 格式:APPEND BLANK 功能:在当前打开的数据表
8、的末尾追加一条或多条记录。当有参数“BLANK”时,追加一条空白记录 3记录删除与恢复 (1)记录的逻辑删除命令 (DELETE) 格式:DELETE FOR/WHILE 功能:该命令对满足条件的记录作删除标记,此时记录仍然存在。如果命令不带任何参数,则只对当前记录作删除标记。,(2)被删除记录的恢复(RECALL) 前面已经说过,被逻辑删除的记录是可以恢复的,而且也已经知道如何在【浏览】窗口中恢复这些记录。记录的恢复还可以通过命令来完成。 格式:RECALL FOR /WHILE 功能:对被加了删除标记的当前记录或指定范围或满足条件的记录进行恢复。与“DELETE”命令相同,如果未加任何参数
9、,则是作用于当前记录。 (3)记录的物理删除(PACK) 本命令只能作用于已经做了“删除标记”的记录,而且一旦进行了物理删除,那么就再也不能恢复了。 格式:PACK 功能:对已经做了“删除标记”的记录进行“物理删除”。,(4)记录清除命令(ZAP) 格式:ZAP 功能:物理删除表中的所有记录,无论其是否做了删除标记。执行后,数据表只保留表结构。 4表数据的替换命令(REPLACE) 格式:REPLACE WITH ADDITIVE , WITH ADDITIVE FOR 功能:用WITH之后的值替换WITH之前的值。如果缺省和,则只对当前记录中的相关字段进行操作。ADDITIVE选项只对替换备
10、注字段有用,表示把对备注字段的替代内容追加到原备注字段内容的后面。,3.3 数据库及其使用,数据库是由多个数据表按一定关系组成的文件。把一些相互有关的表集中到一个数据库中,则这些从属于某一个数据库的表统称为数据库表。一个大的应用项目可以创建若干个数据库,每个数据库可定义一组数据库表,然后用一定的关系将它们相互连接 1长表名与长字段名 Visual FoxPro 6.0中允许在数据字典中为表或字段设置不超过128个字符的长名。长表名与长字段名都可以在【表设计器】中给出,2设置字段属性 字段属性包括字段的显示格式、字段有效性等方面的内容。当打开数据库中的【表设计器】时,其下方所显示的就是对字段属性
11、的相应设置. 3设置记录有效性规则 “字段有效性规则”指的是数据表中的所有记录的某一个字段在输入时应满足的条件,而“记录有效性规则”则指的是一条记录的不同的字段相互之间应该满足某种逻辑关系。,4设置表间关联 当几个表同属于一个数据库时,并不是说这几个表之间就一定有了关联。表与表之间是否进行关联,如何关联,必须由用户根据实际需要自行定义。 一般来说,一个数据库中的多个表如果要建立关联,那么这些表中应有相同的字段,而且每个表都要以该字段建立索引。在这一前提下,以其中一个表中的字段与另一个表中的同名字段建立关联,这样两个表间就有了一定的关系。 利用【数据库设计器】可以很方便地实现表与表之间的关联。因
12、为这种在数据库中建立的关系被作为数据库的一部分而保存在数据库中,所以被称为“永久关系”。,5设置参照完整性 所谓“参照完整性”,是指数据库中的多个数据表之间建立了关联后,当对其中的一个数据表进行记录的插入、修改、删除等操作时,其他数据表也自动根据设置进行相应的调整。,3.4 索引及其应用,3.4.1 索引的概念 数据表中的记录是以输入记录时的先后顺序存放的,这种顺序被称为“物理顺序”。当对该数据表建立了索引后,数据表中记录的物理顺序未被改变,而只是根据建立索引的关键字产生了一个索引文件。在该索引文件中,记录是按新的顺序排列的,这种顺序叫做“逻辑顺序”。 这和图书馆中对图书的管理类似。图书馆中图
13、书的陈列顺序可以是按照购买的先后顺序进行摆放,这个顺序就是所谓的“物理顺序”。为了方便读者进行图书的查询,可以为这些图书按书名或按作者建立不同的索引表。在这些索引表中,图书的顺序是按书名或是作者的名字进行排序的,这个顺序就是所谓的“逻辑顺序”。而建立这样的索引表,并不需要改变图书原来的“物理顺序”,只要将其位置标识出来就可以了。,3.4.2 索引的种类 Visual FoxPro 6.0中共支持4种类型的索引:主索引、候选索引、普通索引和唯一索引。 1主索引 主索引可确保字段中数据的唯一性,同时它也决定了数据表中记录的排列顺序。自由表不能建立主索引。主索引只适用于数据库表,在一个数据库表中也只
14、能建立一个主索引。 2候选索引 候选索引像主索引一样要求字段中数据的唯一性,并决定了数据表中记录的排列顺序。一张表中可以建立多个候选索引。在Visual FoxPro 6.0中,数据库表和自由表均可以建立候选索引。,3普通索引 普通索引也可以决定记录的排列顺序,但是它允许字段中出现重复的值。因此在排序或查询时会列出所有符合条件的记录。在一个表中可以加入多个普通索引。 4唯一索引 唯一索引也可以决定记录的排列顺序,也允许字段中出现重复的值。和普通索引相区别的是在输出时只保存第一个记录。,3.4.3 建立索引 在表设计器中为“学生信息登记表”建立索引。 主索引:对于“学生信息登记表”中的各个字段,
15、只有“学号”字段中的值是唯一的,因此,按“学号”建立主索引。 普通索引:“学生信息登记表”中的“入学成绩”字段的值不唯一,而用户又往往要查看“入学成绩”由低到高的排列情况。因此,将该字段设为普通索引。,利用命令建立索引。 格式:INDEX ON TAG FOR 用“INDEX”命令为“学生信息登记表”表中的“入学成绩”字段建立一个普通索引。,3.5 小结,数据表是一张二维表,用于存放数据;而数据库是建立在数据表之上的,主要用于管理和组织属于该数据库的表。要使用数据库,首先需建立一个数据库,然后在这个数据库中加入数据表或创建新的数据表,利用数据库中的各种管理功能来管理和操作数据库,如添加数据表、
16、移去数据表、查找表、设置表间的关系等。 一个大型的数据库应用程序必有多个数据表,利用数据库来组织和管理这些数据表是数据库发展的一个方向。数据表之间的关系有永久的,也有临时的,设置这些关系可以方便应用程序设计时对表的操作。,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下列打开数据库设计器的操作方法