《第3章 数据库与表的基本操作_1.ppt》由会员分享,可在线阅读,更多相关《第3章 数据库与表的基本操作_1.ppt(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第3章 数据库和表的基本操作目 录上一页下一页退 出目 录上一页下一页退 出 本本 章章 要要 点点3.1 VFP6数据库和表的基本概念3.2 数据库的基本操作3.3 表的基本操作3.4 表间关系和参照完整性3.5 工作区与多表操作目 录上一页下一页退 出 3.1 数据库和表的基本概念 数据库v数据库是以一定的组织方式存储在外部存储设备上的相关数据的集合。v数据库是一个逻辑上的概念和手段,它把相关联的若干个表组织在一起,建立并存储了表与表之间的永久关系、与表相关的视图、与远程数据源的连接和存储过程。表v数据库表:属于某个数据库的表。v自由表:不属于任何数据库的表。目 录上一页下一页退 出 3.
2、1 数据库和表的基本概念数据库的实例:目 录上一页下一页退 出 本本 章章 要要 点点3.1 VFP6数据库和表的基本概念3.2 数据库的基本操作3.3 表的基本操作3.4 表间关系和参照完整性3.5 工作区与多表操作目 录上一页下一页退 出3.2 数据库的基本操作3.2.1 数据库的创建与删除3.2.2 数据库的打开与关闭3.2.3 数据库设计器目 录上一页下一页退 出3.2.1 数据库的创建与删除(创建)数据库的创建建立数据库的常用方法建立数据库的常用方法:打开项目管理器,在“数据”选项卡中选择“数据库”,然后单击“新建”按钮选择“文件”菜单中的“新建”或者单击常用工具栏上的“新建”按钮,
3、使用命令方式:CREATE DATABASECREATE DATABASE 目 录上一页下一页退 出3.2.1 数据库的创建与删除(删除)数据库的删除 删除数据库的常用方法:在项目管理器中直接选择要删除的数据库,然后单击“移去”按钮使用命令删除数据库:DELETE DATABASEDELETE DATABASE RECYCLERECYCLE目 录上一页下一页退 出3.2.2 数据库的打开与关闭(打开)数据库的打开 打开数据库的常用方法:在项目管理器中选择要打开的数据库,所选数据库将自动打开选择“文件”菜单中的“打开”命令或单击工具栏上的“打开”按钮使用命令方式 OPEN DATABASEOPE
4、N DATABASE 目 录上一页下一页退 出3.2.2 数据库的打开与关闭(关闭)数据库的关闭 关闭数据库的常用方法:在项目管理器中直接选择要关闭的数据库,然后单击“关闭”命令按钮使用命令方式关闭数据库:CLOSE DATABASECLOSE DATABASE目 录上一页下一页退 出3.2.3 数据库设计器(1/2)数据库设计器 数据库设计器是在Visual FoxProVisual FoxPro中管理数据库的一个工具,可以管理数据库中的表、视图与关系等。数据库设计器工具栏的常用按钮介绍如下:新建数据库新建数据库表表将自由表添加将自由表添加至数据库至数据库将表从数据库将表从数据库中移去中移去
5、新建远程视新建远程视图图新建本地视新建本地视图图打开数据库表打开数据库表设计器设计器打开浏览窗打开浏览窗口口目 录上一页下一页退 出3.2.3 数据库设计器(2/2)打开数据库设计器的方法有4种:利用项目管理器或菜单新建数据库后,立即打开数据库设计器。利用菜单打开一个数据库后,将自动打开数据库设计器。在项目管理器中,选定一个数据库,然后单击“修改”按钮,或者在项目管理器中直接双击数据库名,就可以打开数据库设计器。采用命令方式:MODIFY DATABASEMODIFY DATABASE 目 录上一页下一页退 出 本本 章章 要要 点点3.1 VFP6数据库和表的基本概念3.2 数据库的基本操作
6、3.3 表的基本操作3.4 表间关系和参照完整性3.5 工作区与多表操作目 录上一页下一页退 出 3.3 表的基本操作3.3.1 表的创建3.3.2 表结构的修改3.3.3 表的打开浏览关闭3.3.4 使用命令方式操作表3.3.5 数据库表索引的创建和使用3.3.6 数据库表的属性设置目 录上一页下一页退 出3.3.1 表的创建(1/4)创建表的步骤:Step1:定义表名;Step2:定义表结构:包括定义字段名、数据类型与宽度、是否接受NULLNULL值等Step3:输入记录内容。字段名的命名规则如下:必须以字母或汉字开头。可以由字母、汉字、数字和下划线组成。长度不超过128个字符(若是自由表
7、则长度不超过10个字符)。目 录上一页下一页退 出3.3.1 表的创建(2/4)建立表即建立一个扩展名为DBFDBF的文件。如果表中有备注字段,还会相应生成一个扩展名为FPTFPT的文件。建立数据库表有三种常用的方法:在项目管理器中,展开某个数据库,选择“表”,单击“新建”按钮,选择“新建表”打开数据库设计器,在数据库设计器工具栏中选择“新建表”按钮使用命令方式:CREATE CREATE 目 录上一页下一页退 出建立自由表有三种常用方法:(1)在项目管理器中,选择“数据”选项卡中的“自由表”,然后选择“新建”按钮(2)在没有打开任何数据库的前提下,选择“文件”菜单中的“新建”命令,(3)在没
8、有打开任何数据库的前提下,使用命令CREATE3.3.1 表的创建(3/4)目 录上一页下一页退 出自由表成为数据库表的方法:1)在项目管理器中,打开某个数据库,选择“表”,单击“添加”按钮,选择要添加的自由表2)打开数据库设计器,单击数据库设计器工具栏中的“添加表”按钮3.3.1 表的创建(4/4)数据库表成为自由表的方法:1)在项目管理器中选择要移出的数据库表,单击“移去”按钮2)在数据库设计器中,选择要移出的表,单击工具栏中的“移出表”按钮目 录上一页下一页退 出3.3.2 表结构的修改表结构的修改 利用表设计器既可增加、删除字段,也可修改字段名、字段类型、字段的宽度等。进入表设计器修改
9、表结构的方法在项目管理器中,选择要修改的表,然后单击“修改”按钮在数据库设计器中,选择要修改的表,在数据库设计器工具栏中选择“修改表”按钮使用命令方式:MODIFY STRUCTUREMODIFY STRUCTURE目 录上一页下一页退 出3.3.3 表的打开/浏览/关闭(打开)打开表的五种方法:使用项目管理器修改表结构或浏览表时,表将自动打开使用数据库设计器修改表结构或浏览表时,表将自动打开选择“文件”菜单中的“打开”或单击工具栏上的“打开”按钮选择“窗口”菜单中的“数据工作期”打开“数据工作期”窗口,单击“打开”按钮目 录上一页下一页退 出 使用命令方式USE USE EXCLUSIVE
10、ALIAS EXCLUSIVE ALIAS 子句说明:ALIAS ALIAS :表示给表定义别名,若省略,表名即为别名。EXCLUSIVEEXCLUSIVE:表示以独占方式打开表,若省略,则以共享方式打开表。3.3.3 表的打开/浏览/关闭(打开)目 录上一页下一页退 出打开表有两种方式:独占(EXCLUSIVEEXCLUSIVE)和共享(SHAREDSHARED)。在对表进行追加记录、修改表结构和物理删除时,系统要求表是用独占方式打开的。以独占方式打开表在USEUSE命令中使用EXCLUSIVEEXCLUSIVE子句在使用菜单方式和数据工作期打开表文件时,在“打开”对话框中选中“独占”。3.
11、3.3 表的打开/浏览/关闭(打开)目 录上一页下一页退 出 菜单方式 数据工作期3.3.3 表的打开/浏览/关闭(打开)目 录上一页下一页退 出使用浏览器操作表1.打开浏览器显示方式的切换:“显示”菜单“浏览”方式 “编辑”方式3.3.3 表的打开/浏览/关闭(浏览)目 录上一页下一页退 出2在浏览器中追加新记录 追加多条新记录 “显示”菜单中选择“追加方式”追加一条新记录 “表”菜单中选择“追加新记录”从另一张表中追加新记录 “表”菜单中选择“追加记录”3在浏览器中修改记录 直接修改记录的值 自动修改数据 “表”菜单中的“替换字段”3.3.3 表的打开/浏览/关闭(追加)目 录上一页下一页
12、退 出 4在浏览器中删除记录 逻辑删除和物理删除 逻辑删除是将记录打上逻辑删除标记,而物理删除是将那些带有逻辑删除标记的记录真正从表中删除。逻辑删除 1)直接设置逻辑删除标记 2)逻辑删除成批的记录“表”菜单中选择“删除记录”3.3.3 表的打开/浏览/关闭(删除)目 录上一页下一页退 出 恢复记录 1)直接取消逻辑删除标记 2)逻辑恢复成批的记录 “表”菜单中的“恢复记录”物理删除 “表”菜单中选择“彻底删除”3.3.3 表的打开/浏览/关闭(删除)目 录上一页下一页退 出5指针移动 指针:指向正在被处理的记录,该记录被称为当前记录 用鼠标移动指针 快速移动指针 “表”菜单的“转到记录”3.
13、3.3 表的打开/浏览/关闭(移动)目 录上一页下一页退 出表的关闭用户对表的操作结束后,需要关闭表。关闭表主要有两种方法:(1)在数据工作期中,选择要关闭的表,然后单击“关闭”按钮(2)使用命令方式关闭当前表的命令格式:USEUSE 关闭所有表的命令格式:CLOSE DBF|TABLES ALLCLOSE DBF|TABLES ALL3.3.3 表的打开/浏览/关闭(关闭)目 录上一页下一页退 出 1显示表记录的命令显示表记录的命令 格式:LIST FIELDS FORWHILE DISPLAY FIELDS FORWHILE 功能:以列表的形式显示表的全体或部分记录及字段内容。要 点 范围
14、子句:范围子句:用来确定执行该命令涉及的记录,范围有4种限定方法:RECORDN 第N个记录;NEXTN 从当前记录起的N个记录ALL 所有记录;REST 从当前记录起到最后一个记录止的所有记录 缺省范围子句时LIST默认为ALL,但DISPLAY命令在缺省范围子句时默认范围为当前记录。FOR子句:子句:FOR子句的条件为逻辑表达式,它指定选择记录的条件。WHILE子句:子句:该子句也用于指明操作条件,但它仅在当前记录符合时开始依次筛选记录,一旦遇到不满足条件的记录时就停止操作。FIELDS子句子句:FIELDS子句则能确定需要操作的字段。FIELDS子句缺省时显示除备注型、通用型字段外的所有
15、字段。功能略有区别功能略有区别:前者以滚动方式输出,后者则为分屏输出;在缺省范围时,前者默认所有记录,后者指当前一个记录。3.3.4 使用命令方式操作表(显示)目 录上一页下一页退 出3.3.4 使用命令方式操作表(显示)例3.33.3 显示STUDENTSTUDENT表中的当前记录 USE STUDENTUSE STUDENT DISPLAY DISPLAY&等价命令等价命令:DISPLAY NEXT 1:DISPLAY NEXT 1例3.43.4 显示STUDENTSTUDENT表中所有的记录 USE STUDENTUSE STUDENT LIST LIST&等价命令等价命令:DISPLA
16、Y ALL:DISPLAY ALL目 录上一页下一页退 出3.3.4 使用命令方式操作表(显示)例3.53.5 分屏显示STUDENTSTUDENT表中的所有记录的姓名和年龄字段 USE STUDENTUSE STUDENT DISPLAY ALL FIELDS DISPLAY ALL FIELDS 姓名姓名,年龄年龄 例3.63.6 分屏显示STUDENTSTUDENT表中的所有入学总分大于550550的记录 USE STUDENTUSE STUDENT DISPLAY FOR DISPLAY FOR 入学总分入学总分550 550 目 录上一页下一页退 出 2.2.追加记录的命令追加记录的
17、命令 输入记录的命令输入记录的命令 格式:格式:APPENDBLANKAPPENDBLANK 功能:在当前表的末尾追加一些新的记录。功能:在当前表的末尾追加一些新的记录。若选择BLANK,追加一条“空白记录”,以后可用EDIT、BROWSE、REPLACE等命令向空白记录添加数据。例如:use 学生 append 在屏幕上将出现一个空记录,以供输入数据。如果已经打开的数据库中没有记录,追加从第一条记录开始;若数据库文件中原有N条数据记录,追加从第N+1条记录开始。插入记录的命令插入记录的命令 格式:格式:INSERT BLANK|BEFOREINSERT BLANK|BEFORE 功能:在打开
18、表的任意位置插入新的记录。功能:在打开表的任意位置插入新的记录。APPEND命令是从数据表的末尾增加新的记录,INSERT 命令可以从表文件记录任意插入记录。若选择BLANK,则插入一条“空白记录”,以后可用EDIT、BROWSE、REPLACE等命令向空白记录添加数据;若不选择BLANK项,则出现编辑界面,并以交互方式输入新记录的值。若选择BEFORE项,则当前记录之前插入一条新记录;若不选择BEFORE项,则在当前记录之后插入一条新记录。如果在表上建立了索引,则不能用INSERT插入记录。要 点3.3.4 使用命令方式操作表(添加)目 录上一页下一页退 出3.删除记录的命令删除记录的命令
19、删除可分为逻辑删除和物理删除两种操作。逻辑删除还可以恢复,而物理删除则不可恢复。i)逻辑删除记录逻辑删除记录 逻辑删除就是给指定的记录作删除标记“*”。格式:DELETE FOR WHILE 功能:对当前表中指定范围内满足条件的记录作删除标记“*”。说明:DELETE命令仅仅是在要删除的记录前加上一个删除标记“*”,并不是真正地从表文件中将该记录删除掉。可以用LIST或DISP命令显示带删除标记的记录。如果同时缺省和 子句,则仅仅删除当前的记录。3.3.4 使用命令方式操作表(删除)目 录上一页下一页退 出 ii)恢复逻辑删除记录恢复逻辑删除记录 恢复逻辑删除是将被逻辑删除的记录恢复为正常记录
20、。即去掉“*”号。格式:RECALL FOR WHILE 功能:将当前表文件中指定范围内满足条件的已作删除标记“*”的记录恢复,即去掉这些删除记录的删除标记,使之成为正常记录。说明:RECALL命令与DELETE命令相对应,它可以去掉被逻辑删除记录的删除标记“*”。,FOR、WHILE等各项选项意义同前;如果同时缺省和 子句,则仅仅恢复当前记录。iii)物理删除记录物理删除记录 物理删除是将当前表文件中被逻辑删除的记录全部清除。格式:PACK 功能:将当前表文件中所有带删除标记(*)的记录全部真正地删除掉。注意:执行该命令后被删除的记录将不能被恢复,因此使用时应特别小心。3.3.4 使用命令方
21、式操作表(删除)目 录上一页下一页退 出4记录自动修改命令记录自动修改命令 格式:REPLACE WITH ,WITH .FOR WHILE 功能:用指定表达式的值替换当前表中满足条件记录的指定字段的值。说明:该命令适合对当前库进行成批地、有规律地修改。缺省范围、条件时,仅替换当前记录。该命令回车后,数据修改自动完成。表达式的类型必须与字段类型一致。表达式的值不能超出字段宽度,否则,数据无效。如:将STUDENTSTUDENT表中经济学专业改为会计专业 USE STUDENTUSE STUDENT REPLACE ALL REPLACE ALL 专业专业 WITH WITH 会计会计 FOR
22、FOR 专业专业 经济学经济学 3.3.4 使用命令方式操作表(修改)目 录上一页下一页退 出5指针移动命令(1)绝对移动指针命令 GO GO|TOP|BOTTOM|TOP|BOTTOM(2)相对移动指针命令 SKIP+|-SKIP+|-例3.83.8 将指针移动到文件末记录,并测试EOF()的值 USE STUDENTUSE STUDENT GO BOTTOM GO BOTTOM?EOF()&?EOF()&屏幕显示结果为屏幕显示结果为.F.F.3.3.4 使用命令方式操作表(定位)目 录上一页下一页退 出例3.9 将指针移动到当前记录的后两条记录 SKIP 2SKIP 2例3.10 在STU
23、DENTSTUDENT表中,将指针移动到文件首记录之前,并测试函数BOF()BOF()和RECNO()RECNO()的值 USE STUDENTUSE STUDENT GO TOP GO TOP?BOF()?BOF()&屏幕显示结果为屏幕显示结果为.F.F.?RECNO()?RECNO()&记录号为记录号为1 1 SKIP-1 SKIP-1?BOF()?BOF()&屏幕显示结果为屏幕显示结果为.T.T.?RECNO()?RECNO()&记录号为记录号为1 13.3.4 使用命令方式操作表(定位)目 录上一页下一页退 出例3.113.11 在STUDENTSTUDENT表中,将指针移动到文件末记
24、录之后,并测试函数EOF()EOF()和RECNORECNO()()的值 USE STUDENTUSE STUDENT GO BOTTOM GO BOTTOM SKIP SKIP?EOF()?EOF()&屏幕显示结果为屏幕显示结果为.T.T.?RECNO()?RECNO()&最大记录号最大记录号1 13.3.4 使用命令方式操作表(定位)目 录上一页下一页退 出(3)指针的条件定位 LOCATE LOCATE FOR FOR 功能:将记录指针定位在范围内满足条件的第一条记录上,如果没有满足条件的记录则指针指向文件结束位置。缺省,则默认为ALLALL。要使指针指向下一条满足条件的记录,则要使用C
25、ONTINUECONTINUE命令,如果没有记录再次满足条件,则指针指向文件结束位置。3.3.4 使用命令方式操作表(定位)目 录上一页下一页退 出 例3.123.12 在STUDENTSTUDENT表中,将指针移动到总分大于580580的记录上 USE STUDENTUSE STUDENT LOCATE FOR LOCATE FOR 入学总分入学总分580 580?RECNO()?RECNO()&屏幕显示屏幕显示 7 7?FOUND()?FOUND()&屏幕显示屏幕显示 .T.T.找到记录找到记录 CONTINUECONTINUE?FOUND()?FOUND()&屏幕显示屏幕显示 .T.T.
26、找到记录找到记录 CONTINUECONTINUE?FOUND()?FOUND()&屏幕显示屏幕显示 .F.F.没找到记录没找到记录?EOF()?EOF()&屏幕显示屏幕显示 .T.T.3.3.4 使用命令方式操作表(定位)目 录上一页下一页退 出6表记录的统计命令(1)统计记录个数COUNT TO COUNT TO FOR|WHILE FOR|WHILE(2)统计总和SUM SUM TO TO FOR|WHILE FOR|WHILE(3)统计平均数AVERAGE AVERAGE TO TO FOR|WHILE FOR|WHILE 3.3.4 使用命令方式操作表(统计)目 录上一页下一页退 出
27、7数据筛选命令(1)记录筛选 SET FILTER TO SET FILTER TO 命令功能:可以屏蔽不满足条件的记录,SET FILTER TO SET FILTER TO 命令取消记录筛选命令。例3.133.13 设置只能访问STUDENTSTUDENT表的女生记录。USE STUDENTUSE STUDENT SET FILTER TO SET FILTER TO 性别性别=女女3.3.4 使用命令方式操作表(筛选)目 录上一页下一页退 出(2)字段筛选SET FIELDS TO SET FIELDS TO|ALLLIKE|EXCEPT|ALLLIKE|EXCEPT 命令功能:指定当前表可以访问的字段例3.143.14 设置只能访问STUDENTSTUDENT表的学号、姓名和专业字段。SET FIELDS TO SET FIELDS TO 学号学号,姓名姓名,专业专业3.3.4 使用命令方式操作表(筛选)