Esercizi sul linguaggio SQL

Appunto inviato da fiordivanilla
/5

Base di Dati "Cinematografia" - Schemi di Relazione - Definizione di un comando SQL per creare una tabella, per incrementare un dato, per inserire dati, per ordinare o cancellare dati (materiale fornito dal docente per prepararsi adeguatamente all'esame scritto) (6 pagine formato pdf)

Si considerino i seguenti schemi di relazione:
CINEMA (Nome, Città, Nposti)
FILM (Codice, Titolo, Regista)
REGISTA (Id, Nome, Cognome, Nazionalità)
OSPITA (Cinema, Film, Data-Inizio, Data-Fine)

Si definisca il comando SQL di creazione della
tabella Film sapendo che
– Titolo non ammette duplicati e non può essere nullo
– La modifica dell’identificatore (Id) di un regista comporta
l’annullamento della chiave esterna dei corrispondenti film
CREATE TABLE film (
Codice integer PRIMARY KEY,
Titolo varchar(50) UNIQUE NOT NULL,
Regista integer REFERENCES regista(id)
ON UPDATE SET NULL

Si definisca il comando SQL per incrementare del
10% il numero di posti del cinema ANTEO
UPDATE cinema SET Nposti = Nposti * 1.1
WHERE Nome= ‘ANTEO’;

Si definisca il comando SQL per inserire i dati
relativi al regista Martin Scorsese (supponendo di
non conoscerne la nazionalità) che è identificato
dal codice 123123
INSERT INTO regista(Id, Nome, Cognome)
VALUES (123123, ‘Martin’,’Scorsese’);

Si definisca il comando SQL che restituisce nome
e cognome dei registi italiani
SELECT nome, cognome
FROM regista
WHERE nazionalità =‘Italia’;

Si definisca il comando SQL che per ogni film
restituisce titolo e regista (nome, cognome)
ordinati per titolo
Soluzione 1:
SELECT titolo, nome, cognome
FROM film INNER JOIN regista ON regista = id
ORDER BY titolo;
Soluzione 2:
SELECT titolo, nome, cognome
FROM film, regista
WHERE regista = id
ORDER BY titolo




.