Database Aiuto schema e interrogazione relazionale

Stato
Discussione chiusa ad ulteriori risposte.

hack00

Utente Bronze
3 Novembre 2020
20
7
2
24
Qualche anima buona che riesce a svolgere e spiegare queste interrogazioni, ho una verifica a breve e purtroppo non ci ho capito niente?
Qualcuno ci capisce? grazie in anticipo.
 

Allegati

  • ACFrOgB1tNsMXnK0_bUUr8X85lvFPh0bdSBSJ7l76gDdakRrA9yRhCTnRK49YkcfY-xhj_hHQu2EmAOV7IpvoP5T0Qsflc...pdf
    30.3 KB · Visualizzazioni: 14
Chiamare schema relazionale quelle 4 righe è un orrore. In ogni caso devi fare delle semplici SELECT nome_campo FROM nome_tabella WHERE condizione

O al massimo SELECT nomi_campi FROM nome_tabella INNER JOIN nome_tabella ON condizione WHERE condizione

per recuperare i dati indicati nel pdf.
 
Mi sapresti spiegare pe filo e per segno il tutto? purtroppo non ho mai fatto queste cose, grazie
.
 
Ti faccio un esempio, con questo dovresti essere in grado di fare tutto:
Dato lo schema relazionale:
Libreria (Nome, Piva, Indirizzo, Città)
Libro (CodL, Titolo,Editore)
Autore (CodA, Cognome, Nome, Nazionalità)
Scritto (CodA,CodL)
Vendita(Piva,CodL,NumCopie)
1. Trovare i libri che hanno venduto almeno una copia nella libreria “Bettini” di Cesena

Svolgimento:

tabelle interessate: libro, vendita, libreria

cosa dobbiamo selezionare? Il libro quindi:

Select * from Libro ,

Abbiamo delle restrizioni? Si, su quali tabelle? Libreria e Vendita. Quindi vanno unite.

Select * from Libro INNER JOIN ??*

??* = da quale partiamo ad unire? Da quella che ha qualcosa in comune con Libro, dopo quell'altra (p.s la condizione dell'iner join va a controllare le PK delle table)

SELECT * from Libro INNER JOIN Vendita on Libro.CodL = Vendita.CodL INNER JOIN Libreria ON Libreria.Piva = Vendita.Piva WHERE ??*

??* = Adresso la condizione principale:

C'è? Si, che il libro abbia almeno una copia venduta e che la libreria si chiami "Bettini" della città Cesena, quindi:

SELECT * from Libro INNER JOIN Vendita on Libro.CodL = Vendita.CodL INNER JOIN Libreria ON Libreria.Piva = Vendita.Piva WHERE Vendita.NumCopie >= 1 and Libreria.Citta ='Cesena' and Libreria.Nome='Bettini';
 
  • Mi piace
Reazioni: 0xbro
Stato
Discussione chiusa ad ulteriori risposte.