Dr.RobertMarti InformationssystemefürIngenieure Herbstsemester2016 LösungzuÜbung1 Aufgabe1 GegebenisteineRelation,dieTageskursevonAktienenthält. BedeutungderAttribute NAME: NamederAktie,auchTitelgenannt. SYMBOL: EineAbkürzungdesAktiennamens,dassog.TickerSymbol. QUOTE_CLS: Tagesendkurs,d.h.,derPreisderAktieamEndeeinesTages. DIFF_ABS: AbsoluteDifferenzdesheutigenTagesendkurseszumTagesendkursdesvorherigen Handelstages. DIFF_REL: RelativeDifferenzdesheutigenTagesendkurseszumTagesendkursdesvorherigen Handelstages. QUOTE_HI: HöchsterTageskurs,d.h.,derhöchsteerzieltePreisderAktieinnerhalbeinesTages. QUOTE_LO: TiefsterTageskurs,d.h.,dertiefsteerzieltePreisderAktieinnerhalbeinesTages. VAL_DATE: ValutaDatum,d.h.derTag,andemQUOTE_CLS,QUOTE_HIundQUOTE_LOgelten. 1 BeantwortenSiefürdieRelationQUOTESfolgendeFragen: 1.1 WelcheAttributebzw.KombinationenvonAttributensindSchlüsselkandidaten? FallsesmehrereSchlüsselkandidatengebensollte,welchenwählenSiealsPrimärschlüssel undwarum? Schlüsselkandidatensind{NAME,VAL_DATE}sowie{SYMBOL,VAL_DATE} AlsPrimärschlüsselwird{SYMBOL,VAL_DATE}empfohlen,weilderNameeinesWertpapiershäufiger ändertalsdasTickersymbol.AusserdemistdasTickersymbolkürzeralsderName,undhatdennocheine Bedeutung,diedenmeistenBenutzernbekanntist. 1.2 GibtesSuperschlüssel,dieverschiedensindvonallenSchlüsselkandidatenausAufgabe1.1? Fallsja,gebenSieeinensolchenSuperschlüsselan. AlleechtenÜbermengenderobigenSchlüsselkandidatensindSuperschlüssel,alsoz.B. {NAME,VAL_DATE,QUOTE_CLS}oder{SYMBOL,VAL_DATE,DIFF_ABS,QUOTE_LO}. 1.3 HatdieRelationRedundanzen,diezuUpdateAnomalienführenkönnten,welchemiteiner ZerlegungderRelationinzweiodermehrereRelationenvermiedenwerdenkönnten?Welche? WennderNAMEeinesWertpapiersändert,nichtaberdessenSYMBOL,dannmüsstemöglicherweiseder NAMEanjedemTag,fürdenKursinformationenexistieren,geändertwerden–esseidenn,manmöchte ganzbewusstdenanjenemTaggültigenWertNAMEinderTabellebeibehalten. 1.4 HatdieRelationallenfallsandereRedundanzen?Wiekönntendiesevermiedenwerden? DIFF_ABSd,d.h.DIFF_ABSeinerAktiefürdasDatumd,kannwiefolgtberechnetwerden: DIFF_ABSd:=QUOTE_CLSd–QUOTE_CLSd0, wobeid0dasDatumdesHandelstagsvordemDatumdist.SomitistDIFF_ABSletztlichredundantund mussauchnichtgespeichertwerden.EbensokannDIFF_RELausbestehendenDaten(DIFF_ABSd, QUOTE_CLSdundQUOTE_CLSd0)berechnetwerden.(Bem.:DieBerechnungvonDIFF_ABSundDIFF_REL istallerdingsz.B.inSQLnichtganztrivialundeheraufwendig,undwirddeshalb–sofernalteKursenicht bzw.seltenkorrigiertwerdenmüssen–dennochoftredundantgespeichert.) Aufgabe2 GegebensindRelationen,dieFlughäfen(AIRPORTS),Flugzeuggesellschaften(AIRLINES)sowievondiesen GesellschaftenbetriebeneFlugrouten(ROUTES)enthalten. (KleineAuswahlvonDatenderWebSitehttp://openflights.org/data.html.) 2 BedeutungderAttribute RelationAIRPORTS APT_IATA: IATACodedesFlughafens APT_NAME: NamedesFlughafens CITY_NAME: NamederStadt,indemsichderFlughafenbefindet CTRY_NAME: NamederLandes,indemsichderFlughafenbefindet LATITUDE: GeographischeBreitedesOrts,wosichderFlughafenbefindet LONGITUDE: GeographischeLängedesOrts,wosichderFlughafenbefindet ALTITUDE: HöhedesOrts,wosichderFlughafenbefindet TIMEZONE: ZeitzonedesOrts,wosichderFlughafenbefindet RelationAIRLINES ALN_IATA: IATACodederFluggesellschaft,welchedieRouteanbietet ALN_NAME: NamederFluggesellschaft ALN_ALIAS: AliasderFluggesellschaft ALN_CALLSIGN: CallSIgnderFluggesellschaft CTRY_NAME: NamederLandes,indemdieFluggesellschaftregistriertist IS_ACTIVE: YfallsFluggesellschaftnochaktivist,Nsonst RelationROUTES ALN_IATA: IATACodederFluggesellschaft SRC_APT_IATA: IATACodedesAusgangsflughafens DEST_APT_IATA: IATACodedesZielflughafens IS_CODESHARE: YfallsdieRoutevonmehrerenFluggesellschaftenalsCodeShareFlugbetrieben wird,Nsonst 3 BeantwortenSiedazufolgendeFragen: 2.1 WelchessinddiePrimärschlüsselderRelationenAIRPORTS,AIRLINESundROUTES? PrimärschlüsselAIRPORTS:{APT_IATA} PrimärschlüsselAIRLINES:{ALN_IATA} PrimärschlüsselROUTES:{ALN_IATA,SRC_APT_IATA,DEST_APT_IATA},denneineFluggesellschaft (ALN_IATA)betreibtnormalerweisemehrereRouten,selbstwennesnurvonanachbundzurück(alsovon bnacha)seinsollte. 2.2 WelchessindFremdschlüsselindenRelationenAIRPORTS,AIRLINESundROUTES? FremdschlüsselAIRPORTS:keine.(WennesRelationengäbe,dieStädtebzw.Länderenthieltenund derenPrimärschlüsselStädtenamenbzw.Ländernamenwären,dannkönntenentsprechendeweitere Fremdschlüsseldefiniertwerden.) FremdschlüsselAIRLINES:keine.(WenneseineRelationgäbe,dieLänderenthielteundderen PrimärschlüsselLändernamenwären,dannkönnteeineentsprechenderweitererFremdschlüsseldefiniert werden.) FremdschlüsselROUTES: 1.{ALN_IATA}referenziertAIRLINE.ALN_IATA 2.{SRC_APT_IATA}referenziertAIRPORT.APT_IATA,denAusgangsflughafen 3.{DEST_APT_IATA}referenziertebenfallsAIRPORT.APT_IATA,denZielflughafen. 2.3 HatesRelationenmitRedundanzen,diezuUpdateAnomalienführenkönnten,welchemiteiner ZerlegungderRelationinzweiodermehrereRelationenvermiedenwerdenkönnten?Welche? WennesineinerStadtmehrereFlughäfengibt,unddieStadtdasLandändernwürde,dannmüssteder NamedesLandesinmehrerenZeilengeändertwerden.Unmöglichistdiesnicht,abereher unwahrscheinlich. Aufgabe3 WelchederfolgendenAussagenistkorrekt? 3.1 EinFremdschlüsseleinerRelationRistimmerauchPrimärschlüsselderselbenRelationR. Falsch.EinFremdschlüsselverweistzwarzueinemPrimärschlüsseleineranderen(seltenersogar derselben)Relation,kannaberbeliebigeAttributevonRenthalten. 3.2 EinPrimärschlüsseleinerRelationRistimmerauchSchlüsselkandidatderselbenRelationR. Korrekt,siegeDefinition. 3.3 EinSchlüsselkandidateinerRelationRistimmerauchPrimärschlüsselderselbenRelationR. Falsch.EinSchlüsselkandidatkannPrimärschlüsselsein,mussesabernicht.. 3.4 EinSuperschlüsseleinerRelationRistimmerSchlüsselkandidatderselbenRelationR. Falsch.EinSchlüsselkandidatistein“minimaler”Superschlüssel.EskannalsoSuperschlüsselgeben,die “unnötigviele”Attributebesitzen. 3.5 EinSchlüsselkandidateinerRelationRistimmerSuperschlüsselderselbenRelationR. Korrekt.EinSchlüsselkandidatistein“minimaler”Superschlüssel,alsoistereinSuperschlüssel. 4 3.6 DieWerteeinesFremdschlüsselseinerRelationRmüsseninnerhalbderRelationRimmereindeutig sein. Falsch.InderDefinitioneinesFremdschlüsselswirddarüberkeineAussagegemacht:EInFremdschlüssel einerRelationRkannbeliebigeAttributevonRumfassen. 3.7 EinPrimärschlüsseleinerRelationRtrittimmerauchalsFremdschlüsselinmindestenseiner RelationinderDatenbankauf(wobeidieAttributnamennichtnotwendigerweisegleichsein müssen). Falsch.InderDefinitioneinesPrimärschlüsselswirdüberFremdschlüsselkeineAussagegemacht.Eskann sein,dasskeineRelationaufTupelderRelationRverweisen. 3.8 Wenn{A,C}SchlüsselkandidatderRelationR({A,B,C})ist,danngilt: -{C}istauchSchlüsselkandidatderRelationR({A,B,C}) Nein.Da{A,C}gemässVoraussetzung“minimal”ist,reicht{C}alleinnicht. -{A,B,C}istauchSchlüsselkandidatderRelationR({A,B,C}). Nein:{A,B,C}istnicht“minimal”. -{A,B,C}isteinSuperschlüsselderRelationR({A,B,C}). Ja:{A,C}undjedeechteÜbermengevon{A,C}sindSuperschlüssel. -{C,A,B}isteinSuperschlüsselderRelationR({A,B,C}). Ja.(DieReihenfolgederAttributespieltkeineRolle.) -{C,A}isteinSuperschlüsselderRelationR({A,B,C}). Ja.(DieReihenfolgederAttributespieltkeineRolle.) 5