您好,欢迎访问三七文档
产品数据库Product(maker,model,type)PC(model,speed,ram,hd,price)Laptop(model,speed,ram,hd,screen,price)Printer(model,color,type,price)关系Product给出了各种产品的制造厂商、型号和产品类型(PC、笔记本电脑或者打印机)。为了简单起见,假设所有产品的型号都唯一,而不管它是由哪个制造商生产的。关系PC对于不同型号给出了如下属性:速度(处理器的速度,单位是GHz)、RAM的大小(单位是MB)、硬盘的容量(单位是GB)以及价格。关系Laptop与关系PC类似,它在PC的基础上增加了属性screen,即显示器的尺寸(以英寸为单位)。关系Printer对于每种型号有如下属性:是否彩色(如果是的话,这个值是true)、处理类型(激光的还是喷墨的)以及价格。关系Product的数据MakermodeltypeA1001pcA1002pcA1003pcA2004laptopA2005laptopA2006laptopB1004pcB1005pcB1006pcB2007laptopC1007pcD1008pcD1009pcD1010pcD3004printerD3005printerE1011pcE1012pcE1013pcE2001laptopE2002laptopE2003laptopE3001printerE3002printerE3003printerF2008laptopF2009laptopG2010laptopH3006printerH3007printer关系PC的数据modelspeedramhdprice10012.661024250211410022.1051225099510031.425128047810042.80102425064910053.2051225063010063.201024320104910072.20102420051010082.20204825077010092.00102425065010102.80204830077010111.86204816095910122.80102416064910133.0651280529关系Laptop的数据modelspeedramhdscreenprice20012.00204824020.1367320021.7310248017.094920031.805126015.454920042.005126013.3115020052.16102412017.0250020062.0020488015.4170020071.83102412013.3142920081.60102410015.490020091.605128014.168020102.00204816015.42300关系Printer的数据modelcolortypeprice3001trueink-jet993002falselaser2393003truelaser8993004trueink-jet1203005falselaser1203006trueink-jet1003007truelaser200二战中的大型舰船数据库Classes(class,type,country,numGuns,bore,displacement)Ships(name,class,launched)Battles(name,date)Outcomes(ship,battle,result)相同设计的舰船组成一个“类”,类别的名称通常就是这个类的第一艘船的名字。关系Classes记录了“类”的名字、型号(bb代表主力舰,bc代表巡洋舰)、生产国家、火炮的门数、火炮的尺寸(口径,单位是英寸)和排水量(重量,单位是吨)。关系Ships记录了舰船的名字、舰船类属名字、开始服役的日期。关系Battles给出了这些舰船参加的战役的时间。关系Outcomes给出了各个舰船在各场战役中的结果(是沉没,还是受伤,或者完好)关系Classes的数据classtypecountrynumGunsboredisplacementBismarckbbGermany81542000IowabbUSA91646000KongobcJapan81432000NorthCarolinabbUSA91637000RenownbcGt.Britain61532000RevengebbGt.Britain81529000TennesseebbUSA121432000YamatobbJapan91865000关系Ships的数据nameclasslaunchedCaliforniaTennessee1921HarunaKongo1915HieiKongo1914IowaIowa1943KirishimaKongo1915KongoKongo1913MissouriIowa1944MusashiYamato1942NewJerseyIowa1943NorthCarolinaNorthCarolina1941RamilliesRevenge1917RenownRenown1916RepulseRenown1916ResolutionRevenge1916RevengeRevenge1916RoyalOakRevenge1916RoyalSovereignRevenge1916TennesseeTennessee1920WashingtonNorthCarolina1941WisconsinIowa1944YamatoYamato1941关系Battles的数据namedateDenmarkStrait5/24-27/41Guadalcanal11/15/42NorthCape12/26/43SurigaoStrait10/25/44关系Outcomes的数据shipbattleresultArizonaPearlHarborsunkBismarckDenmarkStraitsunkCaliforniaSurigaoStraitokDukeofYorkNorthCapeokFusoSurigaoStraitsunkHoodDenmarkStraitsunkKingGeorgeVDenmarkStraitokKirishimaGuadalcanalsunkPrinceofWalesDenmarkStraitdamagedRodneyDenmarkStraitokScharnhorstNorthCapesunkSouthDakotaGuadalcanaldamagedTennesseeSurigaoStraitokWashingtonGuadalcanalokWestVirginiaSurigaoStraitokYamashiroSurigaoStraitsunk需要注意的是:这个数据库中存在着“悬浮元组”,比如,在关系Outcomes中出现的船只可能在关系Ships中查不到。※作业一:习题1.11.对于产品数据库中的4个关系,写出它们的关系模式定义语句。CREATETABLEProduct(makerchar(3),modelchar(4)primarykey,typechar(10));CREATETABLEPC(modelchar(4)primarykey,speeddecimal(3,2),ramint,hdint,priceint);CREATETABLELaptop(modelchar(4)primarykey,speeddecimal(3,2),ramint,hdint,screendecimal(3,1),priceint);CREATETABLEPrinter(modelchar(4)primarykey,colorchar(5),typechar(10),priceint);2.修改关系Printer,删掉属性color。ALTERTABLEPrinterDROPCOLUMNcolor;3.修改关系Laptop,增加属性od(光驱类型,比如CD、DVD)。如果某个笔记本电脑没有光驱,则该属性的默认值为‘none’。ALTERTABLELaptopADDodchar(10)DEFAULT‘none’;习题1.2[选做]1.对于二战中的大型舰船数据库中的4个关系,写出它们的关系模式定义语句。CREATETABLEClasses(classchar(20)primarykey,typechar(2),countrychar(20),numGunssmallint,boresmallint,displacementint);CREATETABLEShips(namechar(20)primarykey,classchar(20),launchedint);CREATETABLEBattles(namechar(20)primarykey,datedatetime);CREATETABLEOutcomes(shipchar(20),battlechar(20),resultchar(7),primarykey(ship,battle));2.修改关系Classes,删掉属性bore。ALTERTABLEClassesDROPCOLUMNbore;3.修改关系Ships,增加属性yard,它给出了该船的船坞。ALTERTABLEShipsADDyardchar(30);※作业二:(写关系代数表达式)习题2.1对于产品数据库,试写出下列查询的关系代数表达式。1.哪种PC型号具有最少3.00的速度?model(speed=3.00(PC))2.哪个生产厂商的笔记本电脑的硬盘容量至少100GB?maker(Product(hd=100(Laptop)))3.查询厂商B生产的所有产品的型号和价格。model,price(maker=’B’(Product)PC)model,price(maker=’B’(Product)Laptop)model,price(maker=’B’(Product)Printer)4.查询所有彩色激光打印机的型号。model(color=’true’type=’laser’(Printer))5.查询那些只生产笔记本电脑,不生产PC的厂商。maker(type=’laptop’(Product))-maker(type=’pc’(Product))※习题2.2(关系代数计算)已知关系R(A,B):{(0,1),(2,3),(0,1),(2,4),(3,4)}S(B,C):{(0,1),(2,4),(2,5),(3,4),(0,2),(3,4)}计算下面的表达式:1.B+1,C-1(S)2.B,A(R)3.(R)4.B,AVG(C)(S)5.A,AVG(C)(RS)(注:此处代表自然连接)6.R与S的自然左外连接7.R与S的自然右外连接答:1.{(1,0),(3,3),(3,4),(4,3),(1,1),(4,3)}2.{(0,1),(0,1),(2,3),(2,4),(3,4)}3.{(0,1),(2,3),(2,4),(3,4)}4.{(0,1.5),(2,4.5),(3,4)}5.{(2,4)}6.{(2,3,4),(2,3,4),(0,1,NULL),(0,1,NULL),(2,4,NULL),(3,4,NULL)}7.{(2,3,4),(2,3,4),(NULL,0,1),(NULL,2,4),(NUL,2,5),(NULL,0,2)}习题2.3[选做]对于二战中的大型舰船数据库,试写出下列查询的关系代数表达式。1.查询那些火炮口径大于16英寸的舰船类属和生产国。class,country(bore16(Classes))2.查询在丹麦海峡(DenmarkStrait)战役中沉没的舰船。ship(ba
本文标题:课后作业答案
链接地址:https://www.777doc.com/doc-5644064 .html