云南大学软件学院实验报告序号:实验老师:秦江龙课程名称:多媒体数据库系统设计实验实验名称:实验七学号:姓名:课程名称多媒体数据库系统设计实验实验项目应用Oracle实现数据库设计实验目的请按以下ER图设计在Oracle数据库中创建数据库,录入测试数据并完成相关查询实验内容(算法、程序、步骤和方法)1.Amazon数据库及测试数据指标等级ABCD功能完整程序质量按时检查提问回答检查时间总评成绩请完成教材第7章练习12-20的查询并记录查询结果。2.Hospital数据库及测试数据请完成教材第7章练习33-38的查询并记录查询结果。3.Acme数据库及测试数据请完成教材第7章练习39-46的查询并记录结果。数据记录和计算12.有多少种不同的发送订单的方法?13.列出每个订单的订单id和总数量。对列表的排序以总数量为序。14.列出总数量大于等于4的订单id和总数量。对列表的排序以总数量为序。15.列出所有订单条目的订单id、售价、数量和扩展价格(售价乘以数量)。为扩展价格列使用别名“Total”。以订单id为序排序。16.列出每个订单的订单id、订单日期、客户email、名、姓。先以emile为序,然后以订单日期为序。17.为每个订单列出订单id、订单日期、ISBN、标题、售价以及订单中订购的每种书的数量。以订单日期、标题为序。18.为每个订单列出订单id、订单日期、客户email、名、姓以及订单中包含的每种书的ISBN、标题、售价、数量。以订单id、标题为序。19.为俄亥俄州(OH)的客户填写的每个订单列出订单id、订单日期、客户email、名、姓以及订单中包含的每种数的ISBN、标题、售价、数量。以订单id、标题为序。20.为订购ISBN为014025448X或0670894370的每个订单列出订单id、订单日期客户email、名、姓以及订单中包含的每种书的ISBN、标题、售价、数量。以订单日期、标题为序。33.列出由Nationwide保险的每个病人的名、姓、邮政编码,以病人的姓为序。34.列出居住在俄亥俄州或肯塔基州的每个病人的名、姓、州、邮政编码以及该病人投保的保险公司的名字和电话号码,以病人的姓为序。35.列出每个保险公司的名字、联系人的名和姓以及在该保险公司投保的所有病人的id、名、姓。以保险公司、病人的姓为序。36.列出每个病人的名和姓、病人医生的名和姓、病人投保的保险公司的名字和电话号码,以保险公司、医生的姓、病人的姓为序。37.列出id为11111、33333或55555的病人的名和姓、病人医生的名和姓、病人投保的保险公司的名字和电话号码。以保险公司、医生的姓、病人的姓为序。38.列出没有分配到任何病人的医生的id号、名和姓。以医生的姓为序。39.有多少填写订单的不同客户?40.列出填写了多于一个订单的客户的名和姓。41.列出包含在超过一个订单中的所有商品的商品id、订购数量。以商品id的降序为序。42.已经的订单有多少?43.列出没有填写过订单的所有客户的名和姓。以姓为序。44.列出订单中现在包括的商品的id、订价和描述。以订价的降序为序。45.列出订单中现在没有包括的商品的id、订价和描述。以订价的降序为序。46.列出订价大于所有商品定价平均值的商品id、描述和订价。以描述为序。结论(结果)通过这次实验,我学会了安装Oracle,并用OracleSQLDeveloper连接数据库,能够写出一些SQL语句对数据库进行查询和管理。我不仅掌握了插入、删除、查找等基本操作,还弄清了GROUPBY和HAVING子句的用法。在查询过程中聚合语句(sum、in、avg、count)要比having子句优先执行.而where子句在查询过程中执行优先级别优先于聚合语句。通过用GROUPBY子句,可以让SUM和COUNT这些函数对属于一组的数据起作用。HAVING子句可以让我们筛选成组后的各组数据WHERE子句在聚合前先筛选记录.也就是说作用在GROUPBY子句和HAVING子句前.而HAVING子句在聚合后对记录进行筛选。指导教师签名:秦江龙