Zkouška 19.1.2011

Drozi at 2011-01-19 20:17:19

Dnešní skupina B:
Supermarket - prodává zboží. To má název, cenu a patří do nějaké kategorie (pečivo, dogerie,...). Pracují tam prodavači - RČ, jméno, datum nástupu a výpovědi, plat. U každého prodeje si uchováváme datum a čas, počet kusů, cenu za kus a prodavače, který ho uskutečnil. Zboží nám dodávají dodavatelé - víme datum a čas dodání, počet kusů a nákupní cenu za kus. Dva dodavatelé můžou dodávat stejné zboží.

SQL:
Kolik oříškových čokolád máme na skladě?
Průměrný plat z desedi prodavačů, kteří u nás stále pracují a prodali nejvíc věcí.
Kterého pečiva se prodalo nejvíc?

Transakce:
T1 T2 T3 T4
RA
____RB
____WA
________WB
___________WC
___________ RB
RC
_____c
c
___________ c
_______ c

A implementace:
B+ strom a kdy použít bitovou mapu.

Případná kravinima nechť korigují kolegové :)

mrwep at 2011-01-20 15:58:39

Ahoj,
přidávám taky oddělení A, podle toho, co si pamatuju:

Hudební festival
1.1. Navrhněte ER pro hudební festival. Na festivalu vystupují skupiny nějakého žánru za předem danou provizi. Skupiny si mohou od organizátorů půjčit různé nástroje za daný poplatek (za daný nástroj). Skupiny hrají písničky podle programu, a pokud mají náladu a publikum si to vyžádá, zahrají přídavek(ky). Každý návštěvník festivalu musí mít lístek, a nárok na kabanos a pivo zdarma. Na festivalu je též ostraha, která může vyhodit problémové návštěvníky a vede si jejich evidenci.
1.2. Převeďte do relační databáze...

  1. SQL dotazy:
    2.1. Které kapely neodehrály žádný přídavek?

    SELECT jmeno FROM kapela WHERE kid NOT IN (SELECT DISTINCT kid FROM odehrane WHERE jak='pridavek')

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

SELECT `jmeno` FROM `kapela` WHERE `kid` IN
(SELECT `kid`, COUNT(*) AS c FROM `vypujcky` GROUP BY `kid`
HAVING c=(SELECT MAX(b) FROM (SELECT `kid`, COUNT(*) AS b FROM `vypujcky` GROUP BY `kid`)))

2.3. Kteří problémoví návštěvníci si nevyzvedli kabanos a pivo?

SELECT `jmeno` FROM `navstevnik` NATURAL JOIN `pripad` WHERE `dostal_kabanos` = false
  1. Transakce - pořád to samé dokola. Precedenční graf, konfliktová uspořadatelnost, zotavitelnost.

4.1. Jaký je rozdíl při zápisu dat stejné nebo různé délky? (asi byl dotaz formulován jinak)
4.2. Jak funguje buffer?

Drozi at 2011-01-20 20:37:12

A nemáte někdo správné řešení pro to B? Moje neprošlo :(