欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第四章数据库及建立.doc

    • 资源ID:82401230       资源大小:51.50KB        全文页数:12页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第四章数据库及建立.doc

    第四章 VFP数据库及其操作41节 数据库的建立一、概念数据库:数据库是一个逻辑上的概念和手段,通过一组系统文件将相互联系的数据库表及其相关的数据库对象统一组织和管理。数据库文件:*.dbc备注文件:*.dct索引文件:*.dcx二、建立数据库 在项目管理器中建立 通过“新建”对话框 应用命令 create database database name注意:a 在执行该命令前先执行set safety on,否则,如果数据库重名就有可能会覆盖已经存在的数据库。b在执行create database database name 前要设置好默认目录,否则它会建立在VFP系统文件夹中。三、 使用数据库 数据库的打开:在项目管理器中打开通过“新建”对话框打开应用命令打开 open database databasename | ? exclusive | sharednoupdatevalidate 数据库的修改:在项目管理器中打开通过“新建”对话框打开应用命令修改 modify database databasename | ?nowaitnoedit数据库的删除: 项目管理器中删除 应用命令修改 delete database databasename | ?deletetablesrecycle42 节 建立数据库表一、 复习1、 什么是数据库?2、 项目文件、数据库文件及表文件的后缀名分别为什么?3、 建立数据库时自动建立哪两个文件?4、 建立数据库、打开数据库及修改数据库的命令是什么?二、 建立数据库表1、 在数据库中建立表表:在关系数据库中将关系称做表方法一:使用数据库设计器 数据库设计器中任意空白区域单击鼠标右键,弹出“数据库”快捷菜单,从中选择新建表。方法二:用命令建立表open database 订货管理creat 仓库² 注意:如果没有用open database打开数据库,直接使用creat建立的表称为自由表。 字段名字段名即关系的属性名或表的列名自由表字段名最长为10个字符数据库表字段名最长为128个字符字段名必须以字母或汉字开头字段名可以由字母、汉字、数字和下划线组成字段名中不能包含空格 字段类型和宽度² 注意:没有时间型 空值空值就是缺值或没有确定的值,与空(或空白)字符串,数值0等具有不同的意义。例:表示价格的字段值,空值表示没有定价,数值0表示免费。² 注意:关键字段不允许为空值,允许暂缺的字段允许为空值。 Ctrl+0输入null 字段有效性组框 显示组框三、 修改表的结构1、 修改已有的字段2、 增加新字段3、 删除不用的字段方法一:使用数据库设计器 在当前数据库设计器中直接用鼠标右键单击要修改的表,然后从快捷菜单中选择“修改”,则打开相应的表设计器。方法二:用命令修改表 use仓库表modify structure练习:1、建一名称为订货管理的项目,其数据库名称为dhgl,它包含p.116页的四张表:仓库表、职工表、订购单表、供应商表(做题前先建以自己姓名命名的文件夹,并设置vfp的默认目录为该文件夹)2、用三种方法打开订货管理数据库 命令为: 4、 用两种方法删除数据库命令为: 5、 修改表的结构命令为: 将仓库表中的字段“面积”改为“仓库面积”将仓库表中的“城市”字段宽度增加二 将职工表中的“工资”字段类型改为数值型,长度为7,小数位数为243 节 表的基本操作复习:1、 关系数据为把什么称为表?2、 什么为自由表?3、 定义字段变量的条件是什么?定义字段类型和宽度时应注意什么?新课内容:表的操作包括向表中添加新的数据记录、删除无用的记录、修改有问题的的记录、查看记录等等。对表进行操作前要先用use命令打开要操作的表。一、 使用浏览器操作表4、 浏览表在项目管理器中将数据库展开至表,并且选择要操作的表,然后单击“浏览”按钮。在项目管理器中选择数据库,单击修改出现数据库设计器,选择要操作的表,然后从“数据库”菜单中选择“浏览”,或者右键单击要操作的表,然后选择“浏览”。5、 修改表将光标定位在要修改的记录和字段上,然后直接修改就行了。增加记录时可用ctrl+Y追加一条新空记录后输入数据。6、 删除记录删除分为逻辑删除和物理删除两种。逻辑删除:只是在记录旁作删除标记,必要时还可以去掉删除标记恢复记录。物理删除:真正从表中删除记录,物理删除是在逻辑删除的基础上进行的。置删除标记和取消删除标记的命令是ctrl+T二、 使用命令操作表一般命令格式:命令动词 范围 条件 for while 字段fields表示范围的词:recordnumber 指定一条记录next 指定当前记录以下的一条或多条记录all 指定所有的记录rest 指定当前记录一直到最后一条记录1、 增加记录命令append blank 在表尾部增加记录 该命令相当于ctrl+Yinsert before blank 在表任意位置插入新记录2、 删除记录命令置删除标记的命令:delete for lexpressinon恢复记录的命令:recall for lexpressinon物理删除有删除标记的记录:pack 物理删除有删除标记的记录物理删除表中的全部记录:zap3、 修改记录命令用edit 或change 命令交互式修改用replace 命令直接修改replace fieldname1with eExpressino1,fieldname2 whit eExpressino2 ·······for lexpressinon ² 注意:一次可以修改多个字段例:repl 面积 with 500 for 城市=“北京” repl all面积 with 面积+100 或repl面积 with 面积+100 all4、 显示记录命令list display区别:在不使用条件时,list默认显示全部记录,disp默认显示当前记录5、 查询定位命令绝对定位命令:go N go top go bottom相对定位命令:skip NN是正或负的整数,默认是1,正数向后移,负数向前移。条件定位命令:locate for 表达式 使指针指在满足条件的第一条记录上,继续查找下一满足条件的记录用continue.练习:1、 在仓库表增加一条记录号为3的记录,其仓库号为WH5,城市为常州,面积为600。表仓库表尾增加一记录,其仓库号为WH6,城市为广州,面积为300。(注意用insert 命令前必须先用go命令定位)2、 逻辑删除记录号为1,2,3的记录(命令中要含有范围词next),物理删除仓库号为WH3的记录。3、 在仓库表中将城市为北京的面积加100。4、 在屏幕上显示仓库表中面积大于300的记录并且只显示城市和面积字段。作业:1、什么是数据库?项目文件、数据库文件及表文件的后缀名分别为什么?2、打开、删除订货管理数据库命令是什么?3、将仓库表中的字段“面积”改为“仓库面积”的命令?4、关系数据为把什么称为表?什么是自由表?5、 定义字段变量的条件是什么?定义字段类型和宽度时应注意什么?6、 在仓库表增加一条记录号为3的记录,其仓库号为WH5,城市为常州,面积为600。表仓库表尾增加一记录,其仓库号为WH6,城市为广州,面积为300。(注意用insert 命令前必须先用go命令定位)7、 逻辑删除记录号为1,2,3的记录(命令中要含有范围词next),物理删除仓库号为WH3的记录。8、 在仓库表中将城市为北京的面积加100。9、 在屏幕上显示仓库表中面积大于300的记录并且只显示城市和面积字段。44 节 索引一、 基本概念VFP中索引是由指针构成的文件,这些指针逻辑上按照索引关键字值进行排序。索引文件(数据库索引文件.dcx , 表索引文件.cdx)和表的.dbf文件记录分别存储。索引分为:主索引、候选索引、唯一索引、普通索引1、 主索引 在指定字段或表达式中不允许重复值的索引,这样的索引可以起到主关键字的作用,所以一个表只能创建一个主索引,但可以为它添加候选索引。(学号、身份证号等无重复值的可以设置为主索引,姓名不一定能设置为主索引,因为可能有同名同姓的人)2、 候选索引候选索引的字段可以看作是候选关键字,所以一个表可以建立多个候选索引。3、 唯一索引唯一索引是为了保持同早期版本的兼容性,它的唯一性是指索引项的唯一,而不是字段值的唯一。它以字段的首次现现值为基础,选定一组记录,并对记录进行排序。一个表中可建立多个唯一索引。4、 普通索引它不仅允许字段中出现重复值,并且索引项中也允许出现重复值。在一个表中可以建立多个普通索引。总结:主索引和候选索引具有相同功能,除具有按升序或降序索引的功能外,还具有关键字的特性,它拒绝重复的字段值。唯一索引和普通索引含义相同,它们只起到索引排序的功能。唯一索引的唯一是指在使用相应的索引时,重复的索引字段值只有唯一一个值出现在索引项中。二、 在表设计器建立索引1、 单项索引:在对应的字段上建立上建立了一个索引,索引名与字段名同名,索引表达式就是对应的字段。在表设计器界面中有“字段”,“索引”,“表”三个选项卡,在字段选项卡中定义字段时可直接指定字段是否有索引项。2、 复合字段索引:在多个字段上建立索引。注意:在一个表上可以建立多个普通索引、多个唯一索引、多个候选索引、但只能建立一个主索引。主索引用于主关键字字段;候选索引用于那些不作为主关键字但字段值又必须唯一的字段;普通索引用于一般地提高查询速度;唯一索引用于一些特殊的程序设计。索引可以提高查询速度,但索引也会降低插入、删除和修改等操作的速度。所以,并不是说索引可以提高查询速度,就在每个字段上都建立一个索引。三、 用命令建立索引1、命令格式:Index on 表达式 to 索引文件名 | tag 索引名to 索引文件名:建立一个单独的索引文件,为了与以前版本兼容tag 索引名:多个索引可以建立在一个索引文件中,这种索引称做结构复合索引,其文件名与相关的表同名,扩展名为.cdxcompt: 只对单独的索引文件起作用,说明建立压缩的.idx文件,复合索引总是压缩的.Ascending或Descending: 说明建立升序或降序索引,默认是升序.Unique:建立唯一索引Candidate:说明建立候选索引Additive:与建立索引本身无关,说明现在建立索引时是否关闭以前的索引,默认是关闭已经使用的索引,使新建立的索引成为当前索引.注意: 用命令格式可以建立普通索引、唯一索引(unique)或候选索引(candidate),但没有主索引,主索引在表设计器中指定,指定一个主索引实际就是指定了一个主关键字.3、 索引的分类(按索引组织方式来分) 单独的.idx索引,是一种非结构单索引 采用非默认名的.cdx索引,是非结构复合索引 与表同名.cdx 索引,是结构复合索引结构复合压缩索引文件具有如下特性:a:在打开表时自动打开b:在同一索引文件中能包含多个索引方案或索引关键字c:在添加、更改或删除记录时自动维护索引四、 使用索引1、 打开索引文件与表名相同的结构索引在打开表时都能够自动打开,但是对于非结构索引必须在使用之前打开索引文件。格式: set index to 索引文件 如果是复合索引文件,则默认索引项是它在创建时的第一个索引项,要使用其他索引项还必须具体指定。2、 设置当前索引set order to 索引序号或索引名 ascending | descending索引序号:是建立索引的先后顺序号不管索引是按升序或降序建立的,在使用时都可以使用ascending或descending 重新指定升序或降序。3、 使用索引快速定位格式:seek 索引项或索引关键字 order索引序号或索引名 ascending | descending 4、 删除索引格式:delete tag索引名delete tag all 删除全部索引练习:1、 对学生表,在学号上建立主索引2、 在成绩表中增加语文(N/3/0)、数学(N/3/0)、计算机基础(N/3/0)、总分(N/4/0)四个字段,自己输入记录,用replace命令求出每个人的总分3、 在总分字段上建立一个普通索引(索引名为ZF)4、 在各门课成绩上建立升序的普通索引,索引名分别为yw,sx,yy5、 分别设置当前索引为上述四个索引,查看表的排序变化6、 显示总分前三名与后三名学生姓名与各门课程的成绩和总分7、 用seek命令查找“李兵”,显示他的姓名与三门课的成绩8、 删除在三门课上的索引45 数据完整性数据完整性是指保证数据正确的特性,数据完整性一般包括实体完整性、域完整性和参照完整性等。一、 实体完整性与主关键字实体完整性是保证表中记录惟一的特性在VFP中用什么来保证记录惟一?二、 域完整性与约束规则 在VFP中用一些约束规则来保证域完整性,域约束规则也称作字段有效性规则,主要用于数据输入正确性检验。例如:对数值型字段指定不同的宽度说明不同范围的数值数据类型,从而可以限定字段的取值类型和取值范围。注意:“规则”是逻辑表达式,“信息”是字符串表达式,“默认值”的类型则以字段的类型确定。三、 参照完整性与表之间的关联 参照完整性与表之间的联系有关,当插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确。1、 建立表之间的联系在数据库设计器中设计表之间的联系时,要在父表中建立主索引,在子表中建立普通索引,然后通过父表的主索引和子表的普通索引建立起两个表之间的联系。2、 设置参照完整性约束在建立参照之前必须首先清理数据库,所谓清理数据库是物理删除数据库各个表中所有带有删除标记的记录。参照完整规则包括: 更新规则:规定了当更新父中的连接字段(主关键字)值时,如何处理相关的子表中的记录。“级联”:用新的连接字段值自动修改子表中的相关所有记录“限制”:若子表中有相关的记录,则禁止修改父表中的连接字段值“忽略”:不作参照完整性检查,可以随意更新父记录的连接字段值删除规则:当删除父表中的记录时,如何处理子表中相关的记录“级联”:自动删除子表中的相关记录“限制”:若子表中有相关的记录,则禁止删除父表中的记录“忽略”:不作参照完整性检查,即删除父表的记录时与子表无关插入规则:当插入子表中的记录时,是否进行参照完整性检查“限制”:若父表中没有相匹配的连接字段值则禁止插入子记录“忽略”:可以随意插入子记录设置了参照完整性以后,进行插入或追加记录的方法几乎都不能用,必须使用SQL的INSERT命令才能插入记录。 46 自由表一、 数据表与自由表自由表:不属于任何数据库的表称为自由表。建立自由表的方法1、 在项目管理器中建自由表2、 利用菜单建自由表3、 用命令建自由表数据库表与自由表的不同点 (p.106-107)二、将自由表添加到数据库1、 在项目管理器中添加自由表使之成为数据库表2、 用命令添加自由表ADD table 自由表名 指定一个长表名注意:一个表只能属于一个数据库,当一个自由表添加表某个数据库后就不再是自由表了,所以不能把已经属于某个数据库的表添加到当前数据库,否则会有出错提示。三、把表从数据库移出1、 在项目管理器中将表移出,使之成为自由表2、 用命令将表移出remove table 表名 deleterecycledelete:把表从数据库中移出,并将其从磁盘上删除recycle: 把表从数据库中移出放入回收站 注意:把表从数据库移出会影响到当前数据库中与该表有联系的其他表。 表一旦移出了数据库,长表名将不可再使用。4.7多个表的同时使用1、多个工作区:在每个工作区中可以打开一个表,但在一个工作区中不能同时打开多个表。如果要同时打开多个表,则需要在不同的工作区中打开不同的表。系统总是默认在第1个工作区中工作,如果要指定在其他工作区工作可用命令:select 工作区号|表名|表的别名工作区号是一个大于等于0的数字,工作区号最小是1,最大是32767,前10个工作区中默认别名是工作区字母A到J,其余的则用W11到W32767表示。select 0 表示选择编号最小的可用工作区,即尚未使用的工作区select 1use 职工select 3use 仓库select 0 use 订购单表use 供应商表 in 4在一个工作区中可以直接利用表名或表的别名引用另一个表中的数据,方法是在别名后加上“.”或“->”然后跟上字段。职工.职工号 A->职工号use 仓库表 alias ckck 就是学生的别名ck.仓库号, ck-> 仓库号2、使用不同工作区的表除了用SELECT命令切换工作区使用不同的表外,也允许在一个工作区中使用另外一个工作区中的表,可使用短语:in 工作区号|表名|表的别名当前打开的是2号工作区,学生表在1工作区打开seek order 仓库号 in 仓库表?A.仓库号,仓库号练习:显示职工表中职工号为E3的仓库号以及仓库号所在的城市、面积(即在同一显示仓库号,城市,面积三个字段)3、 表之间的关联关联:能控制表间记录指针关系的临时联系建立关联:SET RELATION TO 索引关键字 INTO工作区号|表名|表的别名取消关联:SET RELATION OFF INTO 工作区号open database dhgluse 仓库表 in 1 order 仓库号use 职工表 in 2 order 仓库号set relation to 仓库号 into 职工表练习:显示职工表中职工号为E3的仓库号以及仓库号所在的城市、面积(即在同一显示仓库号,城市,面积三个字段)48 排序索引可以使用户按照顺序浏览或查找表中的记录,这时的顺序是逻辑的,是通过索引关键字实现的。VFP中的物理排序命令用sort格式:sort to 新表名 on 字段名1 /A|/D|/C,字段名1 /A|/D|/C···for 逻辑表达式/C:说明排序时不区分大小写字母,默认区分for 逻辑表达式:符合条件的才进行排序。注意:设置排序后的表是一个自由表

    注意事项

    本文(第四章数据库及建立.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开