Zkouska 26.5. - SQL dotazy, oddeleni s ER modelem pro piraty

Základní kurs podávající průřez problematikou. Jsou popsány tři úrovně pohledu na data. Konceptuální modelování je založeno na ER modelu, databázové modelování se zabývá podrobně teorií relačního modelu dat (algebra, kalkul, základy SQL, algoritmy návrhu relační databáze, normální formy) a principy objektově-relačního modelu. Transakční zpracování a paralelní přístup, algoritmy implementace relačních operací.
beny
Matfyz(ák|ačka) level I
Příspěvky: 14
Registrován: 31. 1. 2008 12:51
Typ studia: Informatika Bc.

Zkouska 26.5. - SQL dotazy, oddeleni s ER modelem pro piraty

Příspěvek od beny »

Ahoj!
Chtel jsem se zeptat lidi, kteri psali zkouskovou pisemku 26.5. a meli oddeleni se somalskymi piraty, jestli by tady nemohli napsat SQL dotazy z druheho prikladu. Tedy dotazy na 1)dvojice rok a prepad, kde prepad je nejvynosnejsim prepadem roku a 2)jmeno ziveho pirata, ktery prepadl nejvetsi pocet americkych lodi.
Diky za jakoukoli odpoved!;-)
Him
Supermatfyz(ák|ačka)
Příspěvky: 400
Registrován: 25. 1. 2008 19:59
Typ studia: Informatika Bc.

Re: Zkouska 26.5. - SQL dotazy, oddeleni s ER modelem pro piraty

Příspěvek od Him »

1] Nejvynosnejsi prepady za jednotliva leta (z hlediska sumy vykupneho)

Kód: Vybrat vše

   SELECT Lod.Nazev, tab1.Datum, Max(suma)
   FROM 
     ( -- zjistim si, kolik ziskali pirati na danem prepadu
       SELECT Prepad.Datum, Prepad.LodID, Sum(SkutecneVykupne) AS suma 
       FROM Prepad NATURAL JOIN UnosOsoby
       WHERE UnosOsoby.JeZajmut = FALSE          -- uz je propusten za vykupne
       GROUP BY Prepad.Datum, Prepad.LodID 
     ) AS tab1, Lod
   WHERE Lod.ID = tab1.LodID 
   GROUP BY GetYear(tab1.datum)
Budu rad za feedback, co na to rikas - je to dobre / spatne :)
Přílohy
shot00031.png
Pracoval jsem na poměrně hodně materiálech pro různé předměty. Pokud Ti něco z toho ušetřilo čas, vyjádři svůj dík v podobě pár satoshi: 1H5JPTrsXie7epAQXbXhMjdgwyLbJ5NHBW ;)
Wideman

Re: Zkouska 26.5. - SQL dotazy, oddeleni s ER modelem pro piraty

Příspěvek od Wideman »

Je to sice silně OT, ale protože jsem zrovna tuhle verzi testu psal, tak jsem to nemohl přejít: http://technet.idnes.cz/v-praze-vznika- ... chnika_nyv Třeba jsme svými ER modely přispěli k tvorbě tohoto systému a ani o tom nevíme. To přece nemůže bejt náhoda. :D
zbytovsky
Matfyz(ák|ačka) level I
Příspěvky: 7
Registrován: 29. 10. 2009 18:12
Typ studia: Informatika Bc.

Re: Zkouska 26.5. - SQL dotazy, oddeleni s ER modelem pro pi

Příspěvek od zbytovsky »

ad 1) tohle by určitě nefungovalo, protože když použijeme GROUP BY xxxx, v SELECT smí být pouze xxx a libovolné agregační funkce.

Na cvičení jsme to tuším řešili (nestandardně) přes LIMIT:

Kód: Vybrat vše

   SELECT Lod.Nazev, Year(tab1.Datum), suma
   FROM
     ( -- zjistim si, kolik ziskali pirati na danem prepadu
       SELECT Prepad.Datum, Prepad.LodID, Sum(SkutecneVykupne) AS suma
       FROM Prepad NATURAL JOIN UnosOsoby
       WHERE UnosOsoby.JeZajmut = FALSE          -- uz je propusten za vykupne
       GROUP BY Prepad.Datum, Prepad.LodID
     ) AS tab1, Lod
   WHERE Lod.ID = tab1.LodID
   GROUP BY Year(tab1.datum)
   ORDER BY suma DESC LIMIT 1
Odpovědět

Zpět na „DBI025 Databázové systémy“