vuoi
o PayPal
tutte le volte che vuoi
Simulazione esecuzione istruzioni SQL
a. INSERT INTO Utente(Username, Nome, Cognome) VALUES ('abc', 'Pietro', 'Neri')
b. INSERT INTO SitoWeb(SID, Tipologia) VALUES (1, 'Portale')
c. INSERT INTO Restrizione(UtenteID, SitoID, DurataRestr)
VALUES ('abc', 1, 15)
DELETE FROM Utente
INSERT INTO Utente(Username, Nome, Cognome) VALUES ('def', 'Giulia', 'Azzurro')
INSERT INTO Utente(Username, Nome, Cognome) VALUES (NULL, 'Giulia', 'Azzurro')
INSERT INTO Utente(Username, Nome, Cognome) VALUES ('jkl', 'Nadia', 'Rosso')
INSERT INTO Restrizione(UtenteID, SitoID, DurataRestr) VALUES ('jkl', 2, 15)
INSERT INTO SitoWeb(SID, Tipologia) VALUES (6, 'Blog')
INSERT INTO Restrizione(UtenteID, SitoID, DurataRestr) VALUES ('jkl', 6, 15)
INSERT INTO SitoWeb(SID) VALUES (3)
INSERT INTO Utente(Username, Nome) VALUES ('ppa', 'Lidia')
DELETE FROM Utente WHERE Username = 'jkl'
Possibili Soluzioni [Parziali]
Utente SitoWeb Restrizione
Username Nome Cognome SID Tipologia UtenteID SitoID DurataRestr
def Giulia Azzurro 1 Portale NULL 1 15
ppa Lidia (Vuoto) 6 Blog NULL 6 15
3 Blog
Vincoli di integrità violati nelle seguenti istruzioni:
- Basi di Dati e Sistemi Informativi C.L. in Ingegneria Gestionale -
- Appello 18/06/2018 Possibili Soluzioni Pagina 2 di 5
Utente, SitoWeb Restrizione
Per gli Esercizi 3, 4, 5, 6 e 7, si consideri il contenuto delle tabelle e (lecui specifiche sono descritte in Esercizio 1), riportato rispettivamente nelle Figure 1, 2 e 3:
UtenteID | Username | Nome | Cognome | SID | Tipologia Utente |
---|---|---|---|---|---|
1 | nick1 | Giorgio | Blu | 1 | Blog |
2 | pav2 | Dario | Verde | 2 | Portale |
3 | nello3 | Aniello | Verde | 3 | Blog |
4 | mario4 | Mario | Mare | 5 | Sito |
5 | alb5 | Alberto | Sole | 6 | Pagina |
6 | giova6 | Giovanni | Spiaggia | 9 | Fotografico |
SitoID | DurataRestr |
---|---|
1 | 20 |
2 | 30 |
3 | 15 |
5 | 3 |
6 | 6 |
9 | 7 |
Figura 1
Figura 2
Figura 3
L'esecuzione per ciascuna di esse
Si 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:
3.
Ecco il testo formattato con i tag HTML:Estrarre la tipologia dei siti Web per cui è vigente almeno una restrizione.
Possibile Soluzione
<SELECT DISTINCT Tipologia>
FROM SitoWeb
WHERE SID IN (SELECT SitoID FROM Restrizione)>
Risultato dell'Interrogazione
Tipologia
Blog
Portale
Sito
Pagina
Fotografico
4. Estrarre il numero di utenti per cui non è vigente alcuna restrizione.
Possibile Soluzione
<SELECT count(*)>
FROM Utente
WHERE Username NOT IN (SELECT UtenteID FROM Restrizione)>
Risultato dell'Interrogazione
1 - Basi di Dati e Sistemi Informativi C.L. in Ingegneria Gestionale
5. Estrarre tutte le informazioni degli utenti ove lo username oppure il cognome finisce con 'a'.
Possibile Soluzione
<SELECT *>
FROM Utente
WHERE Username LIKE 'm%' OR Cognome LIKE '%a'>
Risultato dell'Interrogazione
Username Nome Cognome
giova6 Giovanni Spiaggia
mario4 Mario Mare
6. Estrarre esclusivamente lo username.
Possibile Soluzione
<SELECT Username>
FROM Utente>
degli utenti per i quali sono in vigore esattamente due restrizionirelative a due diversi siti Web.
Possibile Soluzione
SELECT UtenteID
FROM Restrizione
GROUP BY UtenteID
HAVING count(DISTINCT SitoID) = 2
Risultato dell'Interrogazione
UtenteID
alb57
Estrarre esclusivamente il cognome degli utenti per cui vige la restrizione di durata minima.
Possibile Soluzione
SELECT DISTINCT Cognome
FROM Utente
WHERE Username IN (SELECT UtenteID
FROM Restrizione
WHERE DurataRestr = (SELECT min(DurataRestr)
FROM Restrizione))
Risultato dell'Interrogazione
Cognome
Sole
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 18/06/2018 Possibili Soluzioni Pagina 4 di 5