已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章visualfoxpro数据库及其操作,第三章visualfoxpro数据库及其操作,Visualfoxpro数据库及其建立建立数据库表表的基本操作索引数据完整性自由表多个表的同时使用,一、visualfoxpro数据库及其建立,在visualfoxpro中数据库可以说是一个逻辑上的概念和手段,它通过一组系统文件将相互关联的数据库表及其相关的数据库对象统一组织和管理。数据库文件名:.dbc数据库备注文件名:.dct数据库索引文件名:.dcx,1、建立数据库:,常用的建立数据库的方法有三种:在项目管理器中建立数据库;从”新建”对话框建立数据库;用命令交互建立数据库;,用命令交互建立数据库:creatdatabase数据库名说明:(1)使用命令建立数据库后,数据库已处于打开状态。(2)三种方式建立数据库都可能覆盖已存在的数据库-注意与安全设置命令:setsafetyon/off状态有关,2、使用数据库,打开数据库的方式也有三种:在项目管理器中打开数据库从“打开”对话框打开数据库用命令打开数据库,打开数据库的命令:opendatabase数据库名exclusive|sharednoupdatevalidate说明:exclusive:以独占方式打开数据库.shared:以共享方式打开数据库.noupdate:以只读方式打开数据库validate:检查在数据库中引用的对象是否合法.,注意:打开一个表并不一定要打开数据库;在同一时刻可以打开多个数据库,但只有一个是当前数据库;可通过set命令设置当前数据库:setdatabaseto数据库名,3、修改数据库,修改数据库不是对数据库文件(.dbc,.dct,.dcx)的修改,而是在数据库设计器中对各种数据库对象的建立、修改和删除操作.打开数据库设计器的方法:从项目管理器中打开从打开对话框中打开用命令打开数据库设计器modifydatabse数据库名nowaitnoedit,Nowait:只在程序中使用,在打开数据库设计器后程序继续执行,不需要关闭数据库设计器Noedit:只是打开数据库设计器,而禁止对数据库进行修改.,4、删除数据库,移去:从项目管理器中删除数据库,但并不从磁盘上删除相应的数据库文件(.dbc);删除:从项目管理器中删除数据库,并从磁盘上删除相应的数据库文件(.dbc);不管是移去还是删除数据库,都没有删除数据库中的表等对象。删除数据库的方式:(1)从项目管理器中删除;(2)使用命令;,删除数据库的命令:deletedatabase数据库名deletetablesrecycle其中:deletetables:表示在删除数据库文件的同时从磁盘上删除该库所包含的表(.dbf)recycle:表示将删除的数据库文件和表文件等放入回收站中,必要时,可以还原它们。,二、建立数据库表,1、在数据库中建立表:一个数据库中的数据就是表的集合,一个表对应于磁盘上的一个扩展名为.dbf的文件;若有备注型或通用型字段则还会有一个.fpt文件;建表涉及到的一些基本概念:字段名:汉字或西文字符字段类型和宽度:空值:就是缺值或不确定值,与0和空字符串等具有不同的含义;,在数据库设计器中创建表使用命令创建表:opendatabase库名create表名打开表的命令:use表名,2、修改表结构,在数据库设计器中修改表结构:使用命令修改表结构:use表名modifystructure,三、表的基本操作,表的基本操作包括向表中添加新记录,删除无用的记录,修改有问题的记录、查看记录等。1、使用browse浏览器操作表use表名browse2、增加记录命令:appendblankinsertbeforeblank说明:如果在表上建立了主索引或候选索引则不能用以上的insert命令插入记录,必须用sql的insert命令.,3、删除记录的命令:vf的记录删除分为逻辑删除和物理删除;(1)逻辑删除:deletefor表达式(2)恢复记录:recallfor表达式(3)物理删除有删除标记的记录:pack(4)物理删除表中的全部记录:zap,4、修改记录的命令:(1)交互修改的edit和change命令(2)直接修改的replace命令(非交互)格式:replace字段名1with表达式,字段名2with表达式,.for条件,5、显示记录的命令:list/displayfields字段表for表达式toprinter|tofile文件名,6、查询定位命令:(1)用goto命令直接定位;goto|go记录号|top|bottom(2)skip命令:skip记录数(3)用locate命令定位locatefor条件表达式将记录指针定位在满足条件的第一条记录上。,Locate命令的常用结构:locatefor条件表达式dowhilefound()处理命令.continueenddo,四、索引,Visualfoxpro索引是由指针构成的文件,这些指针逻辑上按照索引关键字的值进行排序。注-索引文件和表的.dbf文件分别存贮,并且不改变表中记录的物理顺序。创建索引是创建一个由指向.dbf文件记录的指针构成的文件.,1、visualfoxpro中的索引,Vf中的索引:主索引、候选索引、惟一索引和普通索引主索引:在指定字段或表达式中不允许出现重复值的索引。起到主关键字的主作用。一个表只能创建一个主索引。候选索引:具有与主索引相同的特性,起到候选关键字的作用。一个表可以建立多个候选索引。惟一索引:指索引项的惟一,而不是字段值的惟一。普通索引:不仅允许字段中出现重复值,并且索引项中也允许出现重复值。,在表设计器中建立索引:用命令建立索引:indexon索引表达式to索引文件名|tag索引名for条件表达式ascending|descendingunique|candidate,说明:使用命令不可以建立主索引;从索引的组织方式来讲有三类索引:单独的.idx索引,是一种非结构索引采用非默认名的.cdx索引,也是非结构索引与表名同名的.cdx索引,是结构复合索引其中结构复合索引是vf中最普通、最重要的一种索引文件,其特性如下:(1)打开表时自动打开(2)在同一索引文件中能包含多个索引关键字(3)在添加、更改或删除记录时自动维护索引,综上所述,以下均为结构复合索引的用法:,使用索引:setorderto索引序号|tag索引名ascending|descending使用索引快速定位:seek索引关键字值order索引序号|tag索引名ascending|descending删除索引:deletetag索引名|all,五、数据完整性,数据完整性是指保证数据正确的特性数据完整性一般包括实体完整性、域完整性和参照完整性;Vfp中实现这些完整性的机制:,1、实体完整性与主键,实体完整性是保证记录惟一的特性;在vfp中利用主关键字或候选关键字来实现实体完整性;,2、域完整性与约束规则,域完整性:指的是限定字段的取值类型、取值范围、字段有效性验证等。域约束规则:字段有效性规则,用于数据输入正确性的检验。在表设计器中建立字段有效性规则;(操作),3、参照完整性与表之间的关联*,参照完整性:当插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确。在vfp中实现参照完整性,首先要建立表之间的联系(关系)。最常见的联系类型是一对多的联系,通过连接字段实现联系.连接字段:在父表中一般是主关键字,在子表中是外部关键字.,在数据库设计器中实现参照完整性:,首先建立表之间的联系:步骤:在父表中建立主索引;在子表中建立普通索引;通过父表的主索引和子表的普通索引建立起两个表之间的联系。其次建立参照完整性:步骤:清理数据库设置参照完整性规则(包括:更新规则,删除规则,插入规则),参照完整性规则:(1)更新规则:规定了当更新父表中的连接字段值时,如何处理相关的子表中的记录;级联:用新的字段值自动修改子表中的所有相关记录。限制:若子表中有相关的记录,则禁止修改父表中的连接字段值。忽略:可以随意更新父表的连接字段值。,(2)删除规则:规定了当删除父表中的记录时,如何处理子表中的相关记录;级联:则自动删除子表中的所有相关记录;限制:若子表中有相关的记录,则禁止删除父表中的记录;忽略:删除父表的记录时与子表无关;,(3)插入规则:规定了当在子表中插入记录时,是否进行参照完整性检查。限制:若父表中没有相匹配的连接字段值则禁止插入记录;忽略:可以随意插入子记录说明:当设定了参照完整性规则后,以前的vf的各种插入或追加记录的方法不能完成指定操作了,需要使用SQL的insert命令插入操作。,六、自由表,自由表:不属于任何数据库的表。数据库表与自由表相比,具有如下特点:数据库表可以使用长表名,在表中可以使用长字段名;可以为数据库表中的字段指定标题和添加注释;可以为数据库表的字段指定默认值和输入掩码;数据库表的字段有默认的控件类;可以为数据库表规定字段级规则和记录级规则;数据库表支持主关键字、参照完整性和表之间的关联;支持insert、update、delete事件的触发器,1、将自由表添加到数据库,在项目管理器中或数据库设计器中将自由表添加到数据库中;使用命令:addtable表名|?name长表名注意:一个表只能属于一个数据库;,2、从数据库中移出表,当数据库不再使用某个表,而其他数据库要使用该表时,必须将该表从当前数据库中移出,成为自由表在项目管理器中或数据库设计器中将数据库表移出数据库;使用命令:removetable表名|?deleterecycle说明:一旦某个表从数据库中移出,那么与之关联的所有主索引、默认值及有关的规则都随之消失.,七、多个表的同时使用,在vfp中一次可以打开多个数据库,在每个数据库中可以打开多个表;,多工作区的概念:每个工作区中可以打开一个表,若要打开多个表,则只需要在不同的工作区中打开不同的表即可.指定工作区的命令:select工作区号|表别名也可以在use命令中直接指定在哪个工作区中打开表:use表名in工作区号,表的别名:每个表打开后都有两个默认的别名,一个是表名自身,一个是工作区所对应的别名(aj,w11w32767);此外,还可以在use命令中指定别名:use表名in工作区号alias表别名,使用不同工作区的表:(1)在某些命令中使用短语:in工作区号|别名例:seek9921104order学号in学生(2)表名|表别名.字段名表名|表别名-字段名例:?学生.学号,学生-姓名,表之间的关联:*与建立参照完整性时的表之间的联系相区别:表之间的关联-临时联系建立参照完整性时的表之间的联系-永久联系永久联系是基于索引建立的,存贮在数据库中,每次使用表时不需要重建,但不能控制不同工作区中记录指针的关系;,临时联系的建立:setrelationto索引关键字into工作区号|别名其中工作区号|别名表示要与当前工作区中的表建立联系的表所在工作区的区号或别名例、openda
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- RLC重排序定时器对VoLTE丢包改善的研究
- 幼儿园生成课程实施困境与优化策略探究
- 本科毕业论文格式规范
- 毕业设计评语(共五)
- 字体格式要求本科毕业设计论文毕业设计论文
- 工程合同授权委托书样本(3篇)
- 学院学位论文书写编辑排版操作指南
- 毕业论文写作流程解析从选题到完稿的全程指导
- 农业科技组织与服务领域代码095111-吉林农业大学研究生院
- 理论的内涵与外延分析解析
- 精神病村医培训
- 连锁酒店转让合同范例
- 一年级上册生命生态安全教案
- 产品代理合同协议书2024年
- 乡村振兴产业课件
- 试议公文评改原则和方法
- DL∕T 1100.1-2018 电力系统的时间同步系统 第1部分:技术规范
- DZ∕T 0211-2020 矿产地质勘查规范 重晶石、毒重石、萤石、硼(正式版)
- FZ∕T 74001-2020 纺织品 针织运动护具
- 体育舞蹈专业大学生职业生涯规划
- 《电力建设施工技术规范 第3部分:汽轮发电机组》DLT 5190.3
评论
0/150
提交评论