ciao a tutti,
avrei una richiesta urgente da fare. Ho un esame in università lunedì mattina e avrei bisogno che qualcuno mi aiuti a risolvere questo esercizio. E' di vitale importanza, è il mio ultimo esame prima della laurea, non posso non passarlo...

l'esercizio è il seguente:

Sia dato il seguente schema relazionale:
fornisce (codFornitore, parte);
componenti (parte, parteComponente),

relativo ai prodotti forniti ad un'azienda da un insieme di fornitori.
Si assuma che:



1. ogni fornitore sia identificato univocamente da un codice e possa fornire più parti diverse;
2. ogni parte sia identificata univocamente dal nome e possa essere gfornita da più fornitori;
3. ogni parte possa avere più parti componenti;
4. ogni parte possa essere parte componente di più parti.

Definire preliminarmente le chiavi primarie, le eventuali chiavi candidate alternative e le eventuali chiavi esterne delle relazioni date. Successivamente, formulare opportune interrogazioni in sql che permettano di determinare (senza usare l'operatore di divisione e usando solo se necessario le funzioni aggregate):



a. le parti atomiche, ossia le parti prive di parti componenti;
b. le parti che compaiono come parti componenti di altre parti e che possiedono a loro volta delle parti componenti;
c. i fornitori che forniscono almeno una parte e non più di tre parti;
d. i fornitori che forniscono esattamente le stesse parti fornite dal fornitore con codice '14S62';
e. le coppie di fornitori tali che il primo fornisca un sottoinsieme proprio delle parti fornite dal secondo fornitore.


Grazie mille a tutti