- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八十四1
第八十四套
一、基本操作题(共四小题,第1和2题是7分、第3和4是8分)
在考生文件夹下完成下列操作:
1.打开名称为SDB的学生数据库,分别为学生表Student、选课成绩表SC和课程表Course创建主索引。Student表主索引的索引名和索引表达式均为学号;Course表主索引的索引名和索引表达式均为课程号;SC表的主索引名为PK_SC,索引表达式为学号+课程号的字段组合。
2.通过字段学号建立Student表与SC表之间的永久联系、通过字段课程号建立Course表与表SC之间的永久联系。并为以上建立的永久联系设置参照完整性约束:更新规则为级联;删除规则为级联;插入规则为限制。
3.使用SQL语句将学号为s3的学生记录从表Student中逻辑删除,并将该SQL语句存放在文件ONE.PRG中。
4.创建一个名为Project_S的项目文件。将学生数据库SDB添加到该项目中。
本题的主要考核点:主索引的建立、建立两个表之间的联系、设置参照完整性约束、SQL语句的使用、项目的创建、将数据库添加到项目中。
解题思路:
1、打开Student表的表设计器,打开索引选项卡,在索引名处输入:学号,类型选择主索引,表达式为:学号,用同样的方法设置SC表和Course表的主索引。
2、在数据库设计器中,选中Student表中的索引学号并拖动到SC表的学号的索引上并松开,这样两个表之间就建立起了永久联系。建立好永久联系之后,在两个表的学号索引之间有一条线,单击这条表示两个表之间联系的线,线会加粗,此时在主菜单中选择数据库中的编辑参照完整性(I),系统弹出参照完整性生成器对话框,在更新规则标签中,选择级联规则,在删除规则中选择级联,在插入规则中选择限制,单击确定保存所编辑的参照完整性。再用同样的方法设置Course表和SC表间的永久联系和参照完整性。
3、SQL语句为:delete from student where 学号=s3,然后将此命令保存在ONE.PRG文件中。
4、在Visual FoxPro主窗口下按组合键Ctrl+N,则系统弹出新建对话框,在文件类型中选择项目,再点击新建文件按钮;在弹出的创建对话框中,选定考生文件夹,在项目文件中填入Project_S,再点击保存按钮;这样便新建了一个项目;在弹出的项目管理器中先选择数据标签,再选择数据库,最后点击添加按钮;在弹出的打开对话框中的选择数据库处,选择SDB数据库。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,打开商品销售数据库CDB,完成如下简单应用:
1.使用一对多报表向导建立名称为P_ORDER的报表。要求从父表顾客表CUST中选择所有字段,从子表订单表ORDER中选择所有字段;两表之间采用顾客号字段连接;按顾客号字段升序排序;报表样式为经营式,方向为纵向;报表标题为顾客订单表。然后修改该报表,在页注脚中增加一个标签制表人:王爱学;该标签水平居中,标签中的:为中文的冒号。
2.修改一个名称为TWO.PRG的命令文件。该命令文件统计每个顾客购买商品的金额合计(应付款),结果存储在临时表ls中。然后用ls中的每个顾客的数据去修改表scust对应的记录。该命令文件有3行语句有错误,打开该命令文件进行修改。
注意:直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件。
本题主要考核点:使用报表向导制作表单、表单报表的使用、修改程序文件。
解题思路:
第1题:启动报表向导可在文件菜单中选择新建或者单击工具栏上的新建按钮,打开新建对话框,文件类型选择报表,单击向导按钮,在向导选取对话框中选择一对多报表向导,然后按照报表向导操作即可。然后打开该报表,在页注脚中增加一个标签控件,输入:制表人:王爱学,选中该标签,再选择格式菜单下的对齐子菜单下的水平对齐。
第2题:利用文件菜单下的打开命令打开程序文件TWO.PRG。将命令文件修改为:
CLOSE DBF
PRIVATE no,money
USE scust
*下面的一行语句有错误
SELECT 顾客号,sum(数量*单价) 应付款 ;
FROM order JOIN comm ON order.商品号 = comm.商品号 ;
GROUP BY 顾客号 ;
INTO CURSOR ls
SELECT scust
*下面的一行语句有错误
DO WHILE .NOT. EOF()
no = 顾客号
SELECT ls
LOCAT FO
文档评论(0)