Kapely, ktere si pujcily nejvice nastroje

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í.
mathemage
Matfyz(ák|ačka) level III
Příspěvky: 130
Registrován: 14. 1. 2011 10:03
Typ studia: Informatika Ph.D.
Kontaktovat uživatele:

Kapely, ktere si pujcily nejvice nastroje

Příspěvek od mathemage »

Ze zk. 19.1.2011 (skup. A - hudebni festival) jsem dostal za 2, i kdyz si myslim, ze to mam opravdu spravne. Snazim se prijit na to, co jsem mohl mit spatne, a mozna je to tento SQL dotaz:

Které kapely si půjčily nejvíc nástrojů?

Kód: Vybrat vše

SELECT kid, MIN(nazev_kapely)        
FROM kapela NATURAL JOIN si_vypujcila
GROUP BY kid                         
HAVING COUNT(*) =                    
  (SELECT MAX(COUNT(*)) FROM vypujcky GROUP BY kid)
Je tento dotaz korektni? Je spravny i syntax? Jde vubec pustit MAX(COUNT(*))? Takova chyba vazne zamrzi, nebot jsem s SQL v zivote nedelal, tak takovehole detaily jazyka moc dobre neznam :(
Carpe Diem!
Jookyn
Matfyz(ák|ačka) level III
Příspěvky: 115
Registrován: 13. 9. 2008 21:42
Typ studia: Informatika Mgr.

Re: Kapely, ktere si pujcily nejvice nastroje

Příspěvek od Jookyn »

mathemage píše:Jde vubec pustit MAX(COUNT(*))?
Nejde to... Tady mi sice přijde, že by to v principu mohlo fungovat, ale obecně nejsou podle mě konstruke typu SUM(COUNT(*)) povolený, protože pak můžou vznikat dotazy, který nedávají smysl. Ale mělo by to jít snad udělat např takhle:

Kód: Vybrat vše

...
HAVING COUNT(*) = 
(SELECT MAX(c) FROM (SELECT COUNT(*) AS c FROM vypujcky GROUP BY kid))
Ale netvrdim, že je tohle nejlepší řešení, nad jinym jsem nepřemejšlel...
mathemage
Matfyz(ák|ačka) level III
Příspěvky: 130
Registrován: 14. 1. 2011 10:03
Typ studia: Informatika Ph.D.
Kontaktovat uživatele:

Re: Kapely, ktere si pujcily nejvice nastroje

Příspěvek od mathemage »

To je k vzteku - to jsem vazne nevedel:( A pritom v tech slidech o tomhle neni ani zminka, vsude se vesele pouziva MAX, MIN, AVG na celou tabulku...
Ani nevim, jak se proti tomuhle muzu obhajit, ale jenom kvuli takovy drobnosti mit horsi o cely stupen je opravdu moc :(
Carpe Diem!
Odpovědět

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