已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验五实验目的:掌握数据库表之间的永久关联及参照完整性的设置;掌握使用表设计器设计查询文件;掌握使用SELECT语句设计查询。实验内容(按顺序做,第3题中的单号题写到实验报告中。注意将所有题存到自己的盘上)1. 设置自己的文件夹为默认文件夹。打开“学生管理”项目。2. 创建数据库表之间的永久关联及设置参照完整性。(1)打开“学生-课程”数据库设计器,用鼠标左键拖动学生表中的主索引xh到选课表的普通索引xh(注意这两个索引都应是按学号字段进行排序的索引),两个表之间出现一条连线,该连线即为两表间按学号相等的一个的永久关联。(2)按上面同样的方法创建课程表和选课表之间的按课程号相等的永久关联。(3)设置如下参照完整性: 使用“数据库”菜单中的“编辑参照完整性”或右单击永久关系连线选“编辑参照完整性”,打开“参照完整性生成器” 要求更新学生表中的某一学号时选课表中的相同学号也相应更新。(提示:将学生与选课间的“更新规则”设为“级联”) 要求删除课程表中的某门课时选课表中该课的有关记录也相应删除。(提示:将课程与选课间的“删除规则”设为“级联”)要求在选课表中插入一条学生的选课记录时,如果学生表中没有该学生或课程表中没有该课则禁止插入。 (提示:将学生与选课间的“插入规则”设为“限制”) (4)测试(3)中的设置,理解参照完整性的含义。3. 在项目中设计如下查询,单号题用select命令(写到程序中),双号题用查询设计器:注意:查询前先打开“学生-课程”数据库,并且设为当前库(1)创建程序文件Q1,用select命令查询“计算机”系的学生的学号、姓名、和出生日期,结果按学号升序排。 运行程序查看运行结果。使用设计器设计:添加表:学生表“字段”选项卡:学号、姓名、出生日期“筛选”选项卡:所在系=计算机“排序”选项卡:学号升序使用命令:SELECT 学号,姓名,出生日期; FROM学生; WHERE所在系 = 计算机; ORDER BY学号查询结果如下:(2)创建查询文件Q2,查询“计算机”系的学生的姓名、性别、年龄,结果按年龄升序排。 运行查询文件查看运行结果。使用设计器设计:添加表:学生表“字段”选项卡:姓名、性别、YEAR(DATE()-YEAR(学生.出生日期) AS 年龄“筛选”选项卡:所在系=计算机“排序依据”选项卡:YEAR(DATE()-YEAR(学生.出生日期) AS 年龄使用命令:SELECT姓名,性别, YEAR(DATE()-YEAR(学生.出生日期) AS 年龄; FROM学生; ORDER BY 3查询结果如下:(3)创建程序文件Q3,用select命令查询都有哪些系,要求系不能重复。 运行程序查看运行结果。使用设计器设计:添加表:学生表“字段”选项卡:所在系“杂项”选项卡:选中“无重复记录”复选框使用命令:SELECT DISTINCT 所在系 FROM学生查询结果如下:(4)创建查询文件Q4,查询选了“001”号课的学生的姓名和成绩,结果按成绩降序排,结果放到表“成绩001号课”表中。 运行查询文件,将存放查询结果的文件添加到项目的自由表中,浏览该自由表从而查看查询结果。使用设计器设计:添加表:学生表、选课表“字段”选项卡:姓名、成绩“联接”选项卡:inner join 学生.学号=选课.学号“筛选”选项卡:课程号=001“排序依据”选项卡:成绩降序“查询去向”:表“成绩001号课”使用命令:SELECT姓名,成绩;FROM学生 INNER JOIN选课 ON 学生.学号 = 选课.学号; WHERE课程号 = 001; ORDER BY成绩 DESC INTO TABLE 成绩001号课查询结果如下:(5)创建程序文件Q5,用select命令查询“计算机”系学生选了“001”号课学生的姓名、成绩,结果按成绩降序排。 运行程序查看运行结果。使用设计器设计:添加表:学生表、选课表“字段”选项卡:姓名、成绩“联接”选项卡:inner join 学生.学号=选课.学号“筛选”选项卡:所在系=计算机 and课程号=001 “排序依据”选项卡:成绩降序使用命令:SELECT姓名,成绩; FROM 学生 INNER JOIN选课 ON 学生.学号 = 选课.学号;WHERE所在系 = 计算机 AND课程号 = 001; ORDER BY成绩 DESC查询结果如下:(6)创建查询文件Q6,查询成绩在80及80分以上的学生的姓名、课程名和成绩,输出时先按课程名升序排,课程名一样的再按成绩降序排。 运行查询文件查看运行结果。使用设计器设计:添加表:学生表、选课表、课程表“字段”选项卡:姓名、课程名、成绩“联接”选项卡:inner join 学生.学号=选课.学号 inner join 课程.课程号=选课.课程号“筛选”选项卡:成绩=80“排序依据”选项卡:课程名升序、成绩降序使用命令:SELECT姓名,课程名,成绩;FROM学生 INNER JOIN选课 INNER JOIN课程 ; ON 课程.课程号=选课.课程号 ON 学生.学号=选课.学号; WHERE成绩 = 80; ORDER BY课程名,成绩 DESC查询结果如下:(7)创建程序文件Q7,用select命令查询平均成绩大于等于80的学生的学号、姓名平均成绩。 运行程序查看运行结果。使用设计器设计:添加表:学生表、选课表“字段”选项卡:学号、姓名、AVG(选课.成绩) AS 平均成绩“联接”选项卡:inner join 学生.学号=选课.学号“分组依据”选项卡:学号 “满足条件”(筛选组):平均成绩=80“排序依据”选项卡:学号升序使用命令:SELECT 学生.学号, 姓名, AVG(选课.成绩) AS 平均成绩; FROM 学生 INNER JOIN选课 ON 学生.学号 = 选课.学号; GROUP BY 学生.学号; HAVING 平均成绩=80查询结果如下:(8)创建查询文件Q8,查询各科成绩的最高分。结果包括课程名和最高分两列。 运行查询文件查看运行结果。使用设计器设计:添加表:课程表、选课表“字段”选项卡:课程名、MAX(选课.成绩) AS 最高分“联接”选项卡:inner join 课程.课程号=选课.课程号“分组依据”选项卡:课程名使用命令:SELECT课程名, MAX(选课.成绩) AS 最高分; FROM课程 INNER JOIN选课 ON课程.课程号 = 选课.课程号; GROUP BY 课程.课程名查询结果如下:(9)创建程序文件Q9,用select命令查询选课人数多于10人的课程名和选课人数。 运行程序查看运行结果。使用设计器设计:添加表:课程表、选课表“字段”选项卡:课程名、COUNT(选课.学号) AS 选课人数“联接”选项卡:inner join 课程.课程号=选课.课程号“分组依据”选项卡:课程名“满足条件”(筛选组):选课人数=10使用命令:SELECT 选课.课程名, COUNT(选课.学号) AS 选课人数; FROM 课程 INNER JOIN选课 ON 课程.课程号 = 选课.课程号; GROUP BY 选课.课程名; HAVING 选课人数=10查询结果如下:(10)创建查询文件Q10,查询数学成绩前5名的学生的姓名和数学成绩。 运行查询文件查看运行结果。使用设计器设计:添加表:学生表、选课表、课程表“字段”选项卡:姓名、成绩 “联接”选项卡:inner join 学生.学号=选课.学号 inner join 课程.课程号=选课.课程号 “筛选”选项卡:课程名=数学“排序依据”选项卡:成绩降序“杂项”:不选“全部”复选框,“记录个数”改成5使用命令:SELECT TOP 5 姓名,成绩; FROM学生 INNER JOIN选课 INNER JOIN课程 ; ON 课程.课程号 = 选课.课程号 ON 学生.学号 = 选课.学号; WHERE 课程名 = 数学; ORDER BY 成绩 DESC查询结果如下:4. 打开“客户管理”项目,打开“订货管理”数据库,在该项目中使用查询设计器设计如下查询:习题13(271页)第三题的1、2、3、4、5题。注意:查询前先打开“订货管理”数据库并设为当前库。(1) 查询客户名为“三益贸易公司”的订购单明细,结果先按“订单号”升序排,同一订单的再按“单价”降序排。结果存到results14_1中。使用设计器:添加表:customer、order_list、order_detail“字段”选项卡:order_detail表中的所有字段“联接”选项卡:inner join customer.khh=order_list.khh Inner join order_list.ddh= order_detail.ddh“筛选”选项卡:customer.khm= 益贸易公司“排序依据”选项卡:ddh升序、dj降序“分组依据”选项卡:“杂项”选项卡:“查询去向”:表“results14_1”使用命令:SELECT Order_detail.*; FROM customer INNER JOIN order_list INNER JOIN order_detail ; ON Order_list.ddh = Order_detail.ddh ON Customer.khh = Order_list.khh; WHERE Customer.khm = 三益贸易公司; ORDER BY Order_detail.ddh, Order_detail.dj DESC; INTO TABLE results14_1.dbf查询结果:(2)查询目前有订购单的客户信息,即有对应的order_list记录的customer表中的记录,同时要求按khh升序排,将结果存到results14_2中。使用设计器:添加表:customer、order_list“字段”选项卡:customer表中的所有字段“联接”选项卡:inner join customer.khh=order_list.khh“排序依据”选项卡:customer.khh“杂项”选项卡:选中复选框“无重复记录”“查询去向”:表“results14_2”使用命令SELECT DISTINCT Customer.*; FROM customer INNER JOIN order_list ; ON Customer.khh = Order_list.khh; ORDER BY Customer.khh; INTO TABLE results14_2.dbf查询运行结果:(3)查询所有订购单的订单号、订购日期、和总金额,按订单号升序排,将查询结果存储到表results14_3中。使用设计器:添加表: order_list、order_detail“字段”选项卡:ddh、dgrq、qjh、qjm、SUM(dj*sl) as 总金额“联接”选项卡:Inner join order_list.ddh= order_detail.ddh“排序依据”选项卡:ddh“分组依据”选项卡:ddh“查询去向”:表“results14_3”使用命令:SELECT Order_list.ddh, dgrq, SUM(dj* sl) as 总金额; FROM order_list INNER JOIN order_detail ON Order_list.ddh = Order_detail.ddh;GROUP BY Order_list.ddh;ORDER BY Order_list.ddh; INTO TABLE results14_3.dbf查询运行结果:(4)按总金额降序排列出所有客户的客户号、客户名及其订单号和总金额,将查询结果存到表results14_4中。使用设计器:添加表:customer、order_list、order_detail“字段”选项卡:khh、khm、ddh、SUM(dj*sl) as 总金额“联接”选项卡:inner join customer.khh=order_list.khh Inner join order_list.ddh= order_detail.ddh“排序依据”选项卡:SUM(dj*sl) as 总金额 降序“分组依据”选项卡:ddh“查询去向”:表“results14_4”使用命令SELECT Customer.khh, khm, Order_list.ddh, SUM(dj*sl) as 总金额; FROM customer INNER JOIN order_list INNER JOIN order_detail ; ON Order_list.ddh = Order_detail.ddh ; ON Customer.khh = Order_list.khh; GROUP BY Order_list.ddh; ORDER BY 4 DESC;INTO TABLE results14_4.dbf查询运行结果:(5)对表order_detail建立查询,把“订单号”的尾部字母相同且订货相同(即“器件号”相同)的订单合并成一张订单,新的“订单号”取原来的尾部字母,“单价”取最低价,“数量”取合计,查询结果先按新的“订单号”升序排,再按“器件号”升序排,将查询结果存到表results14_5中。使用设计器:添加表: order_detail“字段”选项卡:RIGHTC(ddh,1) as 订单号、qjh、qjm、MIN(dj) as 最低单价、SUM(sl) as 总数量“排序依据”选项卡:RIGHTC(ddh,1) as 订单号 升序、qjh升序“分组依据”选项卡:RIGHTC(ddh,1)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化学烧伤处理:健康宣教模板参考-1
- 患者健康教育知识
- 借用协议书(集合15篇)
- 2026中国邮政储蓄银行股份有限公司上海崇明区支行招聘5人考前冲刺密卷及完整答案详解【各地真题】
- 2025年行政执法人员资格考试必考知识题库及答案
- 品牌忠诚度分析与提升考核表
- 年度经营分析报告函(6篇)范文
- 关于2026年信息系统升级准备工作的确认函3篇
- 2026年段落格式测试题及答案
- 2026年网龙产品运营测试题及答案
- 2026年中心血站采血医技岗医疗卫生事业招聘考试笔试试题(含答案)
- 2026年注册安全工程师考试《安全管理》冲刺押题试卷(含解析)
- 2026-2030中国碳化硅(SiC)半导体器件市场发展现状及未来供需平衡预测报告
- 无水乙醇在脏器囊肿硬化治疗中合理性应用的专家共识
- 癫痫患者发作急救流程及日常护理建议
- 银行-从年报透析上市银行资产质量
- 山西省长治市2026年重点学校小升初入学分班考试英语考试试题及答案
- 2026年国家电投招聘笔试参考题库含答案解析
- 防范银狐木马病毒与补贴诈骗信息课件
- 2025年全国青少年信息素养大赛C++算法创意实践挑战赛(小学组-复赛)真题(含答案)
- 2026年河北省工人技师公共基础考试试题及答案
评论
0/150
提交评论