




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验课程名称 Visual Foxpro 实验项目名称 关联、查询和数据库 专 业 班 级 学 生 姓 名 学 号 指 导 教 师 第3章 关联、查询和数据库实验3-1 多表关联与查询1.实验目的(1)理解关联的概念,掌握在数据工作期窗口中建立关联的方法。(2)掌握SELECT-SQL查询命令。(3)掌握用查询设计器建立查询的方法。2.实验要求(1)在数据工作期窗口上建立以“订单”为父表,“订单明细”为子表的一多关系;再建立以“订单明细”为父表,“货物”为子表的多一关系的二级关联。然后查看关联后的效果。(2)用SELECT-SQL命令对上述5个表作多表查询练习。查询联系“东南实业”公司的员工姓
2、名及联系电话。查询订购麻油的订单份数。(3)用查询设计器查询公司订货情况。3.实验准备(1)阅读主教材3.1.2节、3.2.3节、3.3节、3.5.1节和3.5.2节。(2)创建好订单、订单明细、员工、客户和货物表(见实验2-2)。4.实验步骤(1)为“关联”建立索引:为订单表的订单号字段建立索引,再为货物表的货号字段建立索引。(2)建立关联:打开数据工作期窗口分别用“打开”按钮打开订单表、订单明细表和货物表在“别名”列表框中选定“订单”,单击“关系”按钮在“别名”列表框中选定“订单明细”随即弹出“设置索引顺序”对话框,其列表框中显示“订单明细.订单号”(参阅主教材图3.7)。选定“确定”按钮
3、随即弹出“表达式生成器”对话框,其SET RELATION框中显示“订单号”(参阅主教材图3.8)。选定“确定”按钮,多一关系建立完成选定“一对多”按钮在随即弹出的“创建一对多关系”对话框中选定“确定”按钮,一多关系建立完成。在“别名”列表框中选定“订单明细”为确定以订单明细表为父表建立下一级关联,在“关系”列表框中也选定“订单明细”单击“关系”按钮在“别名”列表框中选定“货物”在随即弹出的“设置索引顺序”对话框中选定“确定”按钮在“表达式生成器”对话中选定“确定”按钮,多一关系(第2级)建立完成,如图2.3.1所示。图2.3.1 建立二级关联(3)查看关联效果:分别打开“订单”、“订单明细”
4、和“货物”浏览窗口,并按左中右顺序排列选定“订单”表的某个记录,“订单明细”和“货物”浏览窗口的内容即会关联变化,如图2.3.2所示。(4)查询联系“东南实业”公司的员工姓名及联系电话:根据“东南实业”分司的客户编号,可在订单表中找到与其联系的员工工号,据此就可在员工表中查出该员工的姓名及电话号码。SELECT-SQL命令如下:SELECT 客户.公司名称,员工.姓名,员工.电话;FROM 客户,订单,员工;WHERE 客户.客户编号=订单.客户编号 AND 订单.工号=员工.工号;AND 客户.公司名称=东南实业(5)查询订购麻油的订单份数:先通过货物表与订单明细表联接生成两表货号相同的记录
5、,再用WHERE子句在这些记录中筛选出货名是“麻油”的记录,此时就可用COUNT函数对两表的任何字段(例如订单明细.订单号)进行计数。下面是写出的一种命令。SELECT 货物.货名,COUNT(订单明细.订单号) AS 订单份数;FROM 货物 INNER JOIN 订单明细 ON 货物.货号=订单明细.货号;WHERE 货物.货名=麻油 GROUP BY 货物.货名(6)用查询设计器查询订货情况:根据客户表中的客户编号,可在订单表中查出该客户的订单号,然后在订单明细表中查出所订货物的货号及数量,并通过货物表查出相应的化名和库存量。选定菜单命令“文件|新建”,或单击“常用”工具栏的“新建”按钮
6、,即显示“新建”对话框(见主教材图2.2)文件类型选定为“查询”,单击“新建文件”按钮,即出现查询设计器和“打开”对话框在“打开”对话框的列表中双击“客户.DBF”选定“添加表或视图”对话框的“其他”按钮,然后在“打开”对话框的列表框中双击“订单.DBF”在随即出现的“联接条件”对话框中选定“确定”按钮类似地再通过“其他”按钮分别添加订单明细和货物表,然后关闭“添加表或视图”对话框,此时查询设计器的上窗格如图2.2.3所示在查询设计器的“字段”选项卡中,将“可用字段”列表框中的客户.公司名称、客户.联系人、订单.订单号、订单明细.货号、货物.货名、订单明细.数量及货物.库存量移到“选定字段”列
7、表框选定“排序依据”选项卡,将“选定字段”列表框中的“客户.公司名称”移到“排序条件”列表框单击“常用”工具栏中的“运行”按钮运行查询,结果如图2.3.4所示。图2.3.3 “查询订货情况”的查询设计器图2.3.4 订货情况一览表5.思考与操作(1)在图2.3.2的“订单”浏览窗口中,第2、5行是用星号填充的,试解释原因。(2)用SELECT-SQL命令查询国皓电器公司的订单号及订购日期。SELECT 客户.公司名称,订单.订单号,订单.订购日期;FROM 客户,订单;WHERE 客户.客户编号=订单.客户编号 AND 客户.公司名称=”国皓电器公司”(3)用查询设计器查询员工郑大地完成订单情
8、况。实验3-2 数据库的基本操作1.实验目的(1)掌握数据库的建立和维护方法。(2)熟练掌握设置数据库表字段级验证和记录级验证的方法。(3)掌握为数据库表建立永久关系和设置参照完整性的方法。2.实验要求(1)创建“订货”数据库,要求包含订单、订单明细、货物、客户和员工5个表。(2)建立上述数据库表间的永久关系(见图2.3.5)。(3)以“货物”表为例设置数据库表属性。(4)练习设置数据库表之间的参照完整性。3.实验准备(1)阅读主教材3.6节。(2)准备好实验2-2创建的5个自由表。4.实验步骤(1)创建“订货”数据库:执行如下命令创建并打开一个空的“订货”数据库。MODIFY DATABAS
9、E 订货,然后选定“数据库”菜单(或快捷菜单)的“添加表”命令,双击“打开”对话框中的“订单.DBF”,“订单”字段窗口就出现在数据库设计器窗口中。用同样方法添加订单明细、货物、客户和员工表。(2)在建立数据库表间的永久关系:参阅主教材例3-26,按表2.3.1分别为订单等5个表创建主索引和普通索引。然后,单击“客户”字段窗口中的“客户编号”主索引(其左侧有一个钥匙图标),按住鼠标左键,手拖曳到“订单”窗口的“客户编号”索引位置,松开鼠标后即可画出表间关系线、货物表和订单明细表的永久关系,如图2.3.5所示。表2.3.1 索引清单表名索引关键字索引标识名索引类型订单订单号订单号主索引客户编号客
10、户编号普通索引工号工号普通索引客户客户编号客户编号主索引员工工号工号主索引订单明细订单号订单号普通索引货号货号普通索引货物货号货号主索引图2.3.5 建立数据库表间的永久关系(3)设置“货物”表的字段级验证:打开表设计器,选定“字段”选项卡选定列表框中的“货号”字段在“显示”区的“格式”文本框中输入格式符“!”,使浏览窗口输入/输出时将字母都转为大写在“输入掩码”文本框中输入掩码“A9999”,限制输入的货号必须第1位是字母,后4位是数字字符在“字段有效性”区的“规则”文本框中输入表达式“LEN(ALLTRIM(货号)=5”,要求货号必须有5个字符,不能空缺在“信息”文本框中输入提示信息“”请
11、输入5位货号:字母开头,后跟4位数字字符。”,以便在出错时给出明确的提示信息在“默认值”文本框输入默认值”A”,可提高输入效率,减少输入错误;同时,还提示货号的第1位应输入字母在“字段注释”编辑框中输入该字段的说明性文字,如图2.3.6所示。图2.3.6 设置“货物”表的字段级验证(4)设置“货物”表的记录级验证:选定“表”选项卡在“记录有效性”区的“规则”文本框中输入表达式“NOT LEN(ALLTRIM(货名)=0”,确保“货名”字段必须输入数据在“信息”文本框中输入“”请输入货名!”,以便在货名字段为空的情况下离开被编辑记录时给出提示在“触发器”区的“删除触发器”文本框中输入表达式“LE
12、FT(货号,1)#”S”,指定货号以S开头的记录不能删除。参阅图2.3.7。图2.3.7 设置“货物”表的记录级验证(5)练习设置“参照完整性”:打开“订货”数据库,执行菜单命令“数据库|清理数据库” 选定“编辑参照完整性”命令,随即弹出如图2.3.8所示的“参照完整性生成器”窗口,此时已选定“更新规则”选项卡单击表格第2行行首的按钮,选定货物表与订单明细时打开货物表和订单明细表的浏览窗口将货物表的“货号”字段值A1052改为A1055单击订单明细表的浏览器,使其成为当前窗口,可见其“货号”字段中的A1052也变成了A1055。按上述步骤,现将货物表与订单明细表的更新规则设置为“限制”,将货物表的货号字段值A1055重新改为A1052,观察其结果。对删除规则和插入规则,读者可作相应练习。图2.3.8 设置“订货”数据库表间的参照完整性5.思考与操作(1)设置货物表的字段级验证和记录级验证规则后,在浏览窗口已打开的情况下,不能使用“表”菜单中的“追加新记录”命令,也不能使用命令APPEND BLANK为货物表添加记录;但可用“显示”菜单中的“追加方式”命令,或用命令
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年滨州市中级人民法院招聘司法工作人员考试笔试试卷【附解析】
- 2025就业援疆浙江省事业单位招聘阿克苏籍少数民族高校毕业生(7人)考试参考题库附答案解析
- 押题宝典教师招聘之《小学教师招聘》通关考试题库及答案详解【夺冠系列】
- 教师招聘之《幼儿教师招聘》强化训练高能附参考答案详解【轻巧夺冠】
- 2025年教师招聘之《幼儿教师招聘》题库附参考答案详解(培优b卷)
- 教师招聘之《小学教师招聘》综合检测模拟卷(模拟题)附答案详解
- 教师招聘之《小学教师招聘》考前冲刺模拟题库提供答案解析及答案详解【新】
- 2025年教师招聘之《小学教师招聘》考前冲刺模拟题库附答案详解【能力提升】
- 2025年教师招聘之《小学教师招聘》试卷及参考答案详解【巩固】
- 2025年教师招聘之《幼儿教师招聘》测试卷及完整答案详解1套
- 2025留置辅警笔试题库及答案
- 胸椎后纵韧带骨化症
- 2025年秋季小学三年级上册语文教学计划
- 2025未签合同劳动争议仲裁申请书
- 耳前瘘管继发感染诊疗要点
- 2025年北京中考真题英语试题及答案
- 2025年浙江省中考社会试题卷(含答案)
- 捐资奖学金活动方案
- 2025至2030中国螺纹插装阀行业项目调研及市场前景预测评估报告
- 机关档案管理工作培训
- 孤独症相关培训课件
评论
0/150
提交评论