GESTIONE ESAMI di STATO
|
|
|
- Pasquale Poli
- 9 anni fa
- Visualizzazioni
Transcript
1 GESTIONE ESAMI di STATO Si vogliono gestire, con una base di dati, le informazioni relative ai risultati delle prove, riguardanti l'esame di stato, sostenute da un classe di alunni. Gli elementi caratterizzanti il problema sono : gli alunni e le prove (prima prova scritta, seconda prova scritta, terza prova scritta e orale). Per ottenere i risultati definitivi occorre tener presente anche il credito scolastico per ciascun alunno. Considerato il problema proposto si realizzi: uno schema concettuale della base di dati; uno schema logico della base di dati; la definizione delle relazioni della base di dati in linguaggio SQL. Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 1
2 Schema concettuale della base di dati Tipi di entità Le entità che possono essere individuate per risolvere il problema sono : Prova Alunno contiene l elenco delle prove d esame (prima, seconda, terza, orale); contiene l elenco anagrafico degli alunni che sostengono l esame; Attributi Tipo di entità Prova Alunno Sistema informativo Gestione Esami di Stato Attributi idprova, descrizione; idalunno, cognome, nome, data di nascita, crediti; Relazioni fra le entità Le associazioni tra i tipi di entità nel modello dei dati sono individuate nel seguente Modello Entità/Relazioni (E/R) : ALUNNO Esito PROVA Voto Tra l entità Alunno e l entità Prova esiste un associazione molti-a-molti in quanto un alunno deve sostenere tutte le prove d esame e ciascuna prova d esame deve essere sostenuta da tutti gli alunni. Nel modello E/R, inoltre, sono stati indicati, oltre ai nomi delle entità, l opzionalità od obbligatorietà delle associazioni (indicate rispettivamente con linea tratteggiata o continua). Il modello viene verificato utilizzando le regole di lettura : ogni alunno deve sostenere tutte le prove d esame e ogni prova deve essere sostenuta da tutti gli alunni. Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 2
3 Schema logico della base di dati Nello schema E/R precedente si può osservare che esiste una relazione molti-a-molti (N:N) tra i tipi di entità Alunno e Prova. Applicando il processo di normalizzazione (definito dalle forme normali) si deve inserire una entità ausiliaria (Esito) che trasforma la relazione molti-a-molti in due relazioni : uno-a-molti (1:N) tra Alunno e Esito, e molti-a-uno (N:1) tra Esito e Prova. Applicando le regole di corrispondenza tra il modello E/R ed il modello Relazionale si passa dal precedente schema concettuale al modello logico che viene descritto sia nella forma testuale che in quella grafica. Rappresentazione testuale dello schema logico : Nella rappresentazione testuale si elencano le tabelle (indicando per ciascuna i campi) che rappresentano le entità dello schema concettuale e le tabelle che rappresentano le eventuali relazioni molti-a-molti, introducendo, inoltre, le chiave esterne per rappresentare le associazioni (le chiavi primarie sono sottolineate, le chiavi esterne sono in corsivo). Si elencano di seguito le tabelle che rappresentano le entità dello schema concettuale : tbprove (idprova, prova) tbalunni (idalunno, cognome, nome, datanascita, crediti) tbesiti (ksalunno, ksprova, voto) Per realizzare l associazione molti-a-molti fra l entità Alunno e l entità Prova si introduce una terza entità Esito, che, oltre ad attributi propri dell associazione (voto) ha, come attributi, la chiave esterna ksalunno associata alla chiave primaria idalunno dell entità Alunno e la chiave esterna ksprova associata alla chiave primaria idprova dell entità Prova. Rappresentazione grafica dello schema logico : La rappresentazione grafica dello schema logico relativo al sistema informativo per la gestione degli Esami di Stato è il seguente : Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 3
4 Definizione delle Tabelle Nel definire le tabelle e la struttura delle stesse, è consigliabile elencarle partendo dalle tabelle che non presentano chiavi esterne. In successione si definiscono le tabelle le cui chiavi primarie sono utilizzate da altre tabelle come chiavi esterne. Nel prospetto seguente, per es., si definiscono prima le tabelle tbprove e tbalunni e successivamente la tabella tbesiti in quanto quest ultima ha, fra gli attributi, un campo definito come chiave esterna alla tabella tbprove ed un campo definito come chiave esterna alla tabella tbalunni (l insieme di questi due campi formano la chiave primaria). Tabella Nome campo Chiave Tipo dati Dim. Dec. Null Descrizione tbprove idprova Primaria Numerico 4 Autoincremento prova Testo 10 Vincolo : valori unici tbalunni idalunno Primaria Numerico 4 Autoincremento cognome Testo 20 nome Testo 20 datanascita Data/ora 10 crediti Numerico 2 totale credito scolastico tbesiti ksalunno Primaria Numerico 4 Integrità referenziale con idalunno della tabella tbalunni ksprova Primaria Numerico 4 Integrità referenziale con idprova della tabella tbprove voto Numerico 2 Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 4
5 Definizione delle relazioni della base di dati in SQL Lo schema logico relazionale precedente (tabelle, relazione ed applicazione dei vincoli di integrità dei dati e referenziale) può essere creato con le seguenti istruzioni SQL (proposte in versione per ACCESS e MYSQL. ACCESS CREATE TABLE tbprove ( idprova Counter PRIMARY KEY, prova Char(10) NOT NULL UNIQUE); CREATE TABLE tbalunni ( idalunno Counter PRIMARY KEY, cognome Char(20) NOT NULL nome Char(20) NOT NULL datanascita Datetime, crediti short NOT NULL); CREATE TABLE tbesiti ( ksalunno Long NOT NULL, ksprova Long NOT NULL, voto short NOT NULL, PRIMARY KEY (ksalunno, ksprova), FOREIGN KEY(ksalunno) REFERENCES tbalunni(idalunno), FOREIGN KEY(ksprova) REFERENCES tbprove(idprova)); MySQL CREATE TABLE tbprove ( idprova int(4) AUTO_INCREMENT PRIMARY KEY, prova varchar(10) NOT NULL UNIQUE) TYPE=MyISAM; CREATE TABLE tbalunni ( idalunno int(4) AUTO_INCREMENT PRIMARY KEY, cognome varchar(20) NOT NULL, nome varchar(20) NOT NULL, datanascita date NOT NULL, crediti tinyint NOT NULL) TYPE=MyISAM; CREATE TABLE tbesiti ( ksalunno int(4) NOT NULL, ksprova int(4) NOT NULL, voto tinyint NOT NULL, PRIMARY KEY (ksalunno,ksprova)) TYPE=MyISAM; Nota : le istruzioni proposte per MySQL sono relative all uso di tabelle tipo MyISAM che non supportano l integrità referenziale definita con FOREIGN KEY. Il tipo di tabella InnoDB, invece, supporta la FOREIGN KEY similmente ad ACCESS. Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 5
6 OSSERVAZIONI SULLE QUERY PROPOSTE Query n. 4) Risultato dell esame con l indicazione, per ogni alunno (attenzione alle omonimie), del punteggio complessivo delle prove sostenute, del credito scolastico e della relativa somma : SELECT CONCAT(cognome,' ', nome) AS Alunno, DATE_FORMAT(datanascita,'%d-%m-%Y') AS data_nascita, SUM(voto) AS Punteggio_Prove, crediti, SUM(voto) + crediti AS Punteggio_Esame FROM tbalunni, tbesiti WHERE idalunno=ksalunno GROUP BY idalunno,cognome,nome,datanascita,crediti ORDER BY cognome,nome,datanascita; Alunno data_nascita Punteggio_Prove crediti Punteggio_Esame BIANCHI ANGELO DE ANGELIS CESARE DE PAOLIS ANDREA FORNACI ANTONIO FRANCO CESARE ROSSI MARIO ROSSI MARIO SOTTOMANO MARCO VERDI VITTORIO VERDI VITTORIO Nota : nella target list il nome di una colonna attribuito mediante la clausola AS non può essere utilizzato anche come parametro in ulteriori calcoli. Il Punteggio_Esame, per esempio, non può, come in Access, essere ottenuto nel seguente modo : Punteggio_Prove + crediti AS Punteggio_Esame Gestione delle omonimie : nella GROUP BY, oltre ai campi cognome, nome, datanascita e crediti che sono inseriti perché devono essere visualizzati, è stato inserito anche il campo idalunno. L inserimento di questo campo (che rappresenta la chiave primaria) si rende necessario per poter essere sicuri di distinguere un alunno da un altro e, quindi, di non raggruppare dati che appartengono ad alunni diversi ma con lo stesso nome e cognome. Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 6
7 Se nella GROUP BY indichiamo solo il cognome e nome : GROUP BY cognome, nome i record risultanti verrebbero raggruppati solo per cognome e nome e quindi si avrebbe un unico record in casi di omonimia. Nell esempio proposto esistono due alunni (ROSSI MARIO) che oltre allo stesso cognome e nome hanno anche la stessa data di nascita (situazione poco probabile ma da considerare) e quindi anche se si inserisce la data di nascita nella GROUP BY GROUP BY cognome, nome, datanascita non si riescono a distinguere. In particolare, considerando i dati dell esempio proposto, si otterrebbe un risultato corretto anche non inserendo il campo idalunno ma solo perché, casualmente, i due alunni hanno un credito scolastico diverso e quindi complessivamente i campi cognome, nome, datanascita e crediti fanno riferimento ai due alunni separatamente. Se, invece, anche il credito scolastico fosse uguale con una GROUP BY così realizzata : GROUP BY cognome, nome, datanascita, crediti si avrebbe il seguente risultato (con un solo alunno ROSSI MARIO ma con la somma delle prove di entrambi) : Alunno data_nascita Punteggio_Prove crediti Punteggio_Esame BIANCHI ANGELO DE ANGELIS CESARE DE PAOLIS ANDREA FORNACI ANTONIO FRANCO CESARE ROSSI MARIO SOTTOMANO MARCO VERDI VITTORIO VERDI VITTORIO In definitiva, quando situazioni come nell esempio lo richiedono, solo la chiave primaria consente di distinguere correttamente i record e pertanto va inserita nella clausola GROUP BY. Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 7
8 Query n. 7) Elenco degli alunni con la relativa media ottenuta in tutte le prove d esame : SELECT idalunno AS Codice, CONCAT(cognome,' ', nome) AS Alunno, DATE_FORMAT(datanascita,'%d-%m-%Y') AS data_nascita, AVG(voto) AS Media_prove FROM tbalunni,tbesiti WHERE idalunno=ksalunno GROUP BY idalunno, cognome, nome ORDER BY cognome, nome; Codice Alunno data_nascita Media_prove 1 BIANCHI ANGELO DE ANGELIS CESARE DE PAOLIS ANDREA FORNACI ANTONIO FRANCO CESARE ROSSI MARIO ROSSI MARIO SOTTOMANO MARCO VERDI VITTORIO VERDI VITTORIO Nota : la clausola ORDER BY si rende necessaria in quanto nella GROUP BY sono stati inseriti, nell ordine, i campi idalunno, cognome e nome e quindi il primo campo preso in considerazione è idalunno e successivamente gli altri due. Se, quindi, non viene aggiunta la clausola ORDER BY cognome, nome si avrebbe il seguente risultato, un elenco ordinato rispetto al campo idalunno : Codice Alunno data_nascita Media_prove 1 BIANCHI ANGELO ROSSI MARIO VERDI VITTORIO DE PAOLIS ANDREA FORNACI ANTONIO SOTTOMANO MARCO FRANCO CESARE ROSSI MARIO DE ANGELIS CESARE VERDI VITTORIO Una soluzione, senza la clausola ORDER BY, sicuramente migliore è la seguente: GROUP BY cognome, nome, idalunno Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 8
9 Query n. 9) Elenco con la descrizione delle prove e la corrispondente media dei voti di tutti gli alunni per ciascuna prova : SELECT prova, AVG(voto) AS Media_voti FROM tbesiti,tbprove WHERE idprova=ksprova GROUP BY idprova,prova; prova Media_voti PRIMA SECONDA TERZA ORALE Nota : in questo caso potrebbe essere superfluo inserire nella GROUP BY il campo idprova perché, comunque, utilizzando solo il campo prova si avrebbe un risultato corretto in quanto tale campo è sottoposto al vincolo di unicità. Il risultato ottenuto, come mostrato successivamente, è una tabella ordinata in senso crescente rispetto alla descrizione della prova e non rispetto al codice prova: SELECT prova, AVG(voto) AS Media_voti FROM tbesiti,tbprove WHERE idprova=ksprova GROUP BY prova; prova Media_voti ORALE PRIMA SECONDA TERZA Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 9
10 Query n. 11) Elenco degli alunni che hanno preso 15 in una qualsiasi prova : SELECT idalunno AS Codice, CONCAT(cognome,' ', nome) AS Alunno, DATE_FORMAT(datanascita,'%d-%m-%Y') AS data_nascita FROM tbalunni WHERE idalunno IN (SELECT ksalunno FROM tbesiti WHERE Voto =15 ) ORDER BY cognome, nome Codice Alunno data_nascita 1 BIANCHI ANGELO FORNACI ANTONIO ROSSI MARIO SOTTOMANO MARCO VERDI VITTORIO La subquery : SELECT ksalunno FROM tbesiti WHERE Voto =15 preleva dalla tabella tbesiti tutti i record in cui il voto è uguale a 15 e quindi il codice alunno corrispondente (ksalunno) può ripetersi più volte in quanto uno stesso alunno può prendere il voto 15 in più prove : ksalunno La query principale, utilizzando il predicato IN, consente di confrontare ciascun codice alunno (idalunno) della tabella tbalunni con quelli presenti nella tabella ottenuta dalla subquery e quindi di ottenere un elenco senza ripetizioni. Lo stesso risultato, comunque, si può anche ottenere con una query diversa ma sicuramente più semplice : SELECT DISTINCT idalunno AS Codice,cognome,nome, DATE_FORMAT(datanascita,'%d-%m-%Y') AS data_nascita FROM tbalunni,tbesiti WHERE idalunno = ksalunno AND voto=15 ORDER BY cognome,nome; Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 10
11 Query n. 13) Calcolare la prova con la media più alta : SELECT prova, AVG(voto) AS Media_max FROM tbesiti, tbprove WHERE idprova=ksprova GROUP BY prova HAVING AVG(voto) = (SELECT MAX(media) FROM (SELECT AVG(voto) AS media FROM tbesiti GROUP BY ksprova) AS Calcolo_media); prova Media_max ORALE La subquery : SELECT AVG(voto) AS media FROM tbesiti GROUP BY ksprova calcola la media per ciascuna prova : media La subquery SELECT MAX(media) FROM (SELECT AVG(voto) AS media FROM tbesiti GROUP BY ksprova) AS Calcolo_media; preleva dalla tabella, ottenuta con la subquery precedente, il valore max : MAX(media) Nota : nella precedente subquery è stato specificato l alias Calcolo_media altrimenti viene segnalato il seguente errore : Every derived table must have its own alias nella esecuzione della query! Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 11
12 Query n. 19) Elenco degli alunni con i voti attribuiti nelle singole prove ed il totale delle prove : SELECT idalunno AS Codice,cognome,nome, DATE_FORMAT(datanascita,'%d-%m-%Y') AS data_nascita, (SELECT voto From tbesiti WHERE idalunno = ksalunno AND ksprova = 1) AS 'PRIMA', (SELECT voto From tbesiti WHERE idalunno = ksalunno AND ksprova = 2) AS 'SECONDA', (SELECT voto From tbesiti WHERE idalunno = ksalunno AND ksprova = 3) AS 'TERZA', (SELECT voto From tbesiti WHERE idalunno = ksalunno AND ksprova = 4) AS 'ORALE', (SELECT voto From tbesiti WHERE idalunno = ksalunno AND ksprova = 1) + (SELECT voto From tbesiti WHERE idalunno = ksalunno AND ksprova = 2) + (SELECT voto From tbesiti WHERE idalunno = ksalunno AND ksprova = 3) + (SELECT voto From tbesiti WHERE idalunno = ksalunno AND ksprova = 3) AS Punteggio FROM tbalunni ORDER BY cognome, nome,datanascita Codice Alunno data_nascita PRIMA SECONDA TERZA ORALE Punteggio 1 BIANCHI ANGELO DE ANGELIS CESARE DE PAOLIS ANDREA FORNACI ANTONIO FRANCO CESARE ROSSI MARIO ROSSI MARIO SOTTOMANO MARCO VERDI VITTORIO VERDI VITTORIO Nota : la query SELECT idalunno AS Codice,cognome,nome, DATE_FORMAT(datanascita,'%d-%m-%Y') AS data_nascita, (SELECT voto From tbesiti WHERE idalunno = ksalunno AND ksprova = 1) AS 'PRIMA', (SELECT voto From tbesiti WHERE idalunno = ksalunno AND ksprova = 2) AS 'SECONDA', (SELECT voto From tbesiti WHERE idalunno = ksalunno AND ksprova = 3) AS 'TERZA', (SELECT voto From tbesiti WHERE idalunno = ksalunno AND ksprova = 4) AS 'ORALE', PRIMA + SECONDA + TERZA + ORALE AS Punteggio FROM tbalunni ORDER BY cognome, nome,datanascita non viene supportata da MySQl, a differenza di Access, in quanto gli ALIAS utilizzati nella target list possono essere richiamati solo dopo la clausola WHERE. Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 12
13 La query, piuttosto complessa, proposta per risolvere il quesito può far pensare ad una soluzione del problema più semplice. In effetti, tenendo conto che il numero di prove è costante (quattro) e che devono essere comunque sostenute da tutti gli alunni, si potrebbe ricorrere ad un altra soluzione che utilizza una sola entità e quindi una sola tabella. In questo modo la tabella ottenuta si può paragonare ad un foglio elettronico contenente complessivamente tutti i dati di cui si ha bisogno. Di seguito viene presentata questo tipo di soluzione apparentemente più semplice dal punto di vista strutturale (esiste una sola tabella nel database) ma più complicata da gestire a livello di query, soprattutto per le query parametrizzate (query con richiesta di input da parte dell utente utilizzabili, comunque, solo con Access). Come si può notare, con gli esempi proposti successivamente, ci sono query (vedi la n. 18) che sono ragionevolmente più semplici ma la maggior parte sono sicuramente più complesse. Soluzione del problema con una sola tabella Schema concettuale della base di dati Tipi di entità L entità che può essere individuata per risolvere il problema è : Esame contiene l elenco anagrafico degli alunni che sostengono l esame con i corrispondenti risultati ottenuti; Attributi Tipo di entità Esame Sistema informativo Gestione Esami di Stato Attributi Codice alunno, Cognome, Nome, Data di nascita, Crediti, Risultato prima prova, Risultato seconda prova, Risultato terza prova, Risultato orale Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 13
14 Modello E/R ESAME Schema logico della base di dati Rappresentazione testuale dello schema logico : tbesami (idalunno, cognome, nome, datanascita, crediti, prima, seconda, terza, orale) Definizione della Tabella Tabella Nome campo Chiave Tipo dati Dim. Dec. Null Descrizione tbesami idalunno Primaria Numerico 4 Autoincremento cognome Testo 20 nome Testo 20 datanascita Data/ora 10 cediti Numerico 2 totale credito scolastico prima Numerico 2 Voto prima prova seconda Numerico 2 Voto seconda prova terza Numerico 2 Voto terza prova orale Numerico 2 Voto orale Vengono ora riproposte alcune query significative : Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 14
15 QUERY Query n. 9) Elenco con descrizione delle prove e la corrispondente media dei voti di tutti gli alunni in ciascuna prova : SELECT AVG(Prima) AS Media_Prima, AVG(Seconda) AS Media_seconda, AVG(Terza) AS Media_terza, AVG(Orale) AS Media_Orale FROM tbesami; Media Prima Media seconda Media terza Media Orale 9,90 11,20 12,10 22,40 Query n. 12) Elenco degli alunni che hanno preso nella SECONDA prova un voto maggiore della media nella stessa prova : SELECT idalunno AS Codice,cognome,nome, seconda FROM tbesami WHERE seconda > (SELECT AVG(seconda) FROM tbesami) ORDER BY cognome,nome; Codice Cognome Nome Seconda 1 BIANCHI ANGELO 12 5 FORNACI ANTONIO 15 6 SOTTOMANO MARCO 15 3 VERDI VITTORIO 15 Nota : non è (?) possibile parametrizzare la query e quindi si dovrebbero scrivere quattro query separate, una per ogni singola prova. Query n. 19) Elenco degli alunni con i voti attribuiti nelle singole prove ed il totale delle prove : SELECT idalunno AS Codice,cognome,nome, DATE_FORMAT(datanascita,'%d-%m-%Y') AS data_nascita, prima, seconda, terza, orale, prima+seconda+terza+orale AS Punteggio FROM tbesami ORDER BY cognome,nome; Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 15
GESTIONE ABBONAMENTI RIVISTE
GESTIONE ABBONAMENTI RIVISTE Si vogliono gestire, con una base di dati, le informazioni relative agli abbonamenti a riviste da parte di utenti di cui si deve tener conto della città di residenza. Gli elementi
GESTIONE ABBONAMENTI RIVISTE
GESTIONE ABBONAMENTI RIVISTE Si vogliono gestire, con una base di dati, le informazioni relative agli abbonamenti a riviste da parte di utenti di cui si deve tener conto della città di residenza. Gli elementi
GESTIONE ASSICURAZIONI AUTO
GESTIONE ASSICURAZIONI AUTO S i v o g l i o n o g e s t i r e i d a t i d i i n t e r e s s e d e l l e c o m p a g n i e d i a s s i c u r a z i o n i r a m o R C A. N e l d a t a b a s e s i d e v o
GESTIONE VOTI SCOLASTICI
GESTIONE VOTI SCOLASTICI Progettare un modello di dati per la gestione delle informazioni riguardanti le prove, nelle diverse materie, sostenute dagli studenti di una scuola media superiore. Il sistema
GESTIONE MAGAZZINO 1
GESTIONE MAGAZZINO 1 Un azienda vuole automatizzare la procedura di gestione delle scorte del suo magazzino di prodotti organizzato per reparti. Il sistema informativo deve essere in grado di : produrre
GESTIONE VOTI SCOLASTICI
GESTIONE VOTI SCOLASTICI Progettare un modello di dati per la gestione delle informazioni riguardanti le prove, nelle diverse materie, sostenute dagli studenti di una scuola media superiore. Il sistema
GESTIONE MAGAZZINO 2
GESTIONE MAGAZZINO 2 Un azienda vuole automatizzare la procedura di gestione delle scorte del suo magazzino di articoli organizzato per reparti e classificati in base alla categoria merceologica. Nella
GESTIONE MAGAZZINO 1
GESTIONE MAGAZZINO 1 Un azienda vuole automatizzare la procedura di gestione delle scorte del suo magazzino di prodotti organizzato per reparti. Il sistema informativo deve essere in grado di : produrre
Gestione NARRATIVA del 900
Gestione NARRATIVA del 900 Si vuole progettare una base di dati contenente informazioni sulla narrativa del 900. Gli autori sono identificati da cognome e nome. Di essi interessa l anno ed il luogo di
GESTIONE MAGAZZINO 2
GESTIONE MAGAZZINO 2 Un azienda vuole automatizzare la procedura di gestione delle scorte del suo magazzino di articoli organizzato per reparti e classificati in base alla categoria merceologica. Nella
GESTIONE VIDEONOLEGGIO
GESTIONE VIDEONOLEGGIO Si vuole automatizzare la gestione del noleggio di video (in formato VHS, DVD ed altri). Nel database si devono organizzare i dati relativi ai video, ai clienti del negozio, ai produttori
GESTIONE VIDEONOLEGGIO
GESTIONE VIDEONOLEGGIO Si vuole automatizzare la gestione del noleggio di video (in formato VHS, DVD ed altri). Nel database si devono organizzare i dati relativi ai video, ai clienti del negozio, ai produttori
Manuale SQL. Manuale SQL - 1 -
Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,
Esempio di database relazionale con l utilizzo del prodotto MySQL
Esempio di database relazionale con l utilizzo del prodotto MySQL Marco Liverani Aprile 2015 In queste pagine viene riportato in sintesi il progetto di un database relazionale esemplificativo con cui viene
ESERCITAZIONE: Fornitore-Fornisce-Articolo
ESERCITAZIONE: Fornitore--Articolo PROGETTAZIONE CONCETTUALE Sia dato il diagramma ER rappresentativo di una certa realtà di interesse Cognome CodF Nome DataN CodA Descrizione Prezzo Fornitore N N E Fornito
Basi di Dati Corso di Laura in Informatica Umanistica
Basi di Dati Corso di Laura in Informatica Umanistica Appello del 26/07/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione
Basi di dati I Prova di autovalutazione 30 ottobre 2014
Basi di dati I Prova di autovalutazione 3 ottobre 214 La prova verrà discussa in aula, prevedibilmente giovedì 6 novembre. Si consiglia di svolgerlo simulando l esame, sulla carta e senza ausilio di libri
Interrogazioni nidificate
Interrogazioni nidificate Nella clausola where si possono utilizzare valori prodotti da altre istruzioni select utilizzando any (qualsiasi) o all (tutti) insieme agli operatori di confronto Trovare nome,
Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.
PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,
ESERCITAZIONI ACCESS
ESERCITAZIONI ACCESS MS Access 2000 Struttura di riferimento: Studente (Matricola, Cognome, Nome) Esame (Matricola, Materia, Voto, Data) CREARE LE TABELLE IN SQL: Create table STUDENTE ( matricola char(6)
4/16/07. Le Basi di Dati Relazionali. Concetti Fondamentali. Base di dati, tabella, ennupla, attributo, dominio. Valori nulli
Base di dati, tabella, ennupla, attributo, dominio Le Basi di Dati Relazionali Concetti Fondamentali Valori nulli Vincoli di chiave, di ennupla, di riferimento 2 Modello logico dei DBMS (Data Base Management
ESAME DI STATO I.T.E. A.S
ESAME DI STATO I.T.E. A.S. 2012-2013 Un grande museo deve realizzare un Sistema Informatico per la gestione della biglietteria online. La biglietteria online consentirà di acquistare i biglietti sia per
M963 ESAME DI STATO DI ISTRUZIONE SECONDARIA SUPERIORE Indirizzo: INFORMATICA E TELECOMUNICAZIONI ARTICOLAZIONE INFORMATICA Tema di: INFORMATICA
M963 ESAME DI STATO DI ISTRUZIONE SECONDARIA SUPERIORE Indirizzo: INFORMATICA E TELECOMUNICAZIONI ARTICOLAZIONE INFORMATICA Tema di: INFORMATICA Il candidato svolga la prima parte della prova e risponda
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia
Istituto Statale E.Torricelli Liceo Scientifico Tecnologico-Tecnico Industriale. Compiti Estivi Informatica
Studiare ciascuno degli argomenti proposti nel corso dell anno sul libro di testo (secondo le pagine assegnate) oppure sul sito comunicato all inizio dell anno con le stesse credenziali: 1) Da pag. 352
ESAME di INFORMATICA e ARCHIVIAZIONE
UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME di INFORMATICA e ARCHIVIAZIONE 8 settembre 2011 1 Progettazione
Analisi soluzione DB esercizio 1
Analisi soluzione DB esercizio 1 Analisi del problema Il testo propone un database capace di archiviare fatture con i relativi dati dei clienti che acquistano e degli articoli trattati. I dati fondamentali
Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.
Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Cognome: Nome: Matricola: Domanda 1 (15%) Considerare la base di dati relazionale contenente le seguenti relazioni:
Left Join, Right Join, Full Join
Left Join, Right Join, Full Join Consideriamo il solito schema di database dell'ultima verifica. Ipotizziamo inoltre che tra le due relazioni sia impostato un vincolo di Integrità Referenziale. Modello
Fondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009
Esercizio 1 (6 punti) Date le seguenti strutture dati: int elementi[5]; int numeroelementi; Vettore; int elementi[5][5]; int numerorighe; int numerocolonne; Matrice; Fondamenti di Informatica 2 Simulazione
Fondamenti di Informatica 2
Matricola Nome Cog Firma Es.1 Es.2 Es.3 Es.4 Es.5 Tot. Esercizio 1 (6 punti) Data la seguente struttura dati: typedef struct{ int elementi[5][5]; int numerorighe; int numerocolonne; Matrice; Fondamenti
Structured Query Language
IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un
Interrogazioni nidificate
Interrogazioni nidificate Trovare nome, cognome e matricola degli studenti che non hanno fatto esami select Matricola,Nome,Cognome from studenti where matricola all (select studente group by studente)
SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini
SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA 3. Panoramica su SQL Prof. Mauro Giacomini Sommario Introduzione Istruzione SELECT Tipi di Join Subquery Comandi DML Creazione delle tabelle Introduzione
Corso di. Basi di Dati I. 11. Esercitazioni in SQL: Altri esercizi
Corso di Basi di Dati 11. Esercitazioni in SQL: Altri esercizi A.A. 2016 2017 Esempio: consideriamo le seguenti tabelle Articoli(Id, Nome, Colore) Fornitori(Id, Nome, Indirizzo) Catalogo(Articolo, Fornitore,
8 SQL : Check, Asserzioni,Viste
Corso di Laurea in Ingegneria Gestionale SAPIENZA Università di Roma Esercitazioni del corso di Basi di Dati Prof.ssa Catarci e Prof.ssa Scannapieco Anno Accademico 2011/2012 8 SQL : Check, Asserzioni,Viste
Modelli di Base Dati
Modelli di Base Dati E Correzione degli esercizi con il contributo di: Cherubini Simonetto a.a. 2001/2002 E.1 Modulo 1: I Database E.2 Modelli di Base Dati 1 I Database Individuare le entità, gli attributi,
Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor
Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è
QL (Query Language) Alice Pavarani
QL (Query Language) Alice Pavarani QL Query Language Linguaggio di interrogazione dei dati, permette di: Interrogare la base di dati per estrarre informazioni Elaborare i dati Il risultato di un interrogazione
Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 1 OTTOBRE 2015 Tempo: 2h30m
Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 1 OTTOBRE 2015 Tempo: 2h30m Si consideri il seguente schema di base di dati, che vuole memorizzare informazioni relative ai viaggi di lavoro
Caratteristiche dei linguaggi per Database
IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;
Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2
Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Vincoli di integrita 2 Cosa e un vincolo di integrita E una proprieta sempre valida
SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)
SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri
Structured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati
Basi di Dati Matteo Longhi Structured Query Language Introduzione Standard creato nel 1976 da IBM Aggiornato (versione 2 nel 1992 (ANSI X3.135 e ISO 9075 Consente di: DDL: definire la struttura del DB
Soluzione esercitazione 01
Soluzione esercitazione 01 Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SolEse01.pdf Sistemi Informativi L-A Videonoleggio - caso A: tabella
A. Veneziani Analisi e soluzione esercizio 2 pagina 53
A. Veneziani Analisi e soluzione esercizio 2 pagina 53 Testo del problema Rappresenta i dati e le relazioni tra i dati necessari a gestire un sistema di prenotazione di un teatro di 1000 posti suddivisi
ESERCIZI SQL. Esercizio 1
ESERCIZI SQL 2 Esercizio 1 3 Esercizio 1 4 Esercizio 1 Si specifichino le seguenti interrogazioni SQL sulla base di dati relazionale AZIENDA. Si mostri il risultato di ciascuna interrogazione. 1. Si restituisca
Fondamenti di Informatica e Programmazione
Fondamenti di Informatica e Programmazione Prof. G ianni D Angelo Email: [email protected] A. A. 2018/ 19 Le Origini di SQL Principali Versioni Anni 70 1986 SEQUEL Structured English QUEry Language Sviluppato
Verifica di Informatica. Cognome e Nome: Classe 5ª Ci, Data
Verifica di Informatica Cognome e Nome: Classe 5ª Ci, Data Progettare la base di dati di una palestra. E necessario memorizzare le informazioni relative ai clienti che riguardano: codice fiscale, cognome
SQL - Structured Query Language
SQL - Structured Query Language Lab 05 Alessandro Lori Università di Pisa 27 Aprile 2012 Riepilogo esercitazione precedente Operatori insiemistici (UNION, INTERSECT, EXCEPT) Riepilogo esercitazione precedente
Esame di Basi di Dati, SOLUZIONE APPELLO 09/06/2009
Esame di Basi di Dati, SOLUZIONE APPELLO 09/06/2009 1. Si effettui la progettazione concettuale della base di dati secondo la specifica che segue fornendo un diagramma ER. Un azienda che gestisce gli eventi
