VFP数据库基本操作ppt课件

上传人:钟*** 文档编号:883617 上传时间:2019-09-29 格式:PPTX 页数:52 大小:2.14MB
返回 下载 相关 举报
VFP数据库基本操作ppt课件_第1页
第1页 / 共52页
VFP数据库基本操作ppt课件_第2页
第2页 / 共52页
VFP数据库基本操作ppt课件_第3页
第3页 / 共52页
点击查看更多>>
资源描述
第3章 VFP数据库基本操作,1,本章要点:,Visual FoxPro表的操作 Visual FoxPro 数据库的创建和使用,2,本章学习目标,理解Visual FoxPro支持数据库的库表二级结构。 掌握数据库和表的常用操作 理解数据库表和自由表的区别和联系 理解数据完整性的三个方面,掌握保证数据完整性的技术手段 理解数据索引的作用和类型,掌握索引的方法和索引的使用 理解工作区的概念,掌握不同工作区间数据的引用方法,3,目录,多表操作,索引,表的使用,创建表,数据库与表,数据完整性,4,3.1 数据库与表,数据库,表,5,表文件名:学生.dbf,表的结构,表的数据,字段,6,数据库的基本操作,7,Visual FoxPro数据库设计基础,设计步骤 a、需求分析: b、概念设计:分析用户需求,建立基于DBMS概念模型,E-R模型 c、逻辑设计:将E-R图转换为关系模型 一个实体型转换为一个关系模式,确定实体间的联系 d、物理设计:在VFP中建立数据库和表文件 e、调试保存,8,E-R模型,E-R模型的构成成分是实体型、属性和联系集 其表示方法如下: (1) 实体用矩形框表示,矩形框内写上实体名。 (2) 实体的属性用椭圆框表示,框内写上属性名,并用无向边与其实体相连。 (3) 实体间的联系用菱形框表示,联系以适当的含义命名,名字写在菱形框中,用无向连线将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即11、1N或MN。,9,准备工作,(1)新建一个文件夹来放置新建数据库及表等文件,为便于管理 (2)修改文件默认保存路径:工具/选项/文件位置/默认目录 (3)新建项目文件: 项目是一种文件,它是文件、数据、文档和对象的集合。 要开发设计VFP数据库管理系统,一般是先利用项目管理器建立一个项目文件,然后在项目中建立数据库、表、查询文件、程序及相关文件的设计。 (4)规划好需要哪些表,确定表中数据的类型,10,建立数据库,建立数据库,常用方法有三种: 在项目管理器中建立数据库; 使用菜单建立数据库; 使用命令建立数据库。 【例3.1】实例学生成绩管理系统:建立数据库“成绩管理”及修改与删除等操作。 方法一:在项目管理器中操作。 方法三:使用命令方式操作。 方法二:使用菜单方式操作。,11,建立数据库,建立数据库的命令为: 格式:CREATE DATABASE 数据库文件名|? 在例3.1中,命令: CREATE DATBASE 成绩管理,12,数据库的打开与关闭,打开:OPEN DATABASE 数据库文件名|? EXCLUSIVE,关闭:CLOSE DATABASE | ALL,13,修改数据库,数据库设计器是交互修改数据库对象的界面和向导,例如增加或删除数据库中的数据库表等。打开数据库设计器同样也用三种实现: 在项目管理器中打开数据库设计器; 使用菜单打开数据库设计器; 使用命令打开数据库设计器。 命令格式如下: MODIFY DATABASE 数据库文件名|?,14,删除数据库,用来删除数据库的命令格式如下: DELETE DATABASE 数据库文件名|?DELETETABLES,15,3.2 创建表,表是一组相关联的数据按行和列排列的二维表格(Table)。 在Visual FoxPro 中,表(数据)的每一列都是一个字段;每一行都是一条记录。 创建表即为表结构的创建,表结构创建后,才可以输入表数据。,16,表的结构,字段名称:段名称是字段的标识,又称为字段变量,Visual FoxPro中自由表的字段名由个数不超过10个的字母、数字或下划线组成。,表的结构,字段类型和字段宽度 :Visual FoxPro中的每一项数据都有固定的类型,每一个字段中的数据必须是同一种数据类型。,17,表3.1字段类型和宽度,18,表3.2 “学生”表结构,表3.2所示的结构可表示为: 学生(学号 C(10),姓名 C(10),性别 C(2),年龄 I,院系 C(10) )。,19,创建表,独立于数据库而存在的表,称为自由表;存在于数据库中的表称为数据库表。 在Visual FoxPro创建表时,如果当前没有数据库打开时,则创建的表为自由表,反之为当前数据库的数据库表。 在Visual FoxPro中,创建表的工具有表向导和表设计器,一般使用表设计器。 利用表设计器建立表的操作方法有两种:一是利用菜单建立;二是使用Create命令。 如果要建立数据库表,此时使数据库处于打开状态;如果要建立自由表,此时需关闭所有数据库。,20,创建表,【例3.2】实例学生成绩管理系统:建立数据库表“学生”表,“课程”表和“选课”表。 方法一:使用数据库设计器。 方法二:菜单方法。 方法三:命令方法。 自由表的创建-需关闭所有数据库 教师表的建立-菜单方法。 用命令方法或在项目管理器中同样也可建立。,21,数据库表设计器窗口,自由表设计器界面,相对于自由表,数据库表新增了许多新的功能,22,(1)空值 (2)字段有效性组框 (3)显示组框 (4)字段注释,23,数据库表与自由表,数据库表与自由表可以相互转换。 例3.3:,数据库表,自由表,1向数据库添加表,2从数据库中移出表,例3.3Demo,24,3.3 表的使用,表一旦建立起来以后,就可以对它进行相应的操作, 例如,修改表的结构,添加、删除、修改、查看记录等等。 表的操作都需要使被操作表处于打开状态,否则系统报错。,25,表的打开和关闭,打开与关闭表都是使用USE命令。 格式:USE 例如: 打开表:USE 学生 关闭表:USE,26,修改表结构,修改表结构主要包括:修改字段名、字段类型、字段宽度、小数位数、插入(添加)字段、删除字段、调换字段的顺序等内容。 修改表结构,即为重新打开表设计器设置字段属性的过程。 【例3.4】实例学生成绩管理系统:修改“学生”表结构。 命令格式: Modify Structure Use 学生 Modify Structure,27,浏览记录,1使用“浏览”窗口浏览记录 2使用命令方式打开浏览窗口 在命令方式下,首先用USE命令打开要操作的表,然后键入BROWSE命令。 3列表方式显示表记录 LIST | DISPLAY FIELDS 字段名表范围 FOR 条件表达式1,28,追加记录,1菜单方式 “表”-“追加新记录” 2. 命令方式 APPEND BLANKIN 工作区号|表的别名,29,修改记录,1用浏览方式修改数据 2REPLACE命令 REPLACE 范围 FOR 条件表达式 字段名1 WITH 表达式1 ,字段名2 WITH 表达式2 , 例如,假设有“教师”表,结构表示为:教师(姓名 C(8),职称 C(6),原工资 N(10,2),新工资 N(10,2)。将“教师”表中所有职称为“教授”的原工资提高10%的命令: REPLACE 原工资 WITH 原工资*1.1 for 职称=“教授”,30,记录的定位,记录定位是指根据需要将记录指针移到指定记录,使之成为当前记录,以便对之操作。 文件的首记录又称为TOP,尾记录称为BOTTOM。 用USE打开表时,指针总是指向第一条记录。 1绝对移动 格式1:GO|GOTO TOP GO|GOTO BOTTOM 格式2:GO|GOTO 数值表达式 2相对移动 SKIP +|-数值表达式,31,表测试函数,1测试文件尾函数 格式:EOF(n) 用于测试指定工作区中的表的记录指针是否指向文件尾,是,则返回.T.,否则返回.F. 2测试文件首函数 格式:BOF(n) 用于测试指定工作区中的表的记录指针是否指向文件首,是,则返回.T.,否则返回.F. 3测试当前记录号函数 格式:RECNO() 功能:得到当前表的当前记录号. 4测试表文件记录数函数 格式:RECCOUNT() 功能:得到当前表的记录数 5测试表字段函数 格式:FCOUNT() 功能:得到当前表的字段数,32,删除与恢复记录,1逻辑删除 DELETE 范围 FOR 条件表达式 例:逻辑删除所有性别为“男”的学生信息。 DELETE FOR 性别=“男” 2物理删除 格式:PACK 3. 物理删除表中的全部记录。 格式:ZAP 4. 恢复逻辑删除的记录 格式:RECALL 范围 FOR 条件表达式 例:将当前表中已经逻辑删除的男生记录恢复 RECALL FOR 性别=“男”,33,3.4 索引,什么是索引 索引是按照索引表达式的值使表中的记录有序排列的一种技术 索引实际上是一种排序,但是它不改变表中数据的物理顺序,而是另外建立一个记录号列表。 与图书的索引目录相同,34,索引类型,35,索引文件,36,建立索引,使用表设计器建立索引 【例3.5】实例学生成绩管理系统:为“学生”表建立复合结构化索引, 索引名:学生.CDX,37,命令方式创建索引 格式: INDEX ON eExpression TO IDXFileName | TAG TagName OF CDXFileName FOR lExpressionCOMPACT ASCENDING|DESCENDING UNIQUE|CANDIDATEADDITIVE 例如: INDEX ON 院系+学号 TAG WIZARD_1 CANDIDATE INDEX ON 学号 TAG 学号 ADDITIVE,38,使用索引,1指定主控索引:指定对表记录排序起作用的索引 指定主控索引的命令: SET ORDER TO nIndexNumber | TAG TagName ASCENDING|DESCENDING 例如:SET ORDER TO 学号 DESCENDING 2使用索引快速定位 利用索引快速定位的命令 : SEEK eExpression ORDER nIndexNumber | TAG TagName ASCENDING | DESCENDING 例如:SEEK 2009501018 ORDER 学号,39,3删除索引 单索引文件 :WINDOWS下删除 复合索引文件 : DELETE TAG ALL|索引标识符1,索引标识符2 例如: DELETE TAG 学号 DELETE TAG ALL,40,3.5 多表操作,用户可以在不同的工作区中同时打开多个表, 可以在不同的工作区打开同一个表,通过表的别名,用户可以引用在不同工作区打开的表中的数据。,41,工作区的基本概念,1工作区 工作区是用来保存表及其相关信息的一块内存空间。 打开表,实质是将表文件从磁盘调入一个工作区中。 每个工作区只能存放一个表文件, 若在一个工作区中打开一个新的表,则原来存放的表将被关闭。 2工作区编号和工作区别名 工作区编号(工作区号):132767 工作区名字(工作区的别名 ):110 :AJ 自定义别名 : USE ALIAS IN 0| 3当前工作区 当前被选择的工作区称为当前工作区 在当前工作区打开的表,就称为当前表 Visual FoxPro启动后,自动指定1号工作区为当前工作区。,42,工作区的选择和使用,1选择工作区 SELECT 工作区编号|工作区别名|表别名 例如: USE 学生 &默认在1号工作区打开表:学生.dbf SELECT D &选择4号工作区为当前工作区 USE 教师 &在当前(4号)工作区打开表:教师.dbf USE 课程 ALIAS course &在当前工作区打开“课程”表,关闭“教师”表 SELECT 1 &选择1区为当前工作区 LIST &显示当前(1号)工作区“学生”表的记录 SELECT course &或SELE 4,SELE d ,但不能使用SELE课程 LIST &显示“课程”表的记录,43,2在不同工作区打开同一个表 方法是在打开表的USE命令后加上关键字AGAIN。 例如:SELE 1 USE 学生 USE学生ALIAS student IN 3 AGAIN SELE 2 USE学生AGAIN 3使用不同工作区的表 在别名后加上点号分隔符“.”或“-”操作符 例如: SELECT A USE 学生 &打开表未指定主索引顺序,指针指向号记录 SELECT B USE 课程 SELECT A ?学号,姓名,B.课程名称,44,永久联系,两个表之间关联:一个表(子表)的记录发生变化,另一个表(父表)的记录也发生变化,或者相反。 表之间的关联: 临时关系:一旦退出Visual FoxPro或关闭了父表或子表,所建立的关联自动取消 永久关系 :一旦创建,便会一直存在于数据库文件中,只要打开数据库,表之间的关系便自动建立 永久联系的建立: 一对一的关系:两个表都必须根据相同字段建立一个主关键字索引 一对多的关系:父表中建立一个主关键字索引,子表中建立一个普通索引 永久联系需要在数据库设计器中建立。 【例3.6】实例学生成绩管理系统:建立表之间的永久联系。,45,临时联系,永久联系不能控制不同工作区记录指针的关系 临时联系:当父表的记录指针移动时,子表中的记录指针会自动移动到和父表当前记录相关联的记录上。 命令格式: SET RELATION TO 索引关键字 INTO 表别名 父表建立主索引,子表建立普通索引 在建立联系时必须选择父表所在的工作区为当前工作区 取消:SET RELATION TO 例如,如下命令通过“学号”索引建立了学生表和选课表之间的临时联系: open database 成绩管理 use 学生 in 1 order 学号 use 选课 in 2 order 学号 set relation to 学号 into 选课,46,3.6 数据完整性,数据完整性是指数据的精确性和可靠性。 防止数据库中存在不符合语义规定的数据 防止因错误信息的输入输出造成无效操作或错误信息 数据完整性一般包括实体完整性、域完整性和参照完整性等,47,3.6 数据完整性,(1)实体完整性:保证表中记录唯一的特性 利用主关键字或候选关键字来保证表中的记录唯一 ,从而保证实体唯一性 如果一个字段的值或几个字段的值能够唯一标识表中的一条记录,则这样的字段称为候选关键字。 在VFP中主关键字为主索引,候选关键字为候选索引。 主索引与候选索引都可以保证记录的唯一性。,48,(2)域完整性: 列的值域的完整性,如数据类型、格式、值域范围、是否允许空值等。 Visual FoxPro通过建立字段有效性规则(域约束规则)实现域完整性 建立字段有效性规则比较简单直接的方法仍然是在表设计器中建立, 在表设计器的“字段”选项卡:规则(字段有效性规则)、信息(违背字段有效性规则时的提示信息)、默认值(字段的默认值)三项,3.6 数据完整性,49,(3)参照完整性:确保数据库中表间关系不被破坏 当插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确。 参照完整性的设置: 建立表间的永久联系 清理数据库 : 编辑参照完整性 : 更新规则:规定了当更新父表中的连接字段(主关键字)值时,如何处理相关的子表中的记录 删除规则:规定了当删除父表中的记录时,如何处理子表中的相关记录 插入规则:规定了当在子表中插入记录时,是否进行参照完整性检查,3.6 数据完整性,50,知识点总结,1.项目、数据库、表之间的关系 2.使用项目管理器与命令建立与修改数据库与表 3.数据库表与自由表之间的异同 4.表字段类型与宽度(P49 表3.1,注意通用型与备注型) 5.数据库表记录的浏览、追加、定位、删除等 6.索引的建立与使用 7.保证数据完整性的三个方面:实体、域、参照完整性,51,数据库表与自由表的异同,相同点:它们都是独立的表文件,可以对其进行表文件的相关操作,可浏览记录、添加记录、修改数据等,扩展名都是dbf. 不同点: (1) 数据库表隶属于某个数据库,自由表不属于任何一个数据库。但它们可以相互转化,数据库表可以移去变成自由表,自由表可以添加到数据库中成为数据库表。 (2) 数据库表可以建立主索引,自由表不能建立主索引。 (3) 数据库表中字段名长度最长可以128个字符,自由表字段名长度最长10个字符。 (4)数据库表具有某些自由表不具有的属性: 如设置字段有效性规则、设置字段默认值、显示标题、字段注释等。,52,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!