数据库查询和视图.ppt
《数据库查询和视图.ppt》由会员分享,可在线阅读,更多相关《数据库查询和视图.ppt(69页珍藏版)》请在三一办公上搜索。
1、第3章数据库、查询和视图,3.1 数据库的基本操作,数据库(DataBase)就是按一定的组织结构存储在计算机内可共享使用的相关数据的集合。在Visual FoxPro中,数据库包含有数据库表、视图等数据实体,又提供了数据字典、各种数据保护和数据管理功能,可将数据库看成是个收集表的“容器”。3.1.1 数据库的建立数据库的建立有两种方法:使用“数据库设计器”和使用建立数据库的命令。,用数据库设计器建立数据库 菜单【文件】【新建】打开“新建”对话框,选定“文件类型”为【数据库】选项按钮单击【新建文件】打开“创建”对话框,在“数据库名”文本框中输入所建的数据库名,单击【保存】按钮建立数据库,同时打
2、开“数据库设计器”窗口。利用“数据库设计器”提供的工具或快捷菜单,可以方便的建立数据库表或建立视图,也可以将自由表添加到数据库中,成为数据库表,以及建立数据库表间的永久关联关系等数据库操作。例3-1 利用“数据库设计器”,新建数据库rsgzk.dbc,并将表rsb.dbf、gzb.dbf、bmdm.dbf和zz.dbf添加到新数据库中,成为数据库表。(1)按照表4-7和表4-8建立部门代码表(bmdm)和增资表(zz)结构,并输入记录数据。(2)建立数据库rsgzk.dbc。(3)添加表rsb.dbf、gzb.dbf、bmdm.dbf和zz.dbf。,用命令方式建立数据库命令格式:CREATE
3、 DATABASE 功能:建立一个数据库同时打开它。例如建立gzk.dbc的命令如下:CREATE DATABASE gzk3.1.2 数据库操作命令打开数据库命令命令格式:OPEN DATABASE 功能:打开一个数据库。例如打开数据库gzk.dbc的命令如下:OPEN DATABASE gzk,关闭数据库命令命令格式:CLOSE DATABASE ALL功能:关闭当前的数据库和它的表。选择ALL表示关闭所有打开的数据库和它们的表、所有的自由表以及索引文件,返回1号工作区。例如关闭当前数据库gzk.dbc的命令如下:CLOSE DATABASE向数据库中添加表命令命令格式:ADD TABLE
4、 功能:向当前数据库添加一个自由表。例如向数据库gzk.dbc添加自由表gzb1.dbf(它为gzb.dbf的复制表)和zz1.dbf(zz.dbf的复制表)OPEN DATABASE gzkADD TABLE gzb1ADD TABLE zz1,从数据库中移去表命令 命令格式:REMOVE TABLE 功能:从当前数据库中移去一个表。从数据库gzk.dbc中移出表zz1.dbf。OPEN DATABASE gzkREMOVE TABLE zz1&在确认对话框选“是”,移出数据库表zz1删除数据库命令命令格式:DELETE DATABASE 功能:从磁盘中删除一个数据库文件。从磁盘中删除数据库
5、文件gzk.dbc。CLOSE DATABASE ALL&关闭所有打开的数据库DELETE DATABASE gzk.dbc&在确认对话框选“是”,删除数据库,浏览数据库文件 浏览数据库rsgzk.dbc的命令如下:CLOSE DATABASE ALL&浏览前首先关闭.DBC文件USE rsgzk.dbc&打开数据库文件必须指明扩展名.DBCBROWSE,3.1.3 数据词典 数据字典就是包含数据库中所有表信息的一个表。存储在数据字典中的信息称之为元数据,包括长表名、长字段名、有效性规则、触发器,表间永久关系以及数据库对象的定义等。使用数据字典,可以设置字段级和记录级的有效性检查,保证主关键字
6、字段内容的唯一性。设置字段级规则字段级规则主要包括显示属性、字段有效性和字段注释三部分。,“格式”文本框中输入格式化代码,确定该字段在浏览窗口、表单和报表中显示的格式,它是对字段格式进行整体控制的。,字段级规则设置,“输入掩码”文本框中键入掩码代码,输入掩码是按位来控制格式的。,显示的标题改为自己希望的标题,字段有效性就是用于数据输入正确性的检验。,说明该字段的用途、特性、使用说明等补充信息,设置记录级规则记录级规则主要包括记录有效性、触发器的设置和表注释。,“教授的基本工资要1650元,其他职工为:550基本工资3000,职称=教授.AND.基本工资=1650.OR.职称#教授.AND.(基
7、本工资=550.AND.基本工资=3000),每逢星期一才可做插入、追加、更新和删除记录的操作:CDOW(DATE()=Monday,建立表间永久关系永久关系是数据库表间的关系,它们存储在数据库文件中。利用“数据库设计器”来建立永久关系:在“数据库设计器”中,用鼠标从一个表的主索引或候选索引拖到另一个表的任一索引,当出现表间关联连线时就表示关系已建立。用鼠标右键单击连线,弹出快捷菜单,可以进行删除关系、编辑关系和编辑参照完整性操作。例3-2在例3-1的数据库rsgzk.dbc中的各表建立永久关系。(1)建立各表的索引。(2)利用数据库设计器,画出表间关系连线。建立表rsb与表gzb的连线:形成
8、一条一一关系连线 建立表rsb与表zz的连线:形成一条一多关系连线建立表rsb与表bmdm的连线:形成一条多一关系连线,一一关系连线,多一关系连线,一多关系连线,参照完整性 参照完整性是控制数据库中不同表的主关键字和外部关键字之间数据一致性的关系规则。参照完整性则属于表间规则。用户可以通过“参照完整性生成器”来进行规则设置,从而控制相关表的更新、删除和插入记录的数据完整性。打开“参照完整性生成器”窗口 双击两表之间的连线,在“编辑关系”对话框中选定【参照完整性】按钮。设置更新、删除、插入三个规则 更新规则:是指修改父表中关键字值时所使用的规则,包括级联、限制和忽略3种。删除规则:是指删除父表中
9、的记录时使用的规则,包括级联、限制和忽略3种。插入规则:是指在子表中插入新的记录,或更新已存在的记录时所用的规则,包括限制和忽略2种。,在浏览bmdm表时将计算机系的代码修改为A04,则子表rsb中部门是计算机系的所有记录的部门代码字段值都被更新为“A04”。,查询与视图,视图,视图操作,视图建立,3.2 查询命令,顺序查询命令 顺序查询是在表中按记录的物理顺序依次进行的查询。命令格式:LOCATE FOR WHILE 功能:在当前表的指定范围中搜索满足条件的第一条记录。(1)缺省表示ALL。(2)找到一条满足条件的记录后,要继续往下查找满足条件的其它记录就必须用CONTINUE命令。,例3-
10、3 在rsb.dbf中查找职称为“讲师”的记录。USE rsbLOCATE FOR 职称=讲师DISPLAY&显示查找到职称是“讲师”的第一条记录CONTINUE&继续找下一条记录DISPLAY&显示查找的记录重复CONTINUE和DISPLAY命令就可以找到所有职称为“讲师”的记录。,索引查询命令索引查询利用索引文件实现的快速查询。VFP提供了 SEEK和FIND两条命令进行索引查询。命令格式:SEEK 功能:在当前表的主控索引中按索引关键字搜索满足表达式的第一条记录。说明:SEEK命令按索引关键字搜索,若找到,记录指针指向该记录。FOUND()函数的值为.T.,表示查询成功。RECNO()
11、函数返回当前记录号。若找不到满足条件的记录,则记录指针指向文件结束处(即EOF()返回.T.值),FOUND()函数的值为.F.。RECNO()函数返回记录总数加1的值。,例3-4 在rsb.dbf中查询姓名为陈宏的职工记录;查询出生日期为1969年7月5日出生的职工记录。USE rsbSET ORDER TO TAG xmSEEK 陈宏?RECNO()DISPLAYSET ORDER TO TAG csrqSEEK 1969/7/5?FOUND()DISPLAY,3.3 统计命令,记录数统计命令命令格式:COUNT FOR WHILE;TO 功能:计算指定范围内满足条件的记录个数。例3-5
12、统计rsb.dbf中“讲师”的人数。USE rsbCOUNT FOR 职称=讲师 TO jsrs?jsrs,求和命令命令格式:SUM FOR;WHILE TO|TO ARRAY功能:对当前表的各个数值表达式分别求和。例3-6 对表gzb.dbf的奖励工资字段和实发工资字段进行求和统计,结果分别存放到变量s1和s2中。STORE 0 TO s1,s2USE gzbSUM 奖励,实发工资 TO s1,s2?奖励,s1,实发工资,s2,求平均值命令命令格式:AVERAGE FOR WHILE TO|TO ARRAY功能:对当前表的各个数值表达式分别求平均值。例如,求基本工资的平均值可用如下命令序列:
13、USE gzbAVERAGE 基本工资 TO aversal?平均基本工资,aversal,计算命令命令格式:CALCULATE FOR WHILE TO|TO ARRAY功能:分别统计当前表中表达式表的值。,例3-7 统计gzb.dbf中基本工资的平均值和实发工资的总和,结果分别存放到av和su这两个变量中。USE gzbCALCULATE AVG(基本工资),SUM(实发工资)TO av,su?av,su,分类汇总命令 分类汇总是将数据表中的记录按某个字段进行排序分类,再对其它需要汇总的字段进行汇总统计。命令格式:TOTAL TO ON FIELDS FOR WHILE功能:对当前表进行分
14、类汇总,汇总的结果存入一个新表。汇总时把值相同的一组记录汇总成一个记录,其中指定的数值型字段值取该字段的汇总值,其它字段取该组记录中的第一条记录。在新表中,记录按的取值进行排列。,例3-8 对zz.dbf表的增资按编号进行分类汇总,来查询每位职工增加工资的总和,并将结果存入zzhz.dbf表中。USE zzINDEX ON 编号 TAG zzbhTOTAL ON 编号 TO zzhzUSE zzhzBROWSEUSE,3.4 多表操作,多工作区操作工作区:Visual FoxPro最多同时打开32767个数据表,每个打开的表都在内存中开辟一个存储区域,这个存储区域就叫做工作区。Visual F
15、oxPro规定在每个工作区上只能打开一个表,所以就有32767个工作区可使用,编号为132767。当前工作区:系统任何时候只能选择一个工作区进行操作,当前正在操作的工作区称为当前工作区,在当前工作区打开的数据表称为当前表。,别名 表别名是VFP用来指定在一个工作区中打开的表的名称。打开一个表时,VFP自动使用文件名作为默认的表别名。系统将前 10 个工作区中指定的默认别名是A到 J,工作区 11 到 32767 中指定的别名是 W11 到 W32767。用户为表rsb.dbf指定一个别名rs:USE rsb ALIAS rs,工作区的选择命令格式:SELECT|功能:选择由工作区号或别名所指的
16、工作区作为当前工作区。系统启动后默认1号工作区为当前工作区。说明:(1)工作区号取值为132767。函数SELECT()能够返回当前工作区的区号。(2)当工作区号为0时,即命令“SELECT 0”表示选取尚未使用的最低工作区。对非当前工作区的表的字段进行操作时,必须在该字段名前加上前缀,表示为:别名.字段名别名-字段名,例3-9工作区操作示例。CLOSE ALL?SELECT()&显示当前工作区号1USE rsb ALIAS rs&在当前工作区打开表rsb,并指定其别名为rsGO 5DISPLAYSELECT 0&2号工作区是未使用的最低工作区,选取2号工作区USE gzb&在2号工作区打开表
17、gzbGO 2DISPLAY?编号,rs.编号,数据工作期的使用“数据工作期”是一个用来设置工作环境的交互操作窗口。利用“数据工作期”窗口打开或显示表或视图、建立表间临时关系、设置工作区属性等操作。打开命令:SET VIEW ON关闭命令:SET VIEW OFF窗口组成如下图所示:,打开的表或视图,显示表间临时关系,弹出“工作区属性”对话框,可以修改表的结构,选择索引文件和字段,并且定义数据筛选条件等多种操作,打开浏览窗口,供浏览或编辑,建立表间临时关系,建立或取消两个关联表的一多关系,例3-10 利用“数据工作期”窗口,完成下面操作:(1)分别打开rsb.dbf和bmdm.dbf表;(2)
18、对rsb.dbf要求浏览查询未婚职工信息,并只输出未婚职工的姓名、性别、出生日期、职称和婚否五个字段内容。(3)以rsbgzq.vue保存上述工作环境。操作步骤:步骤一:打开数据工作期:选择菜单【窗口】【数据工作期】,出现“数据工作期”窗口。步骤二:打开表:单击【打开】按钮在“打开”对话框中选定rsb.dbf按【确定】返回数据工作期窗口。同样方法打开bmdm.dbf。,步骤三:设置rsb.dbf属性:在“别名”列表框选定rsb表【属性】在“工作区属性”对话框(如图5-2所示)进行下面设置:(1)设置数据过滤器:在“数据过滤器”文本框中输入过滤条件NOT 婚否,完成对未婚记录条件的设置。(2)设
19、置字段筛选。步骤四:浏览rsb.dbf表 步骤五:选择【文件】菜单的【另存为】命令在“保存视图为”文本框中输入rsbgzq单击【保存】按钮。,建立表间临时关联关联的概念:所谓关联,就是使不同工作区的记录指针建立一种联动关系,当一个表的记录指针移动时,与它相关联的表的记录指针也随之移动。表间关联关系主要有4种类型:一一关系:是指父表A中的任何一条记录仅仅对应子表B中的一条记录,反之子表B中的任何一条记录亦对应父表A中的一条记录的关联。多一关系:是指父表A中的多条记录对应子表B中的一条记录的关联。一多关系:是指父表A中的一条记录对应子表B中的多条记录的关联。多多关系:Visual FoxPro中支
20、持前3种关联关系,对多多关系要将其中一个表分解,形成多一关系或一多关系。,建立表间临时关联的2种方法:建立关联的命令命令格式:SET RELATION TO INTO,INTO ADDITIVE功能:以当前表为父表与其它一个或多个子表建立关联。利用“数据工作期”建立关联操作步骤:步骤一:打开需建立关联的父表和子表。步骤二:建立子表关键字索引或选定主控索引。步骤三:选定父表为当前表,然后建立与子表的关联(系统默认为多一关系),如果是一多关系,还要执行第4步。步骤四:建立关联的一多关系。,例3-11设置rsb.dbf和gzb.dbf的一一关系和rsb.dbf和bmdm.dbf的多一关系,并浏览查询
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 查询 视图

链接地址:https://www.31ppt.com/p-5357104.html