Devo risolvere un esercizio di informatica basato sul sql, ecco il testo:
Un'azienda intende effettuare una indagine di mercato su prodotti alimentari presenti nel mercato estero.
Ogni nazione č individuata dal numero di abitanti, mentre di ognuno dei prodotti si conosce sia la quantitą consumata dagli abitanti sia la quantitą prodotta all'interno della nazione (in kg).
Della suddetta realtą, dopo aver condotto le fasi di analisi (con la stesura delle specifiche) e di progettazione concettuale (schema statico e dinamico), realizzare il sistema informativo automatizzato presentando:
la definizione dello schema relazionale del database
l'implementazione dei seguenti servizi espressi nel linguaggio sql:
1. La quantitą consumata per abitante (per ogni prodotto e ordinata per nazione)
2. La quantitą per abitante che viene prodotta all' interno della nazione (per ogni prodotto e ordinata per nazione)
3. La differenza tra quantitą consumata per abitante e quantitą prodotta per abitanta(quantitą importata per abitante ordinata per nazione)
4. La ricerca per prodotto della nazione in cui risulta pił elevata la quantitą importata per abitante.
Io per ora l'ho fatto cosģ:
Entitą:
- Nazioni(CodiceNazioni(PK), Nome, Abitanti);
- Prodotti(CodiceProdotti(PK), Nome, QuantitaConsumata, QuantitąProdotta, Codice(FK));
Associazioni:
Fabbricare
1:N
Create Table Nazioni (
CodiceNazioni char(10) primary key,
Nome char(20) not null,
Abitanti integer not null
);
Create Table Prodotti (
CodiceProdotti char(10) primary key,
Nome char(15) not null,
QuantitaConsumata integer not null,
QuantitąProdotta integer not null,
Codice char(10) not null,
foreign key(Codice) references Nazioni(CodiceNazioni)
);
1:
Select QuantitaConsumata, Count(CodiceProdotti)
From Nazioni, Prodotti
Where Nazioni.CodiceNazioni=Prodotti.Codice
Group by Nazioni.Nome;
2:
Select QuantitaConsumata, QuantitąProdotta
From Nazioni, Prodotti
Where Nazioni.CodiceNazioni=Prodotti.Codice
Group by Nazioni.Nome;
3:
Select (Abitanti-QuantitąProdotta) AS Differenza
From Nazioni, Prodotti
Where Nazioni.CodiceNazioni=Prodotti.Codice AND (Abitanti*QuantitaConsumata)
Group by Nazioni.Nome;
4:
Select Prodotti.Nome, Max((Abitanti*QuantitaConsumata))
From Nazioni, Prodotti
Where Nazioni.CodiceNazioni=Prodotti.Codice AND (Abitanti*QuantitaConsumata);
Qualcuno potrebbe dirmi se č giusto? Se ho sbagliato potrebbe dirmi come fare l'esercizio? Sono un novizio di questo linguaggio![]()
Vi ringrazio in anticipo!!!