Sei sulla pagina 1di 3

- ---------------------------------------------------------------------

--
-- Laboratorio di Sistemi Informativi e Basi di Dati
-- Lezione 3: INSERT/UPDATE/DELETE
--
-- ---------------------------------------------------------------------

-- 1) Creare le seguenti tabelle SQL:


-- FILM:
-- CODICE: numero intero, chiave primaria della tabella
-- NOME: stringa di lunghezza massima 100 caratteri, non puo'
contenere valori nulli
-- ANNO: numero intero
-- PUNTEGGIO: numero decimale
-- [VINCOLI]:
-- la colonna ANNO deve contere valori compresi tra 1900 e 2100
(inclusi)
-- la colonna PUNTEGGIO deve contenere valori compresi tra 0.1 e
10.0 (inclusi)

-- REGISTA:
-- CODICE: codice intero, chiave primaria della tabella
-- NOME: stringa di lunghezza massima (100 caratteri)
-- DATA_DI_NASCITA: campo di tipo data

-- DIRIGE:
-- CODICE_FILM: numero intero
-- CODICE_REGISTA: numero intero
-- ANNO: numero intero
-- [VINCOLI]
-- LA COPPIA CODICE_FILM, CODICE_REGISTA e' chiave primaria
della relazione
-- CODICE_FILM referenzia la tabell FILM
-- CODICE_REGISTA referenzia la tabella REGISTA

-- -----------------------------------------------------------------------------
-- 2) Inserire le seguenti tuple nelle tabelle create:
-- Inserire nella tabella dei FILM le seguenti tuple:
-- CODICE / NOME ANNO / PUNTEGGIO
-- 1 / The Shawshank Redemption/ 1994 / 9.2
-- 2 / The Godfather / 1971 / 9.2
-- 3 / The Godfather: Part II / 1974 / 9.0
-- 4 / The Dark Knight 2008 / 9.0
-- 5 / 12 Angry Men 1957 / 8.9
-- 6 / Schindler's List / 1993 / 8.9
-- 7 / The Lord of the Rings: The Return of the Knight/
2003 / 8.9
-- 8 / Pulp Fiction / 1994 / 8.9
-- 9 / The Good, the Bad and the Ugly / 1966 /
8.8
-- 10 / Fight Club 1999 /
8.8
-- 11 / NULL / 2001 /
8.8
-- 12 / Santa Claus / 1898 /
NULL
-- 12 / Inception / 2010 /
8.7

-- ----------------------------------------------------------------------
-- Inserire nella tabella dei registi i seguenti valori:
-- CODICE / NOME / DATA DI
NASCITA
-- 1 / Steven Spielberg / 1946-12-18
-- 2 / Martin Scorsese / 1942-11-17
-- 3 / Quentin Tarantino / 1963-03-27
-- 4 / Alfred Hitchcock / 1899-04-29
-- 5 / Stanleu Kubrick / 1928-03-07
-- 6 / Orson Welles / 1915-09-06
-- 7 / Francis Ford Coppola / 1939-04-07
-- 8 / Christopher Nolan / 1970-07-30
-- 9 / Woody Allan / 1935-12-01
-- 10 / Federico Fellini / 1920-01-20
-- 11 / Sergio Leone / 1929-04-30
-- 12 / NULL / NULL
-- NULL / Charlie Chaplin / NULL

-- ----------------------------------------------------------------------
-- Inserire nella tabela DIRIGE le seguenti tuple:
-- CODICE FILM / CODICE REGISTA / ANNO
-- 2 / 7 / 1972
-- 3 / 7 / 1974
-- 4 / 8 / 2008
-- 6 / 1 / 1993
-- 2 / 7 / 1972
-- NULL / 1 / 1990
-- 12 / 1 / 1990

-- ----------------------------------------------------------------------
-- 3) Creare la tabella FILM1 con la stessa struttura della tabella FILM (stesse
colonne) e inserire nella tabella FILM1 tutti i film con punteggio maggiore o
uguale a 9
-- Inserire nella tabella FILM1 tutte le tuple presenti nella tabella FILM con
punteggio minore di 9
-- 4) Eseguire le seguenti modifiche sui dati del database
-- Aggiornare il punteggio dei film impostandolo al valore 0.1 per tutte le
tuple per cui il punteggio non e' specificato

-- Aggiornare l'anno del film 'The Godfather' al valore 1972.

-- Aggiornare la tabella dei registi impostando il valore della colonna


NOME a 'non specificato' per tutte le tuple che contengono valori null (per la
colonna NOME)
-- Cancellare tutti i film con punteggio inferiore a 9

-- Aggiornare il codice del film "2" impostando il CODICE=20;

-- Modificare il vincolo di FOREIGN KEY impostando una politica di CASCADE


sulle modifiche della tabella referenziata.
-- Nota: e' necessario prima cancellare e poi ricreare il vincolo
di FK;

-- Rieseguire il comando sopra

-- Cancellare tutti i film con punteggio inferiore a 8.9

-- Cancellare tutti i registi nati tra il 1930 e 1935 (inclusi)

-- Cancellare tutti i dati della tabella FILM1

Potrebbero piacerti anche