VFP课程设计报告.doc
《VFP课程设计报告.doc》由会员分享,可在线阅读,更多相关《VFP课程设计报告.doc(7页珍藏版)》请在三一办公上搜索。
1、VFP课程设计报告目录第一题3第二题3第三题5第四题6第五题7 1.题目假设使用如下三个数据库表学生表:S(学号,姓名,性别,出生日期,院系)课程表:C(课程号,课程名,学时)选课成绩表:SC(学号,课程号,成绩)在上述表中,出生日期数据类型为日期型,学识和成绩为数值型,其他均为字符型。(1) 用SQL命令查询选修的每门课程的成绩都高于或等于85分的学生的学号和姓名;(2) 用SQL语言检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序。问题分析在第(1)小题中,要查询的是学号和姓名,限定条件是要求“选修的每门课程的成绩都高于或等于85分”。在第(2)小题中,要
2、查询的是学号、姓名和平均成绩,限定条件是要求“选修课程在5门以上(含5门)”,并要求将结果按照平均成绩的降序进行排序。数据库设计在第(1)小题中,用SELECT从学生表中查询学号和姓名,使用WHERE语句,根据选课成绩表中的“成绩”筛选不符合要求的部分即成绩小于85的部分。在第(2)小题中,用SELECT从学生表和选课成绩表中查询学号、姓名、平均成绩,其中使用AVG语句计算平局成绩。使用GROUP BY语句,根据学号进行分组。使用COUNT语句从选课成绩表中查询选课的门数,将选修课程在5门以下的排除。再使用DESC语句,将查询出来的结果按照平均成绩的降序排序。程序清单(1) SELECT 学号
3、,姓名 FROM S NOT EXISTS (SELECT * FROM SC WHERE SC.学号=S.学号 AND 成绩=5 ORDER BY 平均成绩 DESC测试分析在第(1)小题中,最初的语句为:SELECT 学号,姓名 FROM S WHERE SC.学号=S.学号 AND 成绩=85,这样显示出来的结果是只要其中一门课程的成绩高于或等于85分的学生的学号和姓名,并不是题中要求的“每门课程的成绩都高于或等于85分”。经过从书上寻扎解决方法,我发现了EXISTS语句。在第(2)小题中,最初在计算平均成绩的时候没有加上“AS 平均成绩”,结果显示“找不到列”;在把结果进行降序排序的时
4、候,开始时直接在HAVING语句后面加上DESC,但这样是不正确的,在书上我发现,DESC要和ORDER BY 语句搭配使用。2.题目有如下表的数据:部门表部门号部门名称40家用电器部10电视录摄像机部20电话手机部30计算机部商品表部门号商品名商品名称单价数量产地400101A牌电风扇200.0010广东400104A牌微波炉350.0010广东400105B牌微波炉600.0010广东201032C牌传真机1000.0020上海400107D牌微波炉420.0010北京200110A牌电话机200.0050广东200112B牌手机2000.0010广东400202A牌电冰箱3000.002
5、广东301041B牌计算机6000.0010广东300204C牌计算机10000.0010上海(1) 用SQL语句按部门号查询商品名;(2) 用SQL语句查询某产地提供的商品种类数;(3) 用SQL语句统计各部门商品金额总和;(4) 用SQL语句查询家用电器部和电话手机部价格在420到1000之间的商品信息问题分析在第(1)小题中,要查询的是商品名,限定条件是要求按部门查询。在第(2)小题中,要查询的是商品种类数,限定条件是要求按产地查询。在第(3)小题中,要查询的是商品金额总和,限定条件是要求按部门统计。在第(4)小题中,要查询的是商品信息,限定条件是商品是家用电器部或电话手机部的商品,并且
6、要求价格在420到1000之间。数据库设计在第(1)小题中,用SELECT从商品表中查询商品名,使用WHERE语句锁定需要查询的部门号。在第(2)小题中,用SELECT从商品表中查询商品种类,使用RIGHT语句截取商品名称中的后3个字,进行对比分类。使用DISTINCT语句,将相同的部分去除,得到商品的种类。使用COUNT语句数出一共多少种。使用WHERE语句将范围限定在需要查询的产地。在第(3)小题中,用SELECT从商品表和部门表中查询部门名称、金额总和。使用SUM语句计算金额总和。使用GROUP BY 按部门号进行分类。在第(4)小题中,用SELECT从商品表和部门表中查询部门号、部门名
7、称、商品号、商品名称、单价、数量、产地。使用WHERE语句添加限定条件“部门号是40或部门号是20”。使用HAVING语句将范围缩小到单价在420到1000之间的部分。程序清单(1) SELECT 商品名称 FROM 商品表 WHERE 部门号=”40”(2) SELECT COUNT(DISTINCT RIGHT(ALLTRIM(商品名称),6) FROM 商品表 WHERE 产地=”广东”(3) SELECT 部门表.部门名称,SUM(VAL(数量)*单价) AS 金额总和 FROM 商品表,部门表 WHERE 商品表.部门号=部门表.部门号 GROUP BY 商品表.部门号(4) SEL
8、ECT 商品表.部门号,部门名称,商品号,商品名称,单价,数量,产地 FROM 部门表,商品表 WHERE 部门表.部门号=商品表.部门号 AND (商品表.部门号=”40” OR 商品表.部门号=”20”) HAVING 单价 BETWEEN 420 AND 1000测试分析在第(2)小题中,最初的语句为:SUM(数量*单价) AS 金额总和,但是无法正常显示,经过反复检查后发现,因为在建表的时候“数量”设定为字符型,“单价”为数值型,因而不能进行计算,将语句改为SUM(VAL(数量)*单价)后可以得到正确结果。在第(3)小题中,最初的语句为:COUNT(商品名称),但这样输出来的只是商品名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 课程设计 报告

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