PDA

View Full Version : domanda di algebra relazionale


australopiteci
25-01-2006, 22:14
Ragazzi qualcuno mi saprebbe aiutare per quest esercizio?

ho due tabelle: impiegati(matricola, nome, età, stipendio) e relazioni(impiegato,capo)

mi si chiede: trovare le matricoledei capi i cui impiegati hanno tutti uno stipendio > 40


simbologia: § = proiezione, @ = selezione, ok?


questa è la mia risposta: §matricola (@ stipendio > 40 ( (impiegati) JOIN impiegato = matricola (relazioni) ) )


mentre quella delle slides è questa:

§capo ( (relazioni) - §capo ( (relazioni) JOIN impiegato = matricola ( @ stipendio < 40 (impiegati) ) ) )

So che quest ultima è giusta ma vorrei sapere se sia giusta anche la "mia"

ciaoo

rdefalco
26-01-2006, 08:53
La tua sarebbe giusta se alla fine ti tenessi la proiezione solo del campo "capo". Ma non è molto ottimizzata.

Tu effettui prima il join fra impiegato e relazioni ottenendo l'unione di TUTTI gli impiegati con i rispettivi capi. Solo dopo effettui la selezione in base allo stipendio.

La procedura ottimale sarebbe PRIMA filtrare gli impiegati per stipendio, e DOPO associare il capo a quelli risultanti dalla selezione, ottenendo così tabelle intermedie di minore dimensione.

Inoltre la procedura delle slide, se vogliamo essere precisi, mantiene i capi degli impiegati che guadagnano MAGGIORE O UGUALE di 40, e non solo maggiore come hai detto tu nella richiesta.

australopiteci
26-01-2006, 17:20
uhm...

in pratica nelle slides c'è sottolineato: TUTTI

e forse la mia è davvero sbagliata perchè seleziono solo i capi che hanno qualche impiegato con lo stipendio >40 e non tutti gli impiegati..