warship查询实验.doc_第1页
warship查询实验.doc_第2页
warship查询实验.doc_第3页
warship查询实验.doc_第4页
warship查询实验.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Warship数据库查询练习本次练习涉及二战中的大型舰船,它由以下几个关系组成:Classes( class, type, country, numGuns, bore, displacement)Ships(name, class, launched)Battles(name, date)Outcomes(ship, battle,result)具体含义及数据见附表EXCEL。规定:相同设计的舰船组成一个“Class(类)”,类别的名称通常就是这个类的第一艘船的名字。关系Classes记录了“类”的名字、型号(bb代表战列舰,bc代表巡洋舰)、生产国家、主炮的数目、炮尺寸(口径,单位为英寸)和排水量(重量,单位是吨)。关系Ships记录了舰船的名字、舰船类属名字和开始服役的时间。关系Battles给出了这些舰船参加的战役的时间。关系Outcomes给出了各艘舰船在各场战役中的结果(是沉没、受伤,还是完好)。请完成以下查询任务:查询组1:1、 找出至少装备10门火炮的船只所属类别名和制造国家 select country,type from classes where numGuns=102、 找出在1918年以前下水的舰船的名字,并且把结果列名改为ShipName select name as shipname from ships where launched3查询组2:1、 找出战舰类型的数量。2、 找出不同型号(type)战舰拥有的平均火炮数量。3、 找出战舰的平均火炮数量。注意c)和b)的不同在于:在计算均值的时候,是使用战舰的数目还是战舰的类型数目。4、 军舰火炮使用的炮弹的重量(以磅为单位)大约是火炮的口径(以英寸为单位)的一半。找出各个国家的军舰炮弹重量的平均值。5、 找出每一类型( class )的第一艘船下水的年份。6、 找出每一类型中被击沉船的数目。7、 找出至少有3艘船的类型中被击沉的船的数目。查询组3:1、 查询那些火炮口径至少十六英寸的舰船所属类的名称和拥有此类船舰的国家。Select class, countryFrom classesWhere bore=16 pclass,country(sbore16 (Classes)2、 查询那些在1921年之前下水的舰船。Select nameFrom shipswhere launched350005、列出参加了Guadalcanal岛海战的舰船的名称、排水量及火炮的数目。select name,displacement,numGunsfrom classes,ships,outcomeswhere ships.class=classes.class and =outcomes.ship and battle=Guadalcanal6、 列出所有的在此数据库中提到的舰船。(注意,并非所有的船只都出现在Ships关系中)select distinct from ships;select distinct shipfrom outcomeswhere ship not in(select distinct from ships)7、 列出只包含一艘舰船的类8、 列出那些既有战列舰又有巡洋舰的国家。 select distinct c1.countryfrom classes as c1, classes as c2where c1.type=bcand c2.type=bband c1.country=c2.country;9、 “留得青山在,不怕没柴烧”,列出那些在某次战役中受伤、但是又参加了其他战役的舰船。查询组4:每题的答案中,请至少使用一个子查询,并且使用两种不同的方法写出每个查询(如:使用各种不同的操作符EXISTS、IN、ALL和ANY等)1、 找出拥有火炮数量最多的船只所属的国家2、 找出至少有一艘船在中被击沉的船只种类3、 找出具有16英寸口径火炮的船只的名字 pname(sbore=16 (Classes)Select nameFrom classesWhere bore=164、 找出Kongo类型船只参加的战役5、 找出具有相同口径火炮的船只中火炮数量最多的船只的名字数据更新:写出下列数据库更新语句,描述对该习题数据修改后的结果1、 两艘Nelson类型的英国战舰-Nelson和Rodney-在1927年下水。两者都具有16英寸口径的火炮,排水量为34000吨。把这两条信息加入到数据为数据库中。2、 两艘Vittorio Veneto类型的意大利战舰-Vitorio Veneto和Italia-在1940年下水;第三艘同样类型的船-Roma在1942年下水。每艘船都有15英寸口径火炮和41000吨的排水量。把这些信息加入到数据库。3、 删除所有在中沉没的船只。4、 更新Classes关系,使得火炮口径使用厘米作单位(1英寸=25CM),排水量使用公制吨。(1公制吨=1.1吨)。5、 删除所有少于3艘船的类型视图练习1、 定义一个视图,它包括所有英国船只的类(class)、类别(type)、火炮数量、口径、排水量和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论