数据库与表的基本操作

上传人:平*** 文档编号:48825892 上传时间:2018-07-21 格式:PPT 页数:126 大小:1,008.36KB
返回 下载 相关 举报
数据库与表的基本操作_第1页
第1页 / 共126页
数据库与表的基本操作_第2页
第2页 / 共126页
数据库与表的基本操作_第3页
第3页 / 共126页
数据库与表的基本操作_第4页
第4页 / 共126页
数据库与表的基本操作_第5页
第5页 / 共126页
点击查看更多>>
资源描述

《数据库与表的基本操作》由会员分享,可在线阅读,更多相关《数据库与表的基本操作(126页珍藏版)》请在金锄头文库上搜索。

1、第三章数据库与表的基本操作(二)数据表的统计计算3.5 数据表的统计计算 在处理表时经常要运算数值型字段,这些 可通过统计命令来完成。v 例如,某考试成绩表需要计算不及格人数、平均成绩等。 累加求和及求平均值3.5.1 累加求和及求平均值 对记录横向求和及统计,可用前面的 REPLACE命令完成。 对记录纵向求和及统计,可以用累加求和 及求平均值命令实现。累加求和及求平均值格式SUM|AVERAGE FORWHILE TO|TO TO PRINTER功能对当前数据表中指定范围内满足条件 的记录,进行纵向求和(SUM)或求平均值 (AVERAGE)。累加求和及求平均值 说明: 指定进行求和(或求

2、平均值) 的字段表达式或字段名,v 如果省略,则对所有数值型字段求和(求平均值)。v 内存变量个数要与字段名表数量一致,其间都用逗号分隔。累加求和及求平均值 缺省和条件短语,默认对所有记 录运算。 TO:将求和结果存入内存变量或数组中。 不选择该项时只显示结果,但不保存。 TO PRINTER:打印结果。累加求和及求平均值 举例:对Rsgz.dbf表所有数值字段求和。 USE RsgzSUM 求和结果如下图所示:累加求和及求平均值 再例:对Rsgz.dbf所有数值字段求平均值 。 USE RsgzAVERAGE 求平均值结果如下图所示:统计记录个数3.5.2 统计记录个数格式COUNTFORW

3、HILETO|TO功能统计当前表中指定范围内符合条件的 记录个数。统计记录个数 说明:缺省范围和条件短语,默认为ALL。 不指定变量时,统计结果显示在状态栏。 其他短语同SUM命令。 举例:USE rsdaCOUNT FOR 性别=“男“ AND 职称=“教授“ TO nanis ? nanjs统计记录个数显示结果如下图所示。显示结果显示结果分类汇总3.5.3 分类汇总 它是对已建立索引并指定主控索引的表, 按关键字分类求和。分类汇总格式TOTAL ONTO FIELDSFORWHILE功能对当前表有相同值的所有 连续记录求和,将和作为一条新记录送入新 表。分类汇总 说明: 当前表必须按索引过

4、,并指 定该索引为主控索引,从而保证有相同关 键字值的记录连续。 因为分类汇总是对相同关键字值的连续记录求和。主控索引就是为了分类。分类汇总 FIELDS:给出分类求和字段,这些字段只 能是数值或货币型。 如果缺省,则对当前表所有数值或货币型 字段分类求和。 不管是否选FIELDS,新表与当前表结构相 同。分类汇总 将当前表关键字值相同的连续记录求和 生成新表中的一条记录R; R的非数值、非货币型字段的值取自源表首 记录相应字段,参加求和的字段值=求和结 果。分类汇总 举例:现有商品销售表(SPXS.dbf), 表结构和记录内容如下:商品名称商品名称季度季度月份月份销销售数量售数量 C/10C

5、/10C/2C/2C/2C/2N/4N/4分类汇总 执行TOTAL命令按商品名称分类汇总: USE SPXSTOTAL ON 商品名称 TO SPSL1USE SPSL1 显示分类汇总表的记录内容如图,每种商品汇总为一条记录。分类汇总 若按月份分类汇总: USE SPXSTOTAL ON 月份 TO SPSL2USE SPSL2 一个月份汇总为一条记录,如图所示。数据交换3.6 数据交换数组可为表操作提供极大的方便,尤其是在 与表间进行交换时。数据交换3.6.1 数组与表的数据交换1将表中记录保存到数组中格式一SCATTERFIELDS MEMO TO 格式二COPY TO ARRAYFIEL

6、DSFOR功能将当前表的某些记录存储在数组中。数据交换 说明: 格式一,是将当前表的当前记录存入一 维数组中, 格式二,是将当前表指定的多条记录存入 二维数组中。 数组可事先定义,也可不定义。 若未定义,系统将自动建立与字段个数相 同的一维或二维数组。数据交换 FIELDS:指定哪些字段存入数组,缺省 为所有字段。 格式一:若选MEMO,可将备注字段存入 数组,并忽略通用型字段。 格式二:忽略备注、通用字段。 格式二范围和FOR短语用来指定范围内满 足条件的记录,缺省为ALL。数据交换 举例: USE rsda GOTO 2 SCATTER TO a 表2中的任一记录也可与表 1中的多条记录对

7、应。设置表间的永久关系 由于多对多联系的数据无法合并,为解决 多对多的连接关系运算,一般采用建立第三 表(中介表)的方式来建立两者的对应,使多 对多的联系转变为两个一对多联系。 中介表的主索引由表1和表2的主索引组成 。设置表间的永久关系(1)建立表间的永久连接 表间永久关系通过表索引建立,而临时关 系通过字段建立。在数据库设计器中建立永久关系。 每个要建立永久关联的表必须指定一个索 引关键字。设置表间的永久关系 若建立一对一关系,两表都必须根据值不 重复的相同字段建立主关索引; 若建立一对多关系,“一”方必须根据共 同字段建立一个主索引,“多”方的表必须 根据相同字段建立一个普通索引。 后在

8、数据库设计器利用索引将两表关联。下面举例说明建立表间的永久连接。设置表间的永久关系下表是人事部门信息表,包括部门名、办 公地点及办公室电话等。部部门门名名(12/10)(12/10) 办办公地点公地点(C/20)(C/20) 办办公室公室电话电话 (C/7)(C/7) 机关机关办办公楼公楼30230220173822017382 总务总务办办公楼公楼10510520178562017856 计计算机系算机系第一教学楼第一教学楼20220220165432016543 数学系数学系第一教学楼第一教学楼30230220129762012976 电电子工程系子工程系第二教学楼第二教学楼1071072

9、0193052019305设置表间的永久关系 首先将人事部门表Rsbm.dbf建立在人事管 理库中。Rsgl库还包括人事管理Rsgl.dbf 和人事档 案Rsda.dbf。 然后根据编号字段建立Rsda与Rsgl的一对 一关联。设置表间的永久关系 由于Rsgl中多人可能属于同一部门,所以 Rsbm和Rsgl间为一对多联系。 两表根据共同字段“部门名”建立索引, “一”方(Rsbm)建立“部门名”主索引,“ 多”方(Rsgl)建立“部门名”普通索引。设置表间的永久关系 建立关联的步骤如下: 打开库Rsgl.dbc数据库设计器窗口。设置表间的永久关系 在设计器窗口可看到表Rsbm、Rsgl、Rsd

10、a,及各 表的索引字段,主索引关键字前有一个钥匙状图标。主索引主索引设置表间的永久关系 在Rsbm中选择主索引“部门名”按住鼠标左 键拖到表Rsgl的普通索引“部门名”上释放鼠标 建立一对多关联;一对多关一对多关 联联设置表间的永久关系在Rsgl选择主索引“编号”按住鼠标左键拖到表 Rsda主索引“编号”上释放鼠标建立一对一关联。建好关联后可关闭数据库设计器一对一关一对一关 联联设置表间的永久关系在数据库设计器中建立永久关系一对多关一对多关 联联一对一关一对一关 联联设置表间的永久关系(2)编辑表间关联打开库设计器用鼠标右击关联线关联线变为粗线 出现快捷菜单快捷菜单快捷菜单编辑关联编辑关联设置

11、表间的永久关系选择菜单中的“删除关系”命令可删除关联,选择菜单中的“编辑关系”命令出现“编辑关系 ”对话框可建立与其他索引的关联。建立其他索引关建立其他索引关 联联管理数据库3.8 管理数据库3.8.1 使用多个数据库 在应用系统中常有多个数据库,从而更好 地组织数据。 在使用多个数据库时,应设定一个当前数 据库,并可访问其他数据库的表。管理数据库1在项目中新建或添加数据库 在项目管理器中选择“全部”或“数据”选项卡 “数据库”项单击“新建”按钮可新建库。 单击“添加”可将数据库添加到项目中。管理数据库2从项目中移去数据库 当项目中的数据库不再需要时,可以在项 目管理器将其从项目中移去。 在项

12、目管理器中选择“全部”或“数据”选项卡 “数据库”项展开数据库列表选择库名单击 “移去”按钮管理数据库 系统弹出对话框单击“移去”按钮将库从项目 中移去 但库文件仍保存在磁盘上单击“删除”将库从磁盘中删除管理数据库3打开多个数据库在项目管理器中 展开数据库列表选定一个库 选“修改”按钮将其打开同时弹出数据库设计器 显示表。 通过“文件”菜单“打开”命令或OPEN DATABASE命令也可打开多个库。 打开新的数据库并不会关闭其他已打开的 数据库。管理数据库4设置当前数据库 当打开多个库时,系统默认最后打开的库 为当前库, 在创建表或向库中添加表时,除非在命令 中特别指明,系统默认对当前库进行操

13、作。管理数据库 如果要更改当前数据库“常用”工具栏数据库 下拉列表选择其它库为当前库,如图所示。选择数据库选择数据库数据库下拉列表数据库下拉列表管理数据库 SET DATABASE命令选择当前数据库。例如:OPEN DATABASE Rsgl.dbcOPEN DATABASE Example.dbc 若有则:不允许更新父表记录关联字段不允许删除父表记录不允许插入没有对应父表记录的子表记录。 忽略:不检查参照完整性 (默认设置)。建立参照完整性 例如,对Rsbm和Rsgl间的关系,对参照完 整性的要求是: 当更新Rsbm某部门名时,与之关联的Rsgl 表中的部门名也同时更新。所以,在“更新 规则

14、”下选择“级联”; 当删除Rsbm中某部门记录时,与其关联的 Rsgl中的记录也被自动删除,因此,在“删 除规则”下选择“级联”;建立参照完整性 若要在Rsgl表中添加或更新职工的记录, 而部门名字段与Rsbm表的任何记录都不同, 则不允许添加或更新操作,因此,在“插入 规则”下选择“限制” 。在参照完整性生成器单击“确定”按钮 弹出确认对话框单击“是”出现确认是 否生成新的参照完整性代码对话框单击“ 是” 。建立参照完整性 以后对表进行添加、更新、删除操作时, 就会自动进行检查维护。 如果违反参照完整性的操作,会提出警告 “触发器失败”。 因此不会产生表间数据不对应的情况。建立参照完整性2修改参照完整性 修改参照完整性的步骤与建立参照完整性 类似。 在数据库设计器打开数据库右击关联 线弹出快捷菜单选择“编辑参照完整性 ”命令参照完整性生成器窗口修改参照 完整性规则。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号