Basi di Dati e Sistemi Informativi Esercitazione: Il Linguaggio SQL Home page del corso:

Slides:



Advertisements
Presentazioni simili
Microsoft SQL Server 2008 Utilizzo. Creazione DataBase CREATE DATABASE CREATE DATABASE Cinema.
Advertisements

SQL (Standard query language) Istruzioni per la creazione di una tabella: Create table ( tipo, (, [vincoli]) Primary key ( ) CHIVE PRIMARIA Foreign key(
E Windows SharePoint Services 2.0 Ivan Renesto Overview how to use Windows SharePoint Services.
Un DataBase Management System (DBMS) relazionale client/server.
MySQL Esercitazioni. Ripasso Connessione a MySQL. Creazione delle basi di dati e delle tablelle. Inserimento dei dati. Interrogazioni.
Application Code Dato Table Data Base Trigger Code 1° Controllo Procedure Client Side 3° Controllo Integrity Constraint 2° Controllo Event Driven BUSINESS.
SQL: Lezione 2 Esercitazione per il corso Basi di Dati Gabriel Kuper Nataliya Rassadko
Nataliya Rassadko SQL: Lezione 5 Nataliya Rassadko
SQL1 Structured Query Language Data Definition Language Data Manipulation Language Evoluzione Sequel IBM (1974) Standardizzazione ANSI/ISO: SQL-89, SQL-
Sequence. CREARE UNA SEQUENCE CREATE SEQUENCE nome [INCREMENT BY n] [START WITH n] [MAXVALUE n | NOMAXVALUE] [MINVALUE n | NOMINVALUE] [CYCLE | NOCYCLE]
Gestione dati DML Statement. DML – Data Manipultion Language Unoperazione DML viene eseguita quando: aggiungendo nuove righe ad una tabella modificando.
PRODOTTO CARTESIANO Otteniamo un prodotto cartesiano quando: viene omessa la condizione di join una condizione di join non è valida tutte le righe della.
FUNZIONI DI GRUPPO Le funzioni di gruppo operano su un set di record restituendo un risultato per il gruppo. AVG ([DISTINCT|ALL] n) media, ignora i valori.
Constraints.
SQL per la definizione di basi di dati SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di.
Ricerca di una chiave: Search(x, k) if x == nil or k == x.key return x
1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione.
22 maggio 2002 Avvisi: Ultima lezione: mercoledì 29 maggio II Esonero: mercoledì 5 giugno, ore 10:00.
Microsoft Access Maschere.
Fondamenti di Informatica Corsi di Laurea in Ingegneria Gestionale Canale AL ESERCITAZIONE 4 ARGOMENTI: STRINGHE DI CARATTERI.
Università degli studi di Catania
JavaScript Lezione 5 Tipizzazione ed operazioni tra tipi diversi Istruzioni di input.
Corso frutto del progetto Socrates-Comenius 2.1 SEDEC – SCIENCE EDUCATION FOR THE DEVELOPMENT OF EUROPEAN CITIZENSHIP destinatari30 partecipanti insegnanti.
Esercitazione di Basi di Dati Corso di Fondamenti di Informatica Marco Pennacchiotti Tel Ing.dellInformazione,
La Gestione Speciale STRATEGIA VALORE e i nuovi prodotti vita 2008.
Uso delle basi di dati Mauro Mezzini Dipartimento di Scienze della Formazione.
Imprese con non più di 50 dipendenti e non hanno sviluppato un volume d'affari superiore a 10 milioni di euro, avviate all'interno della zfu dal 01/01/2008.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 15 Aprile 2013 Gianluca Durelli – Marco D. Santambrogio –
Presenta lanalisi al Bilancio 2012 di Cattolica Assicurazioni.
Repetita iuvant Le cose ripetute aiutano - M EETING REGIONALE PER GLI U FFICIALI DI GARA E A LLENATORI DI P ESISTICA DEL F RIULI V ENEZIA G IULIAE A LLENATORI.
A. Capitani, F. Librizzi, F. Pratolongo. Gruppo Lavoro O. Di Carlo C. Piancatelli F. Pratolongo C. Vignoli F. Serafini.
Presentazione del sito gruppofrattura.it Riepilogo dei principali servizi offerti: Registrazione gratuita; Archivio pubblicazioni.
Circolo Schermistico Cuneo – C.so IV Novembre, 14 – Cuneo Tel.:
7 / 8 Settembre 2013 APRICA 2013 Campionati Italiani Long Campionati Italiani Staffetta FEDERAZIONE ITALIANA SPORT ORIENTAMENTO COMITATO REGIONALE LOMBARDO.
Sistemi Informativi Avanzati Presentazione Tesina
Relazione di: Rosario Maugeri Francesca Marcellino Oriana Guerreri
Comune di Salice Salentino Provincia di Lecce In collaborazione con Organizza Un Corso di ALFABETIZZAZIONE INFORMATICA GRATUITO per TUTTI i ragazzi di.
Lo sforzo organizzativo, posto in essere, durante questo anno celebrativo del 150° anniversario dell'Unità d'Italia, da tutte le componenti della nostra.
Alcune importanti premesse Senza le quali è inutile andare avanti.
INTERNET Internet è una rete a livello mondiale che permette alle persone di comunicare ed ad accedere a banca dati da qualunque parte del mondo e su qualunque.
GAUDI Carpi 01 aprile Panoramica Visitatori On-line nuovo sito Visite medie quotidiane: 398 Visite medie quotidiane:
IL LAVORO Art. 1 Costituzione Italiana
1 Anagrafe PERSONA(CodFis,Nome,DataNascita, CFMadre,CFPadre) MATRIMONIO(Codice,CFMoglie,CFMarito, Data,NumeroInvitati) TESTIMONI(CodiceMatr,CFTestimone)
Corso di Basi di Dati Il Linguaggio SQL Home page del corso:
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
SUBQUERY Chi ha un salario maggiore di quello di Abel? Occorre scomporre la query in due sotto problemi: MAIN : quali impiegati hanno un salario maggiore.
Dato Table Data Base Application Code 1° Controllo Procedure Client Side 3° Controllo Integrity Constraint Trigger Code 2° Controllo Event Driven BUSINESS.
1 Basi di dati (Sistemi Informativi) Scuola di Dottorato in Scienze Veterinarie per la Salute Animale e la Sicurezza Alimentare a.a Ing. Mauro.
SQL Developer Lanciare sqldeveloper (alias sul desktop) / c:\Oracle\sqldeveloper Associare tutti i tipi di file, se volete Tasto destro sulla spina “connection”
Dynamic SQL.
Basi di Dati e Sistemi Informativi Esercitazione: Il Linguaggio SQL (DDL+DML) Home page del corso:
Progettazione di una base di dati relazionale
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Esercitazione Modello ER 1
COME SI CREA UNA TABELLA CON UNA CHIAVE ESTERNA
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Corso di Basi di Dati Il Linguaggio SQL
Progettazione di una base di dati relazionale
Raccolta ed Analisi dei Requisiti nella Progettazione
Basi di Dati e Sistemi Informativi su Web
Basi di Dati e Sistemi Informativi
Corso Java Esercitazione.
SQL per la modifica di basi di dati
ER Primo esonero Basi DATI 2015
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
APPUNTI SUL LINGUAGGIO C
Condizioni decisionali
Transcript della presentazione:

Basi di Dati e Sistemi Informativi Esercitazione: Il Linguaggio SQL Home page del corso:

Esercizio 1 Scrivere il codice SQL dello schema CodiceAutoreConferenzaAnnoFormatoPagine ARTICOLI Autore deve essere sempre definito. Conferenza e una stringa di lunghezza max 8. Formato e una stringa di lunghezza 3. Il numero di pagine deve essere sempre maggiore di 0, nel caso di omissione si assume pari ad 1.

Esercizio 1 CREATE TABLE ARTICOLI ( CODICE SMALLINT PRIMARY KEY, AUTORE VARCHAR(20) NOT NULL, CONFERENZA CHAR(8), FORMATO CHAR(3), ANNO DATE, PAGINE SMALLINT DEFAULT 1 CHECK (PAGINE>1) );

Esercizio 1 Scrivere il codice SQL dello schema NomeDataOrganizzatoreNumPartecipanti CONFERENZE Vincolo di integrita: ARTICOLO.{Conferenza, Data} CONFERENZA.{Nome, Data} Rimuovendo una conferenza da CONFERENZE, vengono rimossi anche gli articoli corrispondenti

Esercizio 1 CREATE TABLE CONFERENZE ( NOME VARCHAR(8), DATA DATE, ORGANIZZATORE VARCHAR(20), NUMPARTECIPANTI INTEGER CHECK (NUMPARTECIPANTI>0), PRIMARY KEY(NOME,DATA) );

Esercizio 1 CREATE TABLE ARTICOLI ( CODICE SMALLINT PRIMARY KEY, AUTORE VARCHAR(20) NOT NULL, CONFERENZA CHAR(8), FORMATO CHAR(3), DATA DATE, PAGINE SMALLINT DEFAULT 1 CHECK (PAGINE>1) FOREIGN KEY (CONFERENZA,DATA) REFERENCES CONFERENZE(NOME, DATA) ON DELETE CASCADE );

Esercizio 1 Scrivere il codice SQL dello schema NomeConfDataConfNomeCognomeRuolo PARTECIPANTE Vincolo di integrita: PARTECIPANTE.{NomeConf, DataConf} CONFERENZA.{Nome, Data} Ogni aggiornamento di {Nome, Data} nella relazione CONFERENZA viene propagato anche alla relazione PARTECIPANTE.

Esercizio 1 CREATE TABLE PARTECIPANTE ( NOMECONF CHAR(8), DATACONF DATE, NOME VARCHAR(20), COGNOME VARCHAR(30), RUOLO CHARACTER(3), PRIMARY KEY (NOMECONF,DATACONF, NOME, COGNOME) FOREIGN KEY (NOMECONF,DATACONF) REFERENCES CONFERENZE(NOME, DATA) ON UPDATE CASCADE );

Esercizio 2 Dato il seguente schema: Atleta(Codice, Nome, Cognome, DataNascita, Societa) Gara(CodiceGara, Disciplina, Data, CodiceVincitore) Partecipazione(CodiceGara, CodiceAtleta) Societa(Nome, Sede, Anno, NumeroTrofei) Scrivere la query SQL che determina: 1. Le righe della tabella ATLETA che si riferiscono ad atleti il cui nome inizia per M oppure non e specificato.

Esercizio 2 Dato il seguente schema: Atleta(Codice, Nome, Cognome, DataNascita, Societa) Gara(CodiceGara, Disciplina, Data, CodiceVincitore) Partecipazione(CodiceGara, CodiceAtleta) Societa(Nome, Sede, Anno, NumeroTrofei) Scrivere la query SQL che determina: 2. Tutti i codici delle gare di Atletica cui partecipano atleti della societa Borgorosso.

Esercizio 2 Dato il seguente schema: Atleta(Codice, Nome, Cognome, DataNascita, Societa) Gara(CodiceGara, Disciplina, Data, CodiceVincitore) Partecipazione(CodiceGara, CodiceAtleta) Societa(Nome, Sede, Anno, NumeroTrofei) Scrivere la query SQL che determina: 3. Tutti i nomi/cognomi degli atleti che partecipano ad almeno due gare.

Esercizio 2 Dato il seguente schema: Atleta(Codice, Nome, Cognome, DataNascita, Societa) Gara(CodiceGara, Disciplina, Data, CodiceVincitore) Partecipazione(CodiceGara, CodiceAtleta) Societa(Nome, Sede, Anno, NumeroTrofei) Scrivere la query SQL che determina: 4. Il numero totale di Discipline cui ha partecipato latleta 234 nella Gara identificata dal codice 12.

Esercizio 2 Dato il seguente schema: Atleta(Codice, Nome, Cognome, DataNascita, Societa) Gara(CodiceGara, Disciplina, Data, CodiceVincitore) Partecipazione(CodiceGara, CodiceAtleta) Societa(Nome, Sede, Anno, NumeroTrofei) Scrivere la query SQL che determina: 5. Per ogni societa, il numero totale di gare vinte.

Esercizio 2 Dato il seguente schema: Atleta(Codice, Nome, Cognome, DataNascita, Societa) Gara(CodiceGara, Disciplina, Data, CodiceVincitore) Partecipazione(CodiceGara, CodiceAtleta) Societa(Nome, Sede, Anno, NumeroTrofei, Presidente) Scrivere la query SQL che determina: 6. Il nome dei presidenti di societa che hanno vinto piu di 4 gare svolte in data 10/11/2012.

Esercizio 3 Dato il seguente schema: Atleta(Codice, Nome, Cognome, DataNascita, Societa) Allenatore(Codice, Nome, Cognome, Profilo, Societa) Preparazione(CodiceAtleta, CodiceAllenatore) Societa(Nome, Sede, Anno, NumeroTrofei, Presidente) Sportivi(Nome, Cognome, Societa) Scrivere la query SQL che: 1. Popola la tabella Sportivi(Nome, Cognome, Societa) come insieme di tutti gli atleti ed allenatori presenti nello schema.

Esercizio 3 Dato il seguente schema: Atleta(Codice, Nome, Cognome, DataNascita, Societa) Allenatore(Codice, Nome, Cognome, Profilo, Societa) Preparazione(CodiceAtleta, CodiceAllenatore) Societa(Nome, Sede, Anno, NumeroTrofei, Presidente) Scrivere la query SQL che: 2. Aggiorna i dati degli Atleti nati in data 10/11/2012, settando il nuovo valore della societa a Polisportiva Rossi.

Esercizio 3 Dato il seguente schema: Atleta(Codice, Nome, Cognome, DataNascita, Societa) Allenatore(Codice, Nome, Cognome, Profilo, Societa) Preparazione(CodiceAtleta, CodiceAllenatore) Societa(Nome, Sede, Anno, NumeroTrofei, Presidente) Scrivere la query SQL che: 3. Rimuove tutti gli allenatori la cui societa di appartenenza non e specificata.

Esercizio 4 Dato il seguente schema: Persona(Nome, DataNascita, CittaNascita, CodiceFiscale) Discendenza(Figlio, Padre) Matrimonio (Marito, Moglie, Citta, Data) Scrivere la query SQL che determina: 1. Il numero di persone nate a Bologna nellanno 1985.

Esercizio 4 Dato il seguente schema: Persona(Nome, AnnoNascita, CittaNascita, CodiceFiscale) Discendenza(Figlio, Padre) Matrimonio (Marito, Moglie, Citta, Anno) Scrivere la query SQL che determina: 2. Il totale di matrimoni svolti ogni anno a Bologna.

Esercizio 4 Dato il seguente schema: Persona(Nome, AnnoNascita, CittaNascita, CodiceFiscale) Discendenza(Figlio, Padre) Matrimonio (Marito, Moglie, Citta, Anno) Scrivere la query SQL che determina: 3. Il numero di persone che si chiamano Michele e non hanno figli.

Esercizio 5 Dato il seguente schema: FILM (CodFilm, Titolo, AnnoProduzione, Nazionalità, Regista, Genere) PROIEZIONI (CodProiezione, CodFilm, CodSala, Incasso, DataProiezione) SALE (CodSala, Posti, Nome, Città) Scrivere la query SQL che determina: 1. Per ogni citta, il numero di sale con piu di 60 posti.

Esercizio 5 Dato il seguente schema: FILM (CodFilm, Titolo, AnnoProduzione, Nazionalità, Regista, Genere) PROIEZIONI (CodProiezione, CodFilm, CodSala, Incasso, DataProiezione) SALE (CodSala, Posti, Nome, Città) Scrivere la query SQL che determina: 2. Il numero totale dei posti dei cinema di Bologna.

Esercizio 5 Dato il seguente schema: FILM (CodFilm, Titolo, AnnoProduzione, Nazionalità, Regista, Genere) PROIEZIONI (CodProiezione, CodFilm, CodSala, Incasso, DataProiezione) SALE (CodSala, Posti, Nome, Città) Scrivere la query SQL che determina: 3. Per ogni regista, la somma totale degli incassi totalizzati dai suoi film.

Esercizio 5 Dato il seguente schema: FILM (CodFilm, Titolo, AnnoProduzione, Nazionalità, Regista, Genere) PROIEZIONI (CodProiezione, CodFilm, CodSala, Incasso, DataProiezione) SALE (CodSala, Posti, Nome, Città) Scrivere la query SQL che determina: 4. Per ogni citta, gli incassi di film Italiani proietattati in data 10/11/2012.

Esercizio 5 Dato il seguente schema: AEROPORTO(Citta, Nazione, NumPiste) VOLO(IdVolo, GiornoSett, CittaPart, CittaArr, TipoAereo, OraPartenza, OraArrivo) AEREO(TipoAereo, NumPasseggeri, QtaMerci) Scrivere la query SQL che determina: 1. Le citta con un aeroporto di cui non e noto il numero di piste.

Esercizio 5 Dato il seguente schema: AEROPORTO(Citta, Nazione, NumPiste) VOLO(IdVolo, GiornoSett, CittaPart, CittaArr, TipoAereo, OraPartenza, OraArrivo) AEREO(TipoAereo, NumPasseggeri, QtaMerci) Scrivere la query SQL che determina: 2. Le nazioni da cui parte ed arriva il volo con codice AZ1343.

Esercizio 5 Dato il seguente schema: AEROPORTO(Citta, Nazione, NumPiste) VOLO(IdVolo, GiornoSett, CittaPart, CittaArr, TipoAereo, OraPartenza, OraArrivo) AEREO(TipoAereo, NumPasseggeri, QtaMerci) Scrivere la query SQL che determina: 3. I tipi di aereo usati nei voli che partono da Torino.

Esercizio 5 Dato il seguente schema: AEROPORTO(Citta, Nazione, NumPiste) VOLO(IdVolo, GiornoSett, CittaPart, CittaArr, TipoAereo, OraPartenza, OraArrivo) AEREO(TipoAereo, NumPasseggeri, QtaMerci) Scrivere la query SQL che determina: 4. Il numero di voli internazionali che partono da Napoli.

Esercizio 5 Dato il seguente schema: AEROPORTO(Citta, Nazione, NumPiste) VOLO(IdVolo, GiornoSett, CittaPart, CittaArr, TipoAereo, OraPartenza, OraArrivo) AEREO(TipoAereo, NumPasseggeri, QtaMerci) Scrivere la query SQL che determina: 5. La quantita totale di merci trasportata da aerei che partono ogni giovedi da Napoli e diretti in aeroporti italiani.

Esercizio 5 Dato il seguente schema: AEROPORTO(Citta, Nazione, NumPiste) VOLO(IdVolo, GiornoSett, CittaPart, CittaArr, TipoAereo, OraPartenza, OraArrivo) AEREO(TipoAereo, NumPasseggeri, QtaMerci) Scrivere la query SQL che determina: 6. Le citta francesi da cui partono piu di venti voli alla settimana diretti per lItalia.

Esercizio 5 Dato il seguente schema: AEROPORTO(Citta, Nazione, NumPiste) VOLO(IdVolo, GiornoSett, CittaPart, CittaArr, TipoAereo, OraPartenza, OraArrivo) AEREO(TipoAereo, NumPasseggeri, QtaMerci) Scrivere la query SQL che determina: 6. Le citta servite dallaereo con numero minimo di passeggeri.

Esercizio 5 Dato il seguente schema: AEROPORTO(Citta, Nazione, NumPiste) VOLO(IdVolo, GiornoSett, CittaPart, CittaArr, TipoAereo, OraPartenza, OraArrivo) AEREO(TipoAereo, NumPasseggeri, QtaMerci) Scrivere la query SQL che determina: 7. Il massimo numero di passeggeri che possono arrivare dalla Francia in Italia il giovedi.

Esercizio 6 Dato il seguente schema: NEGOZI(IdNegozio, Nome, Citta) PRODOTTI(CodProdotto, NomeProdotto, Marca) LISTINO(Negozio, CodProdotto, Prezzo) FORNITORE(Codice, Nome, Cognome, Sede) RIFORNIMENTO(CodiceFornitore,Negozio) Scrivere la query SQL che determina: 1. Lid dei negozi che vendono il prodotto con codice 123 ad un prezzo superiore alla media (calcolata sui listini di tutti i negozi).

Esercizio 6 Dato il seguente schema: NEGOZI(IdNegozio, Nome, Citta) PRODOTTI(CodProdotto, NomeProdotto, Marca) LISTINO(Negozio, CodProdotto, Prezzo) FORNITORE(Codice, Nome, Cognome, Sede) RIFORNIMENTO(CodiceFornitore,Negozio) Scrivere la query SQL che determina: 2. Il codice dei prodotti venduti in una sola citta.

Esercizio 6 Dato il seguente schema: NEGOZI(IdNegozio, Nome, Citta) PRODOTTI(CodProdotto, NomeProdotto, Marca) LISTINO(Negozio, CodProdotto, Prezzo) FORNITORE(Codice, Nome, Cognome, Sede) RIFORNIMENTO(CodiceFornitore,Negozio) Scrivere la query SQL che determina: 3. La citta in cui viene venduto al prezzo + basso il prodotto con codice 123.

Esercizio 6 Dato il seguente schema: NEGOZI(IdNegozio, Nome, Citta) PRODOTTI(CodProdotto, NomeProdotto, Marca) LISTINO(Negozio, CodProdotto, Prezzo) FORNITORE(Codice, Nome, Cognome, Sede) RIFORNIMENTO(CodiceFornitore,Negozio) Scrivere la query SQL che determina: 4. Nome/Cognome dei fornitori che NON riforniscono alcun negozio di Bologna.

Esercizio 7 Dato il seguente schema: STADIO(Nome, Citta, Capienza) INCONTRO(NomeStadio, Data, Ora, Squadra1, Squadra2) NAZIONALE(Nazione, Continente, Livello) Scrivere la query SQL che determina: 1. La citta/le citta in cui si trova lo stadio in cui la squadra inglese gioca il maggior numero di partite.

Esercizio 7 Dato il seguente schema: STADIO(Nome, Citta, Capienza) INCONTRO(NomeStadio, Data, Ora, Squadra1, Squadra2) NAZIONALE(Nazione, Continente, Livello) Scrivere la query SQL che determina: 2. I nomi degli stadi in cui non gioca nessuna squadra europea.

Esercizio 7 Dato il seguente schema: STADIO(Nome, Citta, Capienza) INCONTRO(NomeStadio, Data, Ora, Squadra1, Squadra2) NAZIONALE(Nazione, Continente, Livello) Scrivere la query SQL che determina: 3. La capienza complessiva degli stadi in cui gioca una nazione europea.

Esercizio 7 Dato il seguente schema: STADIO(Nome, Citta, Capienza) INCONTRO(NomeStadio, Data, Ora, Squadra1, Squadra2) NAZIONALE(Nazione, Continente, Livello) Scrivere la query SQL che determina: 4. I nomi delle squadre che incontrano solo squadre dello stesso livello.

Esercizio 8 Dato il seguente schema: PROFESSORE(Codice, Nome, Cognome, Dipartimento, Qualifica, Stipendio) CORSO(CodiceCorso, CodiceProf, OreCorso) 0. Costruire il codice SQL dello schema, definendo i vincoli di chiave di ciascuna tabella e gli eventuali vincoli di integrita inter-relazionali esistenti. -Definire un dominio per CodiceCorso come: stringa, lunghezza 6 caratteri, la stringa deve iniziare per C e terminare per 00.

Esercizio 8 Dato il seguente schema: PROFESSORE(Codice, Nome, Cognome, Dipartimento, Qualifica, Stipendio) CORSO(CodiceCorso, CodiceProf, OreCorso) 0. Costruire il codice SQL dello schema, definendo i vincoli di chiave di ciascuna tabella e gli eventuali vincoli di integrita inter-relazionali esistenti. -Ogni aggiornamento del CodiceCorso della tabella CORSO deve essere propagato anche allattributo Codice della tabella PROFESSORE.

Esercizio 8 Dato il seguente schema: PROFESSORE(Codice, Nome, Cognome, Dipartimento, Qualifica, Stipendio) CORSO(CodiceCorso, CodiceProf, OreCorso) Definire il seguente vincolo sullo schema: 1. Ogni dipartimento deve avere almeno 30 professori, e lo stipendio medio in ogni dipartimento deve essere inferiore a euro.

Esercizio 8 Dato il seguente schema: PROFESSORE(Codice, Nome, Cognome, Dipartimento, Qualifica, Stipendio) CORSO(CodiceCorso, CodiceProf, OreCorso) Definire il seguente vincolo sullo schema: 2. I professori ordinari dovrebbero insegnare per almeno 120 ore, mentre i ricercatori non dovrebbero superare le 60 ore di lezione.

Esercizio 8 Dato il seguente schema: PROFESSORE(Codice, Nome, Cognome, Dipartimento, Qualifica, Stipendio) CORSO(CodiceCorso, CodiceProf, OreCorso) Definire il seguente vincolo sullo schema: 3. Ogni volta che si rimuove una riga dalla tabella PROFESSORI, se il totale dei Professori diventa minore di 20 per il dipartimento di Informatica, devono essere rimossi tutti i CORSI tenuti da professori di Informatica.

Esercizio 8 Dato il seguente schema: PROFESSORE(Codice, Nome, Cognome, Dipartimento, Qualifica, Stipendio) CORSO(CodiceCorso, CodiceProf, OreCorso) Definire il seguente vincolo sullo schema: 4. Definire una vista DIPARTIMENTIARISCHIO(Dipartimento, MonteOre), definita come linsieme dei dipartimenti in cui il totale delle ore di lezione svolte da docenti di quel dipartimento sia inferiore a 400.

Esercizio 8 Dato il seguente schema: ATLETA(Nome, Nazione, Eta) PARTECIPAZIONE(NomeAtleta, NomeGara, Piazzamento) GARA(Nome, Nazione) Scrivere la query SQL che determina: 1. Il nome degli atleti che hanno gareggiato solo nella propria nazione.

Esercizio 8 Dato il seguente schema: ATLETA(Nome, Nazione, Eta) PARTECIPAZIONE(NomeAtleta, NomeGara, Piazzamento) GARA(Nome, Nazione) Scrivere la query SQL che determina: 2. Il nome degli atleti che provengono da una nazione in cui non si svolge alcuna gara.

Esercizio 8 Dato il seguente schema: ATLETA(Nome, Nazione, Eta) PARTECIPAZIONE(NomeAtleta, NomeGara, Piazzamento) GARA(Nome, Nazione) Scrivere la query SQL che determina: 3. Il nome degli atleti che hanno preso parte a tutte le gare svolte in Francia.