资源预览内容
第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
第9页 / 共38页
第10页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2019/10/22,1,第四章 Visual FoxPro 数据库及其操作,2019/10/22,2,本 章 要 点,数据库与表的操作 数据完整性 多表的操作,思考题,2019/10/22,3,4.1.1 建立数据库 1命令方式 【格式】CREATE DATABASE |? 【功能】建立一个新的扩展名为.DBC的数据库文件并打开此数据库。 【说明】指定生成的数据库文件,若省略扩展名,则默认为.DBC,同时也自动建立相关联的数据库备注文件扩展名为.DCT,关联的索引文件扩展名为.DCX。如果未指定数据库文件名或用“?”代替数据库名,Visual FoxPro系统会弹出创建对话框,以便用户选择数据库建立的路径和输入数据库名。保存后该数据库文件被建立,并且自动以独占方式打开该数据库。,4.1 数据库及表的操作,2019/10/22,4,2菜单方式 用菜单方式建立数据库的具体步骤如下: (1)选择【文件】【新建】出现新建对话框。 (2)选择“数据库”单选按钮,再单击“新建文件”按钮,出现“创建”对话框。 (3)在“创建”对话框中输入文件名。选择“保存”按钮,系统自动打开数据库文件,并且将数据库设计器也自动打开。 3利用项目管理器建立数据库 打开已建立的项目文件,出现项目管理器窗口,选择。,2019/10/22,5,4.1.2 修改数据库 Visual FoxPro在建立数据库时建立了扩展名分别为dbc、dct和dcx的三个文件,用户不能直接对这些文件进行修改。在Visual FoxPro中修改数据库实际是打开数据库设计器,用户可以在数据库设计器中完成各种数据库对象的建立、修改和删除等操作。 数据库设计器是交互修改数据库对象的界面和工具,其中显示数据库中包含的全部表、 视图和联系。在“数据库设计器”窗口活动时,Visual FoxPro显示“数据库”菜单和“数据库设计器”工具栏。在后续章节中将介绍使用数据库设计器完成各种数据库对象的建立、修改和删除等操作。 可以用以下三种方法打开数据库设计器: 从项目管理器中打开数据库设计器: 从“打开”对话框中打开数据库设计器; 使用命令打开数据库设计器。,2019/10/22,6,1、从项目管理器中打开数据库设计器的界面如图4.1所示,首先展开数据库分支,然后选择要修改的数据库,最后单击“修改”按钮则在数据库设计器中打开相应的数据库。,图4.1 在项目管理器中打开数据库设计器,2019/10/22,7,2、从“打开”对话框中打开数据库则会自动打开数据库设计器。 3、打开数据库设计器的命令是MODIFY DATABASE, 【格式】 MODIFY DATABASE DatabaseName? 参数和选项的含义如下:,2019/10/22,8,4.1.3 删除数据库 1命令方式 【格式】DELETE DATABASE 【功能】从磁盘上删除一个扩展名为.DBC的数据库文件。 2使用项目管理器 打开已建立的项目文件,出现项目管理器窗口,单击“数据”标签,选择要删除的“数据库”,然后单击“移去”按钮。出现选择对话框,若选择“移去”仅将数据库从项目中移去,若选择“删除”将从磁盘上删除数据库。被删除的数据库中的表成为自由表。,2019/10/22,9,3删除数据库表 先将数据库表从数据库中移去,然后再用删除自由表的方法进行删除。 移去数据库表的命令是: 【格式】REMOVE TABLE 表文件名|? 【功能】从当前数据库中移去一个表。 【说明】表文件名:准备从数据库中移去的表文件名。 选择?将出现移去对话框,从中选择一个要从当前数据库中移去的表。 选择DELETE在移去数据库表的同时,从磁盘上删除。 选择RECYCLE在移去数据库表的同时,不会立即从磁盘上删除,而是放入回收站中。,2019/10/22,10,4添加数据库表 命令方式 : 【格式】ADD TABLE 表文件名|? 【功能】将自由表移入当前数据库中。,2019/10/22,11,4.1.4 打开数据库 1命令方式 【格式】OPEN DATABASE | ? EXCLUSIVE|SHARED 【功能】将磁盘上一个扩展名为.DBC的指定数据库文件打开。 【说明】打开一个数据库文件,同名的.DCT相关的数据库备份文件与.DCX相关的索引文件也一起被打开。 数据库打开后,在常用工具栏中可以看见当前正在使用的数据库名,同时当数据库设计器为当前窗口时,系统菜单上出现【数据库】菜单项。 :指定要打开的数据库名。如果用户省略或用“?”代替数据库名。系统会显示打开对话框。,2019/10/22,12,注意:在数据库被打开的情况下,它所包含的所有表可以使用。但是,表并没有被真正打开,用户要打开它,仍要用USE命令。 2菜单方式 (1)选择【文件】|【打开】,出现打开对话框。 (2)选择数据库文件所在的文件夹,将文件类型选择为“数据库(.dbc)”。 (3)选择所要打开的数据库文件名,单击“确定”按钮。 3利用项目管理器打开数据库 打开已建立的项目文件,出现项目管理器窗口,选择“数据”标签,选择要打开的数据库名,然后单击“打开”按钮。,2019/10/22,13,4.1.5 数据库的关闭 数据库文件操作完成后,或暂时不用时,必须将其关闭,保存在外部存贮器中以确保数据的安全性。关闭数据库文件有以下几种方式: 1命令方式 【格式】CLOSE ALL|DATABASE 【功能】关闭当前打开的数据库。 【说明】ALL用于关闭所有对象。如数据库、表、索引、项目管理器等。 DATABASE关闭当前数据库和数据库表;如果当前没有打开的数据库,则关闭所有打开的自由表、所有工作区内所有索引和格式文件。,2019/10/22,14,4.2 数据完整性,在数据库中数据完整性是指保证数据正确的特性,数据完整性一般包括实体完整性、域完整性和参照完整性等, 4.2.1 实体完整性与主关键字 实体完整性是保证表中记录惟一的特性,即在一个表中不允许有重复的记录。在Visual FoxPro中利用主关键字或候选关键字来保证表中的记录惟一,即保证实体唯一性。 在Visual FoxPro中将主关键字称作主索引,将候选关键字称作候选索引。由上所述,在Visual FoxPro中主索引和候选索引有相同的作用。,2019/10/22,15,4.2.2 域完整性与约束规则 域完整性应该是读者最熟悉的了,以前所熟知的数据类型的定义属于域完整性的范畴。 域约束规则也称作字段有效性规则,在插入或修改字段值时被激活,主要用于数据输入正确性的检验。 字段有效性规则在表设计器中建立, “字段”选项卡中有一组定义字段有效性参数: “规则”(字段有效性规则) “信息”(违背字段有效性规则时的提示信息) “默认值”(字段的默认值)三项。,2019/10/22,16,例 以“订货管理”数据库中的职工表为例,设职工的工资有效性规则在1000至3000元之间,当输入的职工工资不在此范围时给出出错信息,职工的默认工资值是1200。 在“规则”框中(或表达式生成器)输入表达式: 工资=1000.AND.工资=3000 在“信息”框中(或表达式生成器)输入表达式: “工资输入错误,应该在10003000元之间。” 在“默认值” 框中(或表达式生成器)输入表达式: 1200 注意:“规则”是逻辑表达式,“信息”是字符串表达式,“默认值”的类型则以字段的类型确定。,2019/10/22,17,4.2.3 参照完整性与表之间的关联 参照完整性与表之间的联系有关,它的大概含义是:当插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确。 假如一个职工记录由仓库号、职工号和工资三个字段构成,当插入一条这样的记录时,如果没有参照完整性检查,则可能会插入一个并不存在的仓库的职工记录,这时插入的记录肯定是错误的。如果在插入仓库的职工记录之前,能够进行参照完整性检查,检查指定职工记录的仓库号在仓库表中是否存在,则可以保证插入记录的合法性。,2019/10/22,18,1建立表之间的联系 在数据库设计器中设计表之间的联系时,要在父表中建立主索引,在子表中建立普通索引,然后通过父表的主索引和子表的普通索引建立起两个表之间的联系。 2设置参照完整性约束 (1)清理数据库 建立参照完整性之前必须首先清理数据库,所谓清理数据库是物理删除数据库各个表中所有带有删除标记的记录。(只要数据库设计器为当前窗口,主菜单栏上就会出现“数据库”菜单,这时可以在“数据库”菜单下选择“清理数据库” ) 该操作与命令PACK DATAEBASE功能相同。,2019/10/22,19,(2)编辑参照完整性 用鼠标右键单击表之间的联系并从快捷菜单中选择“编辑参照完整性”,打开的参照完整性生成器界面如图4.2所示 参照完整性规则包括更新规则、删除规则和插入规则。,图4.2 参照完整性规则,2019/10/22,20,更新规则规定了当更新父表中的连接字段(主关键字)值时,如何处理相关的子表中的记录: l如果选择“级联”,则用新的连接字段值自动修改子表中的相关所有记录; l如果选择“限制”,若子表中有相关的记录,则禁止修改父表中的连接字段值; l如果选择“忽略”,则不作参照完整性检查,可以随意更新父记录的连接字段值,2019/10/22,21,删除规则规定了当删除父表中的记录时,如何处理子表中相关的记录: l如果选择“级联”,则自动删除子表中的相关所有记录; l如果选择“限制”,若子表中有相关的记录,则禁止删除父 表中的记录; l如果选择“忽略”,则不作参照完整性检查,即删除父表的记录时与子表无关。 插入规则规定了当插入子表中的记录时,是否进行参照完整性检查: l如果选择“限制”,若父表中没有相匹配的连接字段值则禁止插入子记录; l如果选择“忽略”,则不作参照完整性检查,即可以随意插入子记录。,2019/10/22,22,例子, 为“学生管理”数据库的学生、课程、成绩三个表设计参照完整性。 首先在学生管理数据库中建立表之间的联系,如图4.3所示。,图4.3 建立本例的联系,2019/10/22,23,执行清理数据库操作。 将它们的插入规则设定为“限制”,即插入成绩记录时检查相关的学生和课程是否存在,如果不存在则禁止插入成绩记录。 将它们的删除规则设定为“级联”,即在删除学生记录和课程记录时,自动删除相关的成绩记录。 将它们的更新规则也设定为“级联”,即当修改学生的学号或课程的课程号,也自动修改相关的成绩记录。,建立参照完整性规则的学生管理数据库如图4.4所示。,图4.4 设置本例的参照完整性规则,2019/10/22,24,数据库表与自由表的区别: l数据库表可以使用长表名,在表中可以使用长字段名; l可以为数据库表中的字段指定标题和添加注释; l可以为数据库表的字段指定默认值和输入掩码; l数据库表的字段有默认的控件类; l可以为数据库表规定字段级规则和记录级规则; l数据库表支持主关键字、参照完整性和表之间的联系; l支持INSERT、UPDATE和DELETE事件的触发器。 在Visual FoxPro中保留了自由表的概念,完全是为了兼容早期的软件版本。建议尽量使用数据库表。,2019/10/22,25, 字段的显示属性 格式:控制字段在浏览窗口、表单、报表等显示时的样式。格式字符及功能如表4-1所示。,2019/10/22,26, 输入掩码:控制输入该字段的数据的格式。掩码字符及功能如表4-2所示。,表4-2 字段的显示掩码字符,2019/10/22,27, 标题:若表结构中字段名用的是英文,则可以在标题中输入汉字,这样显示该字段值时就比较直观了。没有设置标题,则将表结构中的字段名作为字段的标题。 记录有效性 规则:指定记录的有效条件,满足该条件,数据才能输入到表
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号