Anteprima
Vedrai una selezione di 1 pagina su 5
Esercizi con soluzione linguaggio SQL e HTML Traccia A2 Pag. 1
1 su 5
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Simulazione esecuzione sequenziale delle istruzioni SQL

Si simuli l'esecuzione sequenziale delle seguenti istruzioni SQL su un ipotetico DBMS (che memorizza esclusivamente istanze legali di una Base di Dati), supponendo che tutte le tabelle coinvolte (PuntoVendita, Offerta, Prodotto) nelle istruzioni siano vuote (N.B. le specifiche di tali tabelle sono riportate in Esercizio 1). Si commenti ciascuna istruzione, evidenziando eventuali errori di violazione dei vincoli di integrità. Infine, si riporti il contenuto delle tabelle al termine della simulazione dell'esecuzione di tutte le istruzioni:

a. INSERT INTO PuntoVendita(PVID, Nome) VALUES (75, 'PV 75')

b. INSERT INTO PuntoVendita(PVID, Nome) VALUES (80, 'PV 80')

c. INSERT INTO Prodotto(PID, Descrizione, PrezzoListino) VALUES (128, 'P128', 99.99)

d. INSERT INTO Prodotto(PID, PrezzoListino) VALUES (129, 129.99)

e. INSERT INTO Prodotto(PID, Descrizione, PrezzoListino) VALUES (128, 'P130', 79.99)

f. INSERT INTO Offerta(ProdID, PVendID) VALUES (128,

  1. g. INSERT INTO Offerta(ProdID, PVendID) VALUES (128, 80)
  2. h. INSERT INTO Offerta(ProdID, PVendID) VALUES (129, 80)
  3. i. INSERT INTO Offerta(ProdID, PVendID, PercSconto) VALUES (128, 76, 24)
  4. j. DELETE FROM Prodotto WHERE PID = 128
  5. k. INSERT INTO Prodotto(PID, Descrizione, PrezzoListino) VALUES (130, 'P130', 79.99)
  6. l. INSERT INTO Offerta(ProdID, PVendID) VALUES (130, 80)
  7. m. INSERT INTO PuntoVendita(PVID, Nome) VALUES (85, NULL)
Prodotto PuntoVendita Offerta
PID Descrizione PrezzoListino PVID Nome ProdID PVendID PercSconto
75 PV 75 129 MiaDescr 129.99 129 80 15
80 PV 80 130 P130 79.99 130 80 15

Vincoli di integrità violati nelle seguenti istruzioni: Prodotto, PuntoVendita Offerta

Per gli Esercizi 3, 4, 5, 6 e 7, si consideri il contenuto delle tabelle e(le cui specifiche sono descritte in Esercizio 1), riportato rispettivamente nelle Figure 1, 2 e 3:

Prodotto PuntoVendita Offerta
PID Descrizione PrezzoListino PVID Nome ProdID PVendID PercSconto
15 Aatb215 119.99 1001 Salerno 1 16

<p>1002</p>


<p>1016</p>


<p>116</p>


<p>180.99</p>


<p>1002</p>


<p>Salerno</p>


<p>2</p>


<p>16</p>


<p>1005</p>


<p>1217</p>


<p>B17vk</p>


<p>215.99</p>


<p>1003</p>


<p>Fisciano</p>


<p>3</p>


<p>16</p>


<p>1006</p>


<p>1518</p>


<p>P1Tmo418</p>


<p>219.00</p>


<p>1004</p>


<p>Baronissi</p>


<p>4</p>


<p>18</p>


<p>1001</p>


<p>2219</p>


<p>QK719a</p>


<p>88.99</p>


<p>1005</p>


<p>Fisciano</p>


<p>5</p>


<p>18</p>


<p>1002</p>


<p>2020</p>


<p>JP2020n</p>


<p>24.99</p>


<p>1006</p>


<p>Baronissi</p>


<p>6</p>


<p>19</p>


<p>1002</p>


<p>1919</p>


<p>1003</p>


<p>2119</p>


<p>1006</p>


<p>2020</p>


<p>1001</p>


<p>8Figura 1 Figura 2 Figura 3l’esecuzione per ciascuna di esseSi formulino le seguenti interrogazioni in linguaggio SQL, simulando eriportando il relativo risultato. N.B. Si utilizzi il contenuto delle tabelle riportato nelle Figure 1, 2 e 3:l’identificativo dei punti vendita per i quali3. Estrarre non vi sono prodotti in offerta.Possibile SoluzioneSELECT PVIDFROM PuntoVenditaWHERE PVID NOT IN (SELECT PVendID FROM Offerta)–Basi di Dati e Sistemi Informativi C.L. in Ingegneria Gestionale– –Appello 16/01/2019 Possibili Soluzioni Pagina 2 di 5dell’InterrogazioneRisultatoPVID10044. Estrarre esclusivamente il nome dei punti vendita per i quali è in offerta il prodotto con identificativopari a</p>

18. Possibile Soluzione ```html

SELECT DISTINCT Nome

FROM PuntoVendita

WHERE PVID IN (SELECT PvendID FROM Offerta WHERE ProdID = 18)

Risultato dell'Interrogazione

Nome

Salerno 1

Salerno 2 la lettera 'a'

5. Estrarre il numero di prodotti ove la descrizione non contiene 'ed' e il prezzo di listino è minore di 120.

Possibile Soluzione

SELECT count(*)

FROM Prodotto

WHERE Descrizione NOT LIKE '%a%' AND PrezzoListino < 120

Risultato dell'Interrogazione

1

6. Estrarre la media dei prezzi di listino relativi ai prodotti che sono in offerta con la percentuale di sconto pari a 20.

Possibile Soluzione

SELECT avg(PrezzoListino)

FROM Prodotto

WHERE PID IN (SELECT ProdID FROM Offerta WHERE PercSconto = 20)

Risultato dell'Interrogazione

153.99

7. Estrarre esclusivamente la descrizione dei prodotti che sono in offerta alla massima percentuale

``` La soluzione proposta per l'interrogazione è la seguente: ```html

SELECT DISTINCT Descrizione

FROM Prodotto

WHERE PID IN (SELECT ProdID

FROM Offerta

WHERE PercSconto = (SELECT max(PercSconto)

FROM Offerta))

``` Il risultato dell'interrogazione è il seguente: ```html

Descrizione

P1Tmo418

``` Questa soluzione è molto simile a quella proposta per l'Esempio 4 [Argomento 6]. NOTA: -Basi di Dati e Sistemi Informativi C.L. in Ingegneria Gestionale- -Appello 16/01/2019 Possibili Soluzioni Pagina 4 di 5
Dettagli
Publisher
A.A. 2020-2021
5 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Generoso00 di informazioni apprese con la frequenza delle lezioni di Basi di dati e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Salerno o del prof Casillo Mario.