c语言 关联查询和数据库Word文件下载.docx

上传人:b****6 文档编号:21089770 上传时间:2023-01-27 格式:DOCX 页数:15 大小:743.74KB
下载 相关 举报
c语言 关联查询和数据库Word文件下载.docx_第1页
第1页 / 共15页
c语言 关联查询和数据库Word文件下载.docx_第2页
第2页 / 共15页
c语言 关联查询和数据库Word文件下载.docx_第3页
第3页 / 共15页
c语言 关联查询和数据库Word文件下载.docx_第4页
第4页 / 共15页
c语言 关联查询和数据库Word文件下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

c语言 关联查询和数据库Word文件下载.docx

《c语言 关联查询和数据库Word文件下载.docx》由会员分享,可在线阅读,更多相关《c语言 关联查询和数据库Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。

c语言 关联查询和数据库Word文件下载.docx

1.理解关联的概念,掌握在数据工作期窗口中建立关联的方法。

2.掌握SELECT-SQL查询命令。

3.掌握用查询设计器建立查询的方法。

实验要求:

1.在数据工作期窗口中建立以“订单”为父表,“订单详细”为字表的一多关系;

再建立以“订单明细”为父表,“货物”为字表的多一关系的二级关联。

然后查看关联后的效果。

2.用SELECT-SQL命令对上述5个表作多表查询练习。

a.查询联系“东南实业”公司的员工姓名以联系电话。

b.查询订购麻油的订单份数。

3.用查询设计器查询公式订货情况。

实验准备:

1.阅读主教材3.1.2节、3.2.3节、3.3节、3.5.1节3.5.2节。

2.创建好订单、订单明细、员工、客户和货物表。

订单表:

订单明细:

员工:

客户:

货物:

实验步骤:

3-1

为“关联”建立索引:

为订单明细表的订单号字段建立索引,再为货物表的货号字段建立索引。

如下图:

3-2

建立关联:

打开数据工作区窗口→分别用“打开”按钮打开订单表、订单明细表和货物表→在“别名”列表框中选定“订单”,单击“关系按钮”→在“别名”列表框中选定“订单明细”→随即弹出“设置索引顺序”对话框,其列表框中显示“订单明细.订单号”。

选定“确定”按钮→随即弹出“表达式生成器”对话框,其SETRELATION框中显示“订单号”。

选定“确定”按钮,多一关系建立完成→选定“一对多”按钮→在随即弹出的“创建一对多关系”对话框中将“订单明细”从“子表别名”列表框移入“选定别名”列表框中→选定“确定”按钮,一多关系建立完成。

在“别名”列表框中选定“订单明细”→为确定以订单明细表为父表建立下一级关联,在“关系”列表框中也选定“订单明细”→单击“关系”按钮→在“别名”列表框中选定“货物”→在随即弹出的“设置索引顺序”对话框中选定“确定”按钮→在“表达式生成器”对话框中选定“确定”按钮,多一关系建立完成。

创建后的结果如下图所示:

3-3

查看关联效果:

分别打开“订单”、“订单明细”和“货物”浏览窗口,并按左中右顺序排列→选定“订单”表的某个记录,“订单明细”和“货物”浏览窗口的内容即会关联变化。

选定“订单”表的某个记录,“订单明细”和“货物”浏览窗口的内容即会关联变化,

3-4

查询联系“东南实业”公司的员工姓名及联系电话:

根据“东南实业”公司的客户编号,可在订单表中找到与其联系的员工工号,据此就可在员工表中查出该员工的姓名及电话号码。

SELECT-SQL命令及查询结果如下:

3-5

查询订购麻油的订单份数:

先通过货物表与订单明细表联接生成两表货号的记录,再用WHERE子句在这些记录中筛选出货名是“麻油”的记录,此时就可有count函数对两表的任何字段进行计数。

下图是命令及查询结果:

3-6

用查询设计器查询订货情况:

根据客户表中的客户编号,可在订单表中查出该客户的订单号,然后在订单明细表中查出所订货物的货号及数量,并通过货物表查出相应的货名和库存量。

选定菜单命令“文件|新建”,或单击“常用”工具栏的“新建”按钮,即显示“新建”对话框→文件类型选定为“查询”,单击“新建文件”按钮,即出现查询设计器和“打开”对话框→在“打开”对话框的列表框中双击“客户.DBF”→选定“添加表或视图”对话框的“其他”按钮,然后在“打开”对话框的“其他”按钮,然后在“打开”对话框的列表框中双击“订单.DBF”→在随即出现的“连接条件”对话框中选定“确定”按钮→类似地再通过“其他”按钮分别添加订单明细和货物表,然后关闭“添加表或视图”对话框,此时查询设计器的上窗格如图所示→在查询设计器的“字段”选项卡中,将“可用字段”列表框中的客户.公司名称、客户.联系人、订单.订单号、订单明细.货号、货物.货名、订单明细.数量及货物.库存量移到“选定字段”列表框→选定“排序依据”选项卡,将“选定字段”列表框中的“客户.公司名称”移到“排序条件”列表框→单击“常用”工具栏中的“运行”按钮运行查询。

查询设计器的设置如下图:

查询结果如下图:

{实验3-2数据库的基本操作}

1.掌握数据库的建立和维护方法。

2.掌握设置数据库表字段级验证和记录级验证的方法。

3.为数据库表建立永久关系和设置参照完整性的方法。

1.创建“订货”数据库,要求包含订单、订单明细、货物、客户和员工5个表。

2.建立上述数据库表间的永久关系

3.以“货物”表为例设置数据库表属性。

4.练习设置数据库表之间的参照完整性。

1.阅读主教材3.6节。

2.准备好实验2-2创建的5个自由表。

创建“订货”数据库:

执行如下命令创建并打开一个空的“订货”数据库

MODIFYDATABASE订货

然后选定“数据库”菜单的“添加表”命令,双击“打开”对话框中的“订单.DBF”,“订单”字段窗口就出现在数据库设计器窗口中。

用同样方法添加订单明细、货物、客户和员工表。

添加后的情况如下图所示:

在建立数据库表间的永久关系:

按表2.3.1为各个表创建主索引和普通索引。

然后,单击“客户”字段窗口中的“客户编号”主索引,按住鼠标左键,拖曳到“订单”窗口的“客户编号”索引位置,松开鼠标或即可画出表间关系先,表示客户表和订单表建立了永久关系。

用同样的方法建立员工表和订单表、订单表和订单明细表、货物表和订单明细表的永久关系。

索引清单

表名

索引关键字

索引标识名

索引类型

订单

订单号

主索引

客户编号

普通索引

工号

客户

员工

订单明细

货号

货物

设置“货物”表的字段级验证:

打开表设计器,选定“字段”选项卡→选定列表框中的“货号”字段→在“显示”区的“格式”文本框中输入格式符“!

”,使浏览窗口输入/输出时将字母都转为大写→在“输入掩码”文本框中输入掩码“A9999”,限制输入的货号必须第一位是字母,后4位是数字字符→在“字段有效性”区的“规则”文本框中输入表达式:

“LEN(ALLTRIM(货号))=5”,要求货号必须有5个字符,不能空缺→在“信息”文本框中输入提示信息“”请输入5位货号:

字母开头,后跟4位数字字符。

””,以便在出错时给出明确的提示信息→在“默认值”文本框输入默认值“A”,可提高输入速度,减少输入错误;

同时,还提示货号的第一位应输入字母→在“字段注释”编辑框中输入该字段的说明文字。

编辑后的结果如下图:

设置“货物”表的记录级验证:

选定“表”选项卡→在“记录有效性”区的“规则”文本框中输入表达式“NOTLEN(ALLTRIM(货号))=0”,确保“货号”字段必须输入数据→在“信息”文本框中输入“”请输入货名!

””,以便在货名字段为空的情况下离开被编辑记录时给出提示→在“触发器”去的“删除触发器”文本框中输入表达式“LEFT(货号,1)#”S””,指定货号以S开头的记录下不能删除。

练习设置“参照完整性”:

打开“订货”数据库,执行菜单命令“数据库|清理数据库”→选定“编辑参照完整性”命令,随即弹出如图2.3.8所示的“参照完整性生成器”窗口,此时已选定“更新规则”选项卡→单击表格第2行行首的按钮,选定货物表与订单明细表的链接→选定“级联”选项按钮,将货物表与订单明细表的更新规则设置为“级联”→同时打开货物表和订单明细表的窗口→将货物表的“货号”字段值A1052改为A1055→单击订单明细表的浏览窗口,使其成为当前窗口,可见其“货号”字段中的A1052也变成了A1055。

按上述步骤,再将货物表与订单明细表的更新规则设置为“限制”,将货物表的货号字段值A1055重新改为A1052,观察期结果。

提示触发器失败!

实验总结:

(1)索引与查询

表中的记录通常按输入的先后顺序排列,用LIST等命令显示表时将按此顺序输出。

若要以另一种顺序来输出记录,则要对表进行排序或索引。

排序与索引都能改变记录输出顺序,后者还能决定记录的存取顺序。

索引不改变记录的物理顺序,而是按某个索引关键字(或其表达式)来建立记录的逻辑顺序。

查询是按照指定条件在表中查找所需的记录。

一般有顺序查询和索引查询,在VisualFoxPro中还支持SQL型的查询命令,即SELECT-SQL命令。

(2)工作区和数据工作区

每次打开一个表,就把,以前从磁盘调入到内存的某一个工作区,以便为数据操作提供足够的内存操作空间。

而每个工作区只允许打开一个表,在同一工作区打开另一个表时打开的表就会自动关闭。

为了方便了解和配置当前的数据工作环境,VisualFoxPro提供一种称为数据工作期的窗口,用于打开或显示表、建立表间关系、设置工作区属性。

这种环境可保存为视图文件,以后需要同样环境时,只需直接打开这一文件,从而免去了重复设置环境的麻烦。

(3)表的关联

在查询多个表中的数据时,常采用关联和联接两种方法。

每个打开的表都有一个记录指针,用以指示当前记录。

所谓关联,就是使不同工作区的记录指针临时建立起一种联动关系,使一个表的记录指针移动时另一个表的记录指针能随之移动。

建立关联的两个表,总有一个是父表,一个是子表。

在执行涉及这两个表数据的命令时,父表记录指针的移动,会使子表记录指针自动移到满足关联条件的记录上。

按照字段表达式值相等来实现关联的原则,若出现父表有多条记录对应子表中一条记录的情况,便称这种关联为多对一关系。

若父表的一条记录对应子表中多条记录,这种关联称为一对多关系。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 化学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1