Dalla modellazione concettuale a SQL: Studio di un caso

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Dalla modellazione concettuale a SQL: Studio di un caso"

Transcript

1 Dalla modellazione concettuale a SQL: Studio di un caso Roberto Basili University of Rome Tor Vergata, Department of Computer Science, Systems and Production, Roma (Italy), basili@info.uniroma2.it April 30, 2010 Abstract Questa breve dispensa descrive i contenuti della esercitazione del L esempio proposto consente di descrivere i passi da seguire durante la progettazione di un piccolo database, dal modello concettuale espresso in un diagramma Entita -Relazioni (ER), fino alla espressione dello schema logico relazionale mediante il linguaggio di definizione dei dati SQL. Questo documento rappresenta la prima versione di questa dispensa. Si prega di notificare all autore eventuail errori o inconsistenze che molto probabilmente abitano le pagine seguenti... 1 Introduzione Nelle sezioni seguenti sezioni vengono descritte le varie fasi di progettazione di in database relazionale per un problema. A partire da requisiti, spesso qualitativi e ridondanti, viene suggerita una catena di fasi che necessariamente debbono essere completate per progettare e realizzare il database finale. In particolare ogni passo della sequenza viene descritto in dettaglio: Analisi dei Requisiti Progetto concettuale: derivazione dello schema ER Progettazione logica: generazione del modello logico relazionale che esprime il diagramma ER della fase precedente Definizione (in SQL) del database Costruzione di una istanza del database 1

2 Primi test di verifica e interrogazione 2

3 Requisiti Utente Una catena di negozi decide di controllare lo sconto applicato dai suoi dipendenti. Lo scopo e di garantire un premio di produzione mensile a coloro che hanno mantenuto lo sconto medio delle loro vendite al di sotto del 20%. Le informazioni da rappresentare ammettono le seguenti caratteristiche. Ogni prodotto che ha un costo d acquisto, ammette un ricarico fisso che ne garantisce un prezzo consigliato di vendita. Esso pero in una certa vendita viene scontato ed ammette quindi un prezzo diverso (in generale minore). Ogni prodotto in una vendita ha il suo sconto, e lo sconto globale di una vendita e la media degli sconti applicati ai diversi prodotti. Nel negozio i dipendenti si suddividono in commessi e direttori di sala. Ogni negozio e composto di diverse sale e ogni direttore dirige una sola sala. In negozio solo i commessi effettuano vendite e una vendita viene servita da un solo commesso. I commessi che lavorano in un negozio non sono legati ad una sala necessariamente, poiche il loro lavoro dipende dai carichi di giornata. I commessi sono organizzati in due classi: apprendisti (classe A) e anziani (B). Ogni direttore di sala ha diritto ad un budget per la manutenzione della sala. Il sistema dovrebbe consentire interrogazioni del tipo: Quanti prodotti sono inclusi in una certa vendita X? Quanti prodotti diversi tra loro sono inclusi in una certa vendita X? Quale vendita di un certo negozio contiene il maggior numero di prodotti? Quale sala e negozio e diretto dal direttore di sala X? Quali prodotti sono in mostra in una sala? Quali sono le vendite del commesso X? In quali date il commesso X ha effettuato vendite? Qual e il prezzo del prodotto X nella vendita Y? Quali sale hanno venduto i prodotti X ed Y? Quale dipendente ha venduto il prodotto X e non il prodotto Y? Quali prodotti sono stati venduti nella vendita Y? Qual e lo sconto (totale e non percentuale) del prodotto X nella vendita Y? Quali dipendenti del negozio X hanno scontato il prodotto Y nell ultimo mese? (Quali dipendenti del negozio X hanno servito una vendita il cui sconto relativo al prodotto Y e > 0, nell ultimo mese?) 3

4 2 Schema Concettuale 2.1 Analisi dei Requisiti In questa sezione vengono individuate le entita (grassetto), le relazioni (sottolineate) e gli attributi (corsivo) che caratterizzano il testo dei requisiti. Queste informazioni saranno utilizzate per generare il diagramma E-R e lo schema logico, nella sua prima versione. Una catena di negozi decide di controllare lo sconto applicato dai suoi dipendenti. Lo scopo e di garantire un premio di produzione mensile a coloro che hanno mantenuto lo sconto medio delle loro vendite al di sotto del 20%. Le informazioni da rappresentare ammettono le seguenti caratteristiche. Ogni prodotto che ha un costo d acquisto, ammette un ricarico fisso che ne garantisce un prezzo consigliato di vendita. Esso pero in una certa vendita viene scontato ed ammette quindi un prezzo diverso (in generale minore). Ogni prodotto in una vendita ha il suo sconto, e lo sconto globale di una vendita e la media degli sconti applicati ai diversi prodotti. Nel negozio i dipendenti si suddividono in commessi e direttori di sala. Ogni negozio e composto di diverse sale e ogni direttore dirige una sola sala. In negozio solo i commessi effettuano vendite e una vendita viene servita da un solo commesso. I commessi che lavorano in un negozio non sono legati ad una sala necessariamente, poiche il loro lavoro dipende dai carichi di giornata. I commessi sono organizzati in due classi: apprendisti (classe A) e anziani (B). Ogni direttore di sala ha diritto ad un budget per la manutenzione della sala. Il sistema dovrebbe consentire interrogazioni del tipo: Quanti prodotti sono inclusi in una certa vendita X? Quanti prodotti diversi tra loro sono inclusi in una certa vendita X? Quale vendita di un certo negozio contiene il maggior numero di prodotti? Quale sala e negozio e diretto dal direttore di sala X? Quali prodotti sono in mostra in una sala? Quali sono le vendite del commesso X? In quali date il commesso X ha effettuato vendite? Qual e il prezzo del prodotto X nella vendita Y? Quali sale hanno venduto i prodotti X ed Y? 4

5 Quale dipendente ha venduto il prodotto X e non il prodotto Y? Quali prodotti sono stati venduti nella vendita Y? Qual e lo sconto (totale e non percentuale) del prodotto X nella vendita Y? Quali dipendenti del negozio X hanno scontato il prodotto Y nell ultimo mese? (Quali dipendenti del negozio X hanno servito una vendita il cui sconto relativo al prodotto Y e > 0, nell ultimo mese?) 2.2 Il diagramma ER del problema Lo schema concettuale che descrive il modello dei dati necessari per il problema sopra descrittoe il riportato in Figura Documentazione ER Il DATA DICTIONARY necessario a completare il diargamma di figura 1 e il seguente ed include entita e relazioni. Ad esso va aggiunta una ulteriore tabella che descrive le Regole di Integrita (Business Rules) non esprimibili nel linguaggio ER Entita Dipendente Direttore di Sala Commesso Negozio Sala Vendita Prodotto Relazioni Dirige Composto_Da Esposto Contiene Effettua Serve 5

6 Dirige Sala Direttore Composto_da Dipendente Lavora_in Negozio Esposto_in Commesso Effettua Serve Vendita Contiene Prodotto Figure 1: Schema Entita -Relazioni per il problema Sconto 6

7 Lavora_In Ad esempio il data dictionary per la entita Prodotto e per la relazione Contiene viene mostrato nelle Tabelle 1 e 2 Table 1: Esempio di Data Dictionary: Entita Prodotto NOME Descr Attributi Identificatore Prodotto Tipo del PId PId prodotto in Descrizione vendita Fornitore Costo Table 2: Esempio di Data Dictionary: Relazione Contiene NOME Descr Entita Attributi Descr. Contiene Lega i prodotti Prodotto, Quantita alle vendite Vendita Business Rules Esempi di tipiche regole di integrita per il problema in esame sono fornite in Tabella 3. 7

8 Rule Description Table 3: Business Rules R1. Ogni vendita ha una quantita pari alla quantita di prodotti venduti. R2. Ogni negozio vende solo prodotti esposti nelle sue sale. R3. Un commesso serve vendite del suo stesso negozio. R4. Un direttore di sala dirige la sala del negozio in cui lavora. R5. Una vendita contiene prodotti esposti nel negozio in cui e stata effettuata. R6. Il salario di un dirigente supera quello dei commessi del suo negozio. R7. Il prezzo totale di una vendita si ottiene come somma dei prezzi dei prodotti in essa contenuti per le rispettive quantita R8. Il prezzo consigliato di un prodotto si ottiene moltiplicando il suo costo per una costante 2.5 R9. Lo sconto di un prodotto in una vendita e dato dal suo prezzo consigliato (pc) meno il suo prezzo di vendita (pv) diviso il prezzo di vendita, i.e. (pc pv)/pc. R10. Lo sconto globale di una vendita e la media degli sconto dei prodotti in essa contenuti 3 Schema Relazionale 3.1 Prima versione. /* Entita dell ER */ Direttore( DipId:integer, Budget per sala:integer); Commesso( DipId: integer, Livello:string); Dipendente( DipId:integer, Nome:string, Cognome:string, Indirizzo:string, DataAss:Date, Stipendio:integer); Negozio( NegId:integer, IndirizzoN:string); Sala(SId:integer, NomeS:string, TipoMerc:string); Vendita(VId:integer, Data:date, Quant:integer); Prodotto( PId:integer, Descrizione:string, Fornitore:string, Costo:integer); /* Relazioni dell ER */ Dirige(DipId:integer, SId:integer,Inzio:date); CompostoDa(NegId:integer,Sid:integer); EspostoIn(PId:integer, SId:integer); Contiene(Vid:integer, PId:integer, Qt:integer, Prezzo:integer); 8

9 LavoraIn(DipId:integer, NId:integer); Effettua(NId:integer,VId:integer); Serve(DipId:integer,VId:integer); 3.2 Seconda versione. Modifiche: i) Poiche una vendita e effettuata in un solo negozio eliminazione della relazione Effettua ed estensione degli attributi di Vendita. ii) Poiche una vendita e servita da un solo commesso, eliminazione della relazione Serve ed estensione degli attributi di Vendita. iii) Poiche un dipendente lavora in un solo negozio, eliminazione della relazione LavoraIn ed estensione degli attributi di Dipendente iv) Poiche ogni sala appartiene ad un solo negozio, eliminazione della relazione CompstoDa. 9

10 Il nuovo schema relazionale e il seguente: /* REM Entita dell ER */ Direttore( DipId:integer, Budget per sala:integer); Commesso( DipId: integer, Livello:string); Dipendente( DipId:integer, Nome:string, Cognome:string, Indirizzo:string, NegId:integer, DataAss:Date, Stipendio:integer); Negozio(NegId:integer, IndirizzoN:string); Sala(SId:integer, NomeS:string, TipoMerc:string, NegId:integer); Vendita(VId:integer, NegId:integer, DipId:integer, Data:date, Quant:integer); Prodotto(PId:integer, Descrizione:string, Fornitore:string); /* REM Relazioni dell ER */ Dirige(DipId:integer, SId:integer, Inizio:date); EspostoIn(PId:integer, SId:integer); Contiene(Vid:integer, PId:integer, Qt:integer); 10

11 4 Creazione del database in SQL /* REM Entita dell ER */ CREATE TABLE Negoz( NegId integer, IndirizzoN CHAR(50), PRIMARY KEY (NegId)); CREATE TABLE Sala( SId integer, NomeS CHAR(30), TipoMerc CHAR(30), NegId integer NOT NULL, PRIMARY KEY (SId), FOREIGN KEY (NegId) REFERENCES Negoz); CREATE TABLE Dipendente( DipId integer, Nome CHAR(20), Cognome CHAR(25), Indirizzo CHAR(50), NegId integer NOT NULL, DataAss Date, Stipendio integer, PRIMARY KEY (DipId), FOREIGN KEY (NegId) REFERENCES Negoz); CREATE TABLE Direttore( DipId integer, Budget_per_sala integer, PRIMARY KEY (DipId), FOREIGN KEY (DipId) REFERENCES Dipendente); CREATE TABLE Commesso( DipId integer, Livello CHAR(2), PRIMARY KEY (DipId), FOREIGN KEY (DipId) REFERENCES Dipendente); CREATE TABLE Vendita( VId integer, NegId integer NOT NULL, DipId integer NOT NULL, Data date, 11

12 Quant integer, PRIMARY KEY (VId), FOREIGN KEY (NegId) REFERENCES Negoz, FOREIGN KEY (DipId) REFERENCES Commesso); CREATE TABLE Prodotto( PId integer, Descrizione CHAR(120), Fornitore CHAR(20), Costo integer, PRIMARY KEY (PId)); /* REM Relazioni dell ER */ CREATE TABLE Dirige( DipId integer, SId integer, Inzio date, PRIMARY KEY (DipId,SId), FOREIGN KEY (SId) REFERENCES Sala, FOREIGN KEY (DipId) REFERENCES Direttore); CREATE TABLE EspostoIn( PId integer, SId integer, PRIMARY KEY (PId,SId), FOREIGN KEY (PId) REFERENCES Prodotto, FOREIGN KEY (SId) REFERENCES Sala); CREATE TABLE Contiene( Vid integer, PId integer, Qt integer, Prezzo integer, PRIMARY KEY (VId,PId), FOREIGN KEY (VId) REFERENCES Vendita, FOREIGN KEY (PId) REFERENCES Prodotto); 12

13 5 Creazione di una istanza in SQL INSERT INTO negoz VALUES (1, CoinCinecitta - Via Tuscolana - ROMA ); INSERT INTO negoz VALUES (2, Coin - Piazzale Appio - ROMA ); INSERT INTO Sala VALUES (1, Abbig 1 Piano, Abbigliamento, 1); INSERT INTO Sala VALUES (2, Abbig 2 Piano, Abbigliamento, 1); INSERT INTO Sala VALUES (3, Dischi 1 Piano, Dischi, 1); INSERT INTO Sala VALUES (4, Abbig 1 Piano, Abbigliamento, 2); INSERT INTO Sala VALUES (5, Abbig 2 Piano, Abbigliamento, 2); INSERT INTO Dipendente VALUES( 1, Paolo, Rossi, Via della Ricerca Scientifica - ROMA, 1, NULL, ); INSERT INTO Dipendente VALUES( 2, Mario, Rossi, Via della Ricerca Scientifica - ROMA, 1, NULL, ); INSERT INTO Dipendente VALUES( 3, Paolo, Bianchi, Via della Ricerca Letteraria - ROMA, 1, NULL, ); INSERT INTO Dipendente VALUES( 4, Mario, Verdi, Via della Gloria - ROMA, 1, NULL, ); INSERT INTO Dipendente VALUES( 5, Paolo, Il Capo, Via della Carriera - ROMA, 1, NULL, ); INSERT INTO Direttore VALUES (5, ); INSERT INTO Commesso VALUES (1, A ); 13

14 INSERT INTO Commesso VALUES (2, A ); INSERT INTO Commesso VALUES (3, B ); INSERT INTO Commesso VALUES (4, A ); INSERT INTO Vendita VALUES (1, 1, 1, NULL, 5); INSERT INTO Vendita VALUES (2, 1, 1, NULL, 3); INSERT INTO Vendita VALUES (3, 1, 4, NULL, 5); INSERT INTO Vendita VALUES (4, 1, 3, NULL, 8); INSERT INTO Prodotto VALUES (1, Scarpe Mocassini Uomo, Valleverde, 50000); INSERT INTO Prodotto VALUES (2, Scarpe Mocassini Donna, Valleverde, 60000); INSERT INTO Prodotto VALUES (3, Cravatta Uomo, Missoni,30000); INSERT INTO Prodotto VALUES (4, Giacca Uomo, Armani,250000); INSERT INTO EspostoIn VALUES (1,1); INSERT INTO EspostoIn VALUES (2,1); INSERT INTO EspostoIn VALUES (3,2); INSERT INTO EspostoIn VALUES (4,2); 14

15 INSERT INTO Dirige VALUES (5, 4, NULL); INSERT INTO Contiene VALUES (1,2,3,80000); INSERT INTO Contiene VALUES (1,3,1,60000); INSERT INTO Contiene VALUES (1,1,4,800000); INSERT INTO Contiene VALUES (2,2,1,90000); INSERT INTO Contiene VALUES (2,3,1,55000); INSERT INTO Contiene VALUES (2,1,1,900000); INSERT INTO Contiene VALUES (3,2,1,100000); INSERT INTO Contiene VALUES (3,3,4,55000); INSERT INTO Contiene VALUES (4,1,3,70000); INSERT INTO Contiene VALUES (4,2,5,90000); 15

16 6 Query e Testing In SQL 6.1 Query Per ispezionare la istanza del database appena creato alcune query di base possono essere utili. Quale e il contenuto della tabella Dipendente? SELECT * FROM DIPENDENTE; Quale e il contenuto della tabella Contiene? SELECT * FROM CONTIENE; La seguente query: Quali sono i nomi dei commessi? richiede la navigazione attraverso la relazione is a definita tra commessi e dipendenti: SELECT NOME, COGNOME FROM Dipendente,Commesso WHERE Dipendente.DipId = Commesso.DipId; oppure, equivalentemente: SELECT NOME, COGNOME FROM Dipendente D, Commesso C WHERE D.DipId = C.DipId; Alcune delle query proposte sin dai requisiti possono essere agevolmente tradotte in SQL. 16

17 Interrogazioni esempio Per comodita riportiamo le interrogazioni di seguito: 1. Quale sala, e in quale negozio, dirige il direttore di sala 5? 2. Qual e il prezzo del prodotto X nella vendita Y? 3. Quanti prodotti diversi tra loro sono inclusi in una certa vendita X? 4. Quanti prodotti sono inclusi nella vendita 1? 5. Quale commesso ha venduto il prodotto X e non il prodotto Y? Versione Relazionale. da completare. 1. Quale sala, e in quale negozio, dirige il direttore di sala 5? π NomeS,IndirizzoN (σ DipId=5 (Dirige) Sala Negoz) 2. Qual e il prezzo del prodotto X nella vendita Y? π P rezzo (σ V Id=Y (V endita) σ P Id=Y (P rodotto)) 3. Quanti prodotti diversi tra loro sono inclusi in una certa vendita X? 4. Quanti prodotti sono inclusi nella vendita 1? 17

18 5. Quale commesso ha venduto il prodotto X e non il prodotto Y? ρ(intuples, π DipId (σ P Id=X (Commesso V endita Contiene) ρ(outtuples, π DipId (σ P Id=Y (Commesso V endita Contiene) π DipId,Nome,Cognome (Dipendente (Intuples Outuples)) Versione SQL 1. Quale sala, e in quale negozio, dirige il direttore di sala 5? SELECT S.NomeS, N.IndirizzoN FROM Sala S, Negoz N, Dirige D WHERE ( D.DipId = 5 AND S.NegId = N.NegId AND D.SId = S.SId ); 2. Quanti prodotti diversi tra loro sono inclusi in una certa vendita 1 SELECT count(*) FROM Contiene C WHERE ( C.Vid = 1 ) 3. Qual e il prezzo del prodotto 3 nella vendita 1? SELECT C.prezzo FROM Vendita V, Contiene C WHERE ( V.VId = 1 AND C.PId = 3 AND V.VId = C.VId ); 4. Quanti prodotti sono inclusi nella vendita 1? SELECT SUM(C.Qt) FROM Contiene C WHERE C.VId = 1; 18

19 5. Quale commesso ha venduto il prodotto 2 e non il prodotto 1? SELECT C.DipId, D.Nome, D.Cognome FROM Commesso C, Dipendente D WHERE ( C.DipId = D.DipId AND ( C.DipId IN (SELECT C1.DipId FROM Commesso C1, Vendita V1, Contiene CO1 WHERE ( C1.DipId = V1.DipId AND V1.VId = CO1.VId AND CO1.PId = 2 ) AND C.DipId NOT IN (SELECT C2.DipId FROM Commesso C2, Vendita V2, Contiene CO2 WHERE ( C2.DipId = V2.DipId AND V2.VId = CO2.VId AND CO2.PId = 1 ))); 19

20 Appendice: Testo dell esercizio ESERCIZIO a) DETERMINARE il diagramma ER del problema. b) TRADURRE il diagramma ER nel conseguente schema relazionale. c) DETERMINARE le espressioni SQL per la CREAZIONE delle tabelle relative allo schema relazionale definito. d) SCRIVERE LA ESPRESSIONE RELAZIONALE di almeno quattro tra le interrogazioni suggerite dai requisiti. Facoltativo: SCRIVERE LA CORRISPONDENTE ESPRESSIONE SQL delle espressioni relazionali proposte. SCRIVERE la versione SQL delle seguenti interrogazioni: Qual e il negozio con piu dipendenti? Qual e lo sconto globale della vendita Y? Qual e lo sconto globale delle vendite del commesso X? Descrivere (in un linguaggio algoritmico a scelta, per es. in italiano) una procedura che dato un insieme di interrogazioni necessarie stabilisca le soluzioni alle seguenti domande: Quali commessi hanno diritto al premio di produzione? 20

21 Qual e il piu giovane commesso tra quelli che hanno diritto al premio di produzione? (Dire se e possibile in SQL rispondere alle domande precedenti.) 21

StudiodiunCaso. Roberto Basili,

StudiodiunCaso. Roberto Basili, StudiodiunCaso Roberto Basili, Department of Computer Science, System and Production University of Roma, Tor Vergata Via Della Ricerca Scientifica s.n.c., 00133, Roma, ITALY e-mail: basili@info.uniroma2.it

Dettagli

Esercitazione ER e Algebra Relazionale

Esercitazione ER e Algebra Relazionale Esercitazione ER e Algebra Relazionale De Cao Diego, Roberto Basili, Giannone Cristina Università di Roma Tor Vergata {decao,basili}@info.uniroma2.it Corso di Basi di Dati e della Conoscenza (2012-13)

Dettagli

Studio di un Caso: DB musicians

Studio di un Caso: DB musicians Studio di un Caso: DB musicians Basili Roberto, De Cao Diego, Università di Roma Tor Vergata {basili,decao}@info.uniroma2.it Corso di Basi di Dati e Conoscenza 1 Overview 2 Un case study: Musicians DB

Dettagli

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

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,

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Matricola Nome Cognome Firma Es.1 Es.2 Es.3 Es.4 Es.5 Tot. Esercizio 1 (6 punti) Data la seguente struttura dati: int elementi[100]; int numeroelementi; Vettore; Fondamenti di Informatica 2 Prova scritta

Dettagli

ESAME di INFORMATICA e ARCHIVIAZIONE

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

Dettagli

Basi di Dati. Esercitazione Algebra Relazionale e SQL. Ing. Paolo Cappellari. 15 maggio 2006

Basi di Dati. Esercitazione Algebra Relazionale e SQL. Ing. Paolo Cappellari. 15 maggio 2006 Basi di Dati Esercitazione Algebra Relazionale e SQL 15 maggio 2006 Ing. Paolo Cappellari Esercitazione Considerando la seguente base di dati: Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti

Dettagli

Progettazione concettuale usando il modello Entità-Relazione (ER)

Progettazione concettuale usando il modello Entità-Relazione (ER) Progettazione concettuale usando il modello Entità-Relazione (ER) 1 Introduzione alla progettazione delle basi di dati Progettazione concettuale (in questa fase si usa il modello ER) Quali sono le entità

Dettagli

Esercitazione di Gestione dei Dati e della Conoscenza (Modellazione ER) Diego De Cao a.a. 2008/2009

Esercitazione di Gestione dei Dati e della Conoscenza (Modellazione ER) Diego De Cao a.a. 2008/2009 Esercitazione di Gestione dei Dati e della Conoscenza (Modellazione ER) a.a. 2008/2009 Outline!! Analisi delle specifiche!! Estrazione di entità, attributi e relazioni!! Creazione di uno schema relazionale!!

Dettagli

ESERCITAZIONE: Fornitore-Fornisce-Articolo

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

Dettagli

Lezione 4. Dallo schema ER al relazionale

Lezione 4. Dallo schema ER al relazionale Lezione 4 Dallo schema ER al relazionale Pag.1 Insieme di entità ER e tabelle relazionali CREATE TABLE ( CHAR(15), CHAR(20), INTEGER, PRIMARY KEY ()) Pag.2 Traduzione di relazioni ER (segue) dal r rid

Dettagli

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di Dati Corso di Laura in Informatica Umanistica Basi di Dati Corso di Laura in Informatica Umanistica Appello del 28/06/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione

Dettagli

Basi di Dati. Esercitazione SQL. 18 maggio 2007

Basi di Dati. Esercitazione SQL. 18 maggio 2007 Basi di Dati Esercitazione SQL 18 maggio 2007 1 Considerando la seguente base di dati: Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti (CodiceProdotto, Nome, Marca, Modello) Catalogo (CodiceFornitore,

Dettagli

Versione 1.0. (DB Musei)

Versione 1.0. (DB Musei) Appunti di Informatica SQL for COOL PEOPLE Versione 1.0 Lezione 05 DB Musei) prof. Michele Salvemini 2015/2016 Sommario Impostazione della lezione... 3 pre-requisiti:... 3 Argomenti Trattati... 3 Vincoli...

Dettagli

Basi di dati Corso di Laurea in Informatica Umanistica

Basi di dati Corso di Laurea in Informatica Umanistica Basi di dati Corso di Laurea in Informatica Umanistica Esercitazione pre-verifica del 19.03.2012 Parte 1 modello relazionale, SQL (A) Si consideri il seguente schema di base di dati letteraria: TABLE Autori

Dettagli

Esercitazione ER e Algebra Relazionale

Esercitazione ER e Algebra Relazionale Esercitazione ER e Algebra Relazionale Basili Roberto, De Cao Diego, Università di Roma Tor Vergata {basili,decao}@info.uniroma2.it Corso di Basi di Dati e Conoscenza 1 Overview 1 Overview 2 Un case study:

Dettagli

ESERCIZI SQL. Esercizio 1

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

Dettagli

Versione 1.0. (DB Visite Specialistiche)

Versione 1.0. (DB Visite Specialistiche) Appunti di Informatica SQL for COOL PEOPLE Versione 1.0 Lezione 04 (DB Visite Specialistiche) prof. Michele Salvemini 2015/2016 Sommario Impostazione della lezione... 4 pre-requisiti:... 4 Argomenti Trattati...

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Matricola Nome Cognome Firma Es.1 Es.2 Es.3 Es.4 Es.5 Tot. Esercizio 1 (5 punti) Date le seguenti strutture dati: float elementi[50]; int numeroelementi; Vettore; Fondamenti di Informatica 2 Prova scritta

Dettagli

Fondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009

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

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 2 Vincoli di integrità Proprietà che devono essere soddisfatte da ogni istanza della base di dati. Il soddisfacimento è definito rispetto al

Dettagli

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di Dati Corso di Laura in Informatica Umanistica Basi di Dati Corso di Laura in Informatica Umanistica Appello del 09/06/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione

Dettagli

Concettuale. Giuseppe Amato

Concettuale. Giuseppe Amato Esercitazione Progettazione Concettuale 14 Aprile 2010 Giuseppe Amato Esercitazione Progettazione Concettuale Si considerino i i seguenti fttidi fatti interesse di un agenzia immobiliare. Immobili in vendita:

Dettagli

Basi di Dati Corso di Laura in Informatica Umanistica

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

Dettagli

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 6 MARZO 2015 Tempo: 2h30m

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 6 MARZO 2015 Tempo: 2h30m Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 6 MARZO 2015 Tempo: 2h30m Si consideri il seguente schema di base di dati, che vuole memorizzare alcune informazioni relative a Twitter. TWEET

Dettagli

IL MODELLO RELAZIONALE

IL MODELLO RELAZIONALE Basi di dati 1 IL MODELLO RELAZIONALE (CAPITOLO 2) Codd 1970 Indipendenza dei dati Distinzione nella descrizione dei dati tra livello fisico e livello logico Vendors IBM,Informix,Microsoft,Oracle,Sybase

Dettagli

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 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

Dettagli

A.A. 2018/2019. Esercitazione 11. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

A.A. 2018/2019. Esercitazione 11. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE A.A. 2018/2019 Esercitazione 11 Strutturazione di Istruzioni in Linguaggio SQL [ Possibili Soluzioni ] Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Esercizio 1 Scrivere

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Matricola Nome Cognome Firma Es.1 Es.2 Es.3 Es.4 Es.5 Tot. Esercizio 1 (5 punti) Date le seguenti strutture dati: float elementi[5]; int numeroelementi; int elementi[5][5]; int numerorighe; int numerocolonne;

Dettagli

LA PROGETTAZIONE LOGICA

LA PROGETTAZIONE LOGICA LA PROGETTAZIONE LOGICA DALLO SCHEMA ER ALLO SCHEMA RELAZIONALE Da concettuale a logico! Traduzione di uno schema concettuale (ER) in uno schema (relazionale) logico! Fare attenzione ai vincoli di integrità!!

Dettagli

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 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

Dettagli

INTRODUZIONE AL 2 TEST IN ITINERE. a.a

INTRODUZIONE AL 2 TEST IN ITINERE. a.a INTRODUZIONE AL 2 TEST IN ITINERE a.a. 2014-15 Modalità d esame Tipologia degli studenti: A(ll). Non Sufficienti al Primo Test in Itinere (su tutto il programma sino ad SQL base). Si presentano su tutto

Dettagli

Fondamenti di Informatica 2

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

Dettagli

Progettazione concettuale usando il modello Entità-Relazione (ER) II parte

Progettazione concettuale usando il modello Entità-Relazione (ER) II parte Progettazione concettuale usando il modello Entità-Relazione (ER) II parte 1 Aggregazione Usata quando dobbiamo modellare una relazione che coinvolge (insiemi di entità e) un insieme di relazioni L aggregazione

Dettagli

Laboratorio di Basi di Dati Esercizio 8.4/9.1

Laboratorio di Basi di Dati Esercizio 8.4/9.1 Laboratorio di Basi di Dati Esercizio 8.4/9.1 Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it Università degli Studi di L Aquila Dipartimento di Informatica Technolabs S.p.A. R&D Department

Dettagli

Basi di dati: appello 14/07/06

Basi di dati: appello 14/07/06 Basi di dati: appello 14/07/06 Si consideri il seguente schema di base di dati che vuole tenere traccia dell attività di un agenzia che affitta appartamenti per vacanze nella città di Varazze. CLIENTE

Dettagli

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste Corso di Basi di Dati 9. Esercitazioni in SQL: Check, asserzioni, viste A.A. 2016 2017 Check Come abbiamo visto, SQL permette di specificare vincoli sugli attributi e le tabelle attraverso il comando check

Dettagli

Basi di dati I 8 settembre 2011 Tempo a disposizione: un ora e trenta minuti. Libri chiusi.

Basi di dati I 8 settembre 2011 Tempo a disposizione: un ora e trenta minuti. Libri chiusi. Basi di dati I 8 settembre 2011 Tempo a disposizione: un ora e trenta minuti. Libri chiusi. Cognome: Nome: Matricola: Corso di studi: Domanda 1 (25%) Mostrare uno schema concettuale che rappresenti una

Dettagli

ESERCITAZIONE: AZIENDA

ESERCITAZIONE: AZIENDA ESERCITAZIONE: AZIENDA Homework 24 ottobre 2002 Emanuel Weitschek emanuel@dia.uniroma3.it Prerequisiti (software) PostgreSQL pgadmin Driver JDBC Ambito Si consideri una base di dati che contiene informazioni

Dettagli

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. 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:

Dettagli

ESAME di INFORMATICA e ARCHIVIAZIONE

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 20 luglio 2011 1 Progettazione

Dettagli

PROGETTAZIONE DI DATABASE Linguaggio SQL

PROGETTAZIONE DI DATABASE Linguaggio SQL PROGETTAZIONE DI DATABASE Linguaggio SQL Modello Concettuale (Modellazione del mondo reale) Modello Logico (Definizione del tipo e del formato dei dati) Modello Fisico (Implementazione fisica su supporti

Dettagli

Laboratorio di Basi di Dati e Multimedia

Laboratorio di Basi di Dati e Multimedia Laboratorio di Basi di Dati e Multimedia Laurea in Informatica Multimediale - A.A. 2006/07 Docente: Alessandra Di Pierro Email: dipierro@sci.univr.it Lezione 2 Vincoli intrarelazionali Proprietà che devono

Dettagli

Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno Cognome e nome: Matricola:

Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno Cognome e nome: Matricola: Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno 2012 Cognome e nome: Matricola: Parte prima Domanda 1 Domanda 2 Domanda 3 Totale Istruzioni: È vietato portare

Dettagli

Soluzione esercitazione 01

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

Dettagli

Manuale SQL. Manuale SQL - 1 -

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,

Dettagli

Esame di Basi di Dati, SOLUZIONE APPELLO 09/06/2009

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

Dettagli

Gestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella

Gestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella Gestione e Analisi dei Dati Lezione 2 Vincoli su attributo Selezioni semplici su una tabella Vincoli sui Dati Regole del dominio di interesse Unicità di codici di corso e matricole Un codice deve corrispondere

Dettagli

a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati:

a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati: Gestione dei dati e della conoscenza, a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati: Si vuole modellare

Dettagli

SQL. SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe

SQL. SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe SQL SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe Operazioni di aggiornamento Abbiamo visto come creare tabelle e come interrogarle. Vedremo ora come popolarle

Dettagli

Esercitazione seconda prova Esame di Stato Prova di Informatica Gestionale ITC Programmatori e Mercurio. Note introduttive

Esercitazione seconda prova Esame di Stato Prova di Informatica Gestionale ITC Programmatori e Mercurio. Note introduttive Note introduttive Il metodo di lavoro proposto ripercorre il ciclo di vita di un sistema informativo automatizzato attraverso l analisi, il progetto, la realizzazione e il testing. Il sistema informativo

Dettagli

Versione 1.0. (Iniziamo ad interrogare il DB)

Versione 1.0. (Iniziamo ad interrogare il DB) Appunti di Informatica SQL for COOL PEOPLE Versione 1.0 Lezione 03 (Iniziamo ad interrogare il DB) prof. Michele Salvemini 2015/2016 Sommario Impostazione della lezione... 3 pre-requisiti:... 3 Argomenti

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

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

Dettagli

Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni

Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni Domanda 1 Si consideri una base di dati sulle relazioni R 1 (A, B, C) R 2 (D, E, F ) Scrivere interrogazioni in SQL equivalenti alle seguenti

Dettagli

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica Concetti avanzati SQL: Raggruppamento Nidificazione

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica Concetti avanzati SQL: Raggruppamento Nidificazione BASE DI DAI Esercizi Progettazione concettuale Progettazione logica Concetti avanzati SQL: Raggruppamento Nidificazione Informatica Umanistica Università di Pisa Esercizio: Agenzia immobiliare Si considerino

Dettagli

A.A. 2018/2019. Esercitazione 12. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

A.A. 2018/2019. Esercitazione 12. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE A.A. 2018/2019 Esercitazione 12 Strutturazione di Istruzioni in Linguaggio SQL [ Possibili Soluzioni ] Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Esercizio 1 Scrivere

Dettagli

SCHEMA ER. Tutti i dati del carrello acquisti sono memorizzati nel database e quindi può essere costruito con più query.

SCHEMA ER. Tutti i dati del carrello acquisti sono memorizzati nel database e quindi può essere costruito con più query. Esame di Stato Istituto Tecnico Industriale CORSO DI ORDINAMENTO Indirizzo: INFORMATICA Proposta di soluzione per il tema di: INFORMATICA GENERALE E APPLICAZIONI TECNICO-SCIENTIFICHE Anno Scolastico: 2007-2008

Dettagli

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa BASE DI DAI Esercizi Progettazione concettuale Progettazione logica Informatica Umanistica Università di Pisa Esercizio: Parcheggi Si consideri la seguente realtà riguardante una società di gestione dei

Dettagli

IL MODELLO RELAZIONALE

IL MODELLO RELAZIONALE Basi di dati 1 IL MODELLO RELAZIONALE (CAPITOLO 2) Seconda parte: dal diagramma ER allo schema relazionale Progettazione 2 Dominio Applicativo PROGETTAZIONE CONCETTUALE PROGETTAZIONE LOGICA VALUTAZIONE

Dettagli

Esame di Basi di Dati

Esame di Basi di Dati Esame di Basi di Dati 11 Giugno 2013 Matricola CFU (9/12/9+9) Progetto (Sì/No) Cognome Nome Istruzioni I voti verranno resi disponibili su AlmaEsami. Chi vorrà rifiutare il voto dovrà comunicarlo tassativamente

Dettagli

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 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 è

Dettagli

GESTIONE ABBONAMENTI RIVISTE

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

Dettagli

Verifica di Informatica. Cognome e Nome: Classe 5ª Ci, Data

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

Dettagli

Prova Scritta di Basi di Dati

Prova Scritta di Basi di Dati Prova Scritta di Basi di Dati 1 Luglio 2008 COGNOME: NOME: MATRICOLA: Si prega di risolvere gli esercizi direttamente sui fogli del testo, negli spazi indicati. Usare il foglio protocollo solo per la brutta

Dettagli

Basi di Dati: Elementi

Basi di Dati: Elementi Basi di Dati: Elementi Docente: Prof. Pierangela Samarati Appello di Maggio online - 22 Maggio 2010 Tempo a disposizione 2:00h Soluzioni Domanda 1) Illustrare e commentare le diverse fasi del ciclo di

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Matricola Nome Cog Firma Esercizio 1 (5 punti) Date le seguenti strutture dati: float elementi[5]; int numeroelementi; Vettore; float elementi[5][5]; int numerorighe; int numerocolonne; Matrice; Fondamenti

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Esercizi di progettazione concettuale Anno accademico 2017-2018 Paolo Perlasca Esercizio LEZIONI EROGATE DA UN CENTRO DI FORMAZIONE REGIONALE 2 Analisi dei requisiti Si vuole

Dettagli

Gestione e Analisi dei Dati. Lezione 4 Relazioni multi tabella Relazioni uno-a-uno, uno-a-molti, molti-a-molti

Gestione e Analisi dei Dati. Lezione 4 Relazioni multi tabella Relazioni uno-a-uno, uno-a-molti, molti-a-molti Gestione e Analisi dei Dati Lezione 4 Relazioni multi tabella Relazioni uno-a-uno, uno-a-molti, molti-a-molti Prodotto Cartesiano Finora operatori unari lavorano sui dati di un unica tabella In realtà

Dettagli

GESTIONE ASSICURAZIONI AUTO

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

Dettagli

SQL: DDL, VI, Aggiornamenti e Viste

SQL: DDL, VI, Aggiornamenti e Viste SQL: DDL, VI, Aggiornamenti e Viste 1 SQL è più di un semplice linguaggio di interrogazione v Linguaggio di definizione dati (Data-definition language, DDL): Crea/distrugge/modifica relazioni e viste Definisce

Dettagli

Basi di dati I 10 settembre 2019 Tempo a disposizione: un ora e 30 minuti. Possibili soluzioni. Cognome: Nome: Matricola:

Basi di dati I 10 settembre 2019 Tempo a disposizione: un ora e 30 minuti. Possibili soluzioni. Cognome: Nome: Matricola: Tempo a disposizione: un ora e 30 minuti. Possibili soluzioni Cognome: Nome: Matricola: Domanda 1 (20%) Considerare la seguente base di dati, che fa riferimento alle pratiche gestite da una assicurazione

Dettagli

Mirco Nanni ISTI CNR, Pisa. CdL in Lettere A.A. 2007/2008

Mirco Nanni ISTI CNR, Pisa. CdL in Lettere A.A. 2007/2008 Informatica per le scienze umane Mirco Nanni ISTI CNR, Pisa CdL in Lettere A.A. 2007/2008 Informazione strutturata Le Basi di Dati Relazionali Concetti Fondamentali Concetti Fondamentali Base di dati,

Dettagli

Basi di Dati. Sistemi per Basi di Dati Relazionali: Modello Logico. Concetti Fondamentali. Concetti Fondamentali

Basi di Dati. Sistemi per Basi di Dati Relazionali: Modello Logico. Concetti Fondamentali. Concetti Fondamentali Basi di Dati Sistemi per Basi di Dati Relazionali: Modello Logico Concetti Fondamentali Introduzione Concetti Fondamentali Base di dati, tabella, ennupla, attributo, dominio Valori nulli Vincoli di chiave,

Dettagli

4/16/07. Le Basi di Dati Relazionali. Concetti Fondamentali. Base di dati, tabella, ennupla, attributo, dominio. Valori nulli

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

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Esercizi di progettazione concettuale Anno accademico 2016-2017 Paolo Perlasca Esercizio LEZIONI EROGATE DA UN CENTRO DI FORMAZIONE REGIONALE 2 Analisi dei requisiti! Si vuole

Dettagli

Esercitazione ER e Algebra Relazionale

Esercitazione ER e Algebra Relazionale Esercitazione ER e Algebra Relazionale Roberto Basili Università di Roma Tor Vergata basili@info.uniroma2.it Corso di Basi di Dati e della Conoscenza (2016-17) Operatori relazionali: Esercizi Nelle pagine

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Basi di Dati Progettazione Concettuale: Il Diagramma E-R Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Progettazione di DB Analisi dei requisiti e progettazione in dettaglio Studio/analisi

Dettagli

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 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

Dettagli

Prova Scritta di Basi di Dati

Prova Scritta di Basi di Dati Prova Scritta di Basi di Dati 27 Giugno 2007 COGNOME: NOME: MATRICOLA: Si prega di risolvere gli esercizi direttamente sui fogli del testo, negli spazi indicati. Usare il foglio protocollo solo per la

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL : fondamenti Linguaggio per gestire le basi di dati relazionali Structured Query Language SQL possiede istruzioni per definire lo schema di una base di dati relazionale leggere e scrivere i dati definire

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Matricola Nome Cognome Firma Es.1 Es.2 Es.3 Es.4 Es.5 Tot. Fondamenti di Informatica 2 Prova scritta del 21 Settembre 2010 Esercizio 1 (6 punti) Si consideri la seguente struttura dati utilizzata per memorizzare

Dettagli

Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI

Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI La finalità di questa esercitazione è quella di creare, date delle specifiche progettuale, appositi script di creazione e popolamento di una base

Dettagli

Structured Query Language

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

Dettagli

Basi di dati I 6 luglio 2012 Compito A Tempo a disposizione: un ora e 45 minuti. Libri chiusi.

Basi di dati I 6 luglio 2012 Compito A Tempo a disposizione: un ora e 45 minuti. Libri chiusi. Basi di dati I 6 luglio 2012 Compito A Tempo a disposizione: un ora e 45 minuti. Libri chiusi. : Matricola: Corso di studi: Nota: rispondere su questo foglio, negli spazi disponibili. Altri fogli non verranno

Dettagli

Basi di Dati - Informatica umanistica Esercitazione (Lab)

Basi di Dati - Informatica umanistica Esercitazione (Lab) Basi di Dati - Informatica umanistica Esercitazione (Lab) a.a. 2017-2018 Vinícius Monteiro de Lira (vinicius.monteirodelira@isti.cnr.it) Esercitazione Mini-project! openflights.org Esercitazione (Summary)

Dettagli

Primo Compitino di Basi di Dati

Primo Compitino di Basi di Dati Primo Compitino di Basi di Dati 19 Aprile 2004 Svolgere gli esercizi direttamente sul foglio del testo Usare fogli aggiuntivi solo in mancanza di spazio. NOME: COGNOME: MATRICOLA: Esercizio Punti previsti

Dettagli

Il linguaggio SQL. TUTORATO DIFONDAMENTI DIINFORMATICA

Il linguaggio SQL. TUTORATO DIFONDAMENTI DIINFORMATICA Facoltà di Ingegneria e Architettura Corsi di Laurea in Ingegneria Chimica e Ingegneria Meccanica Il linguaggio SQL TUTORATO DI http://www.diee.unica.it/~marcialis/fi A.A. 2015/2016 CAPITOLO 5: Basi di

Dettagli

GESTIONE ABBONAMENTI RIVISTE

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

Dettagli

PROGETTO LOGICO DA SCHEMI E/R. progetto logico da E/R 1

PROGETTO LOGICO DA SCHEMI E/R. progetto logico da E/R 1 PROGETTO LOGICO DA SCHEMI E/R progetto logico da E/R 1 Nella lezione precedente Abbiamo visto il progetto integrato di dati con il modello E/R e di funzioni con il modello DATA FLOW Abbiamo usato DFD ed

Dettagli

Gestione delle informazioni. Tot. h 10. Base di Dati. Tot. h 56. Grafica in C# - Laboratorio- Tot. h 40. Dipartimento Informatica Materia Informatica

Gestione delle informazioni. Tot. h 10. Base di Dati. Tot. h 56. Grafica in C# - Laboratorio- Tot. h 40. Dipartimento Informatica Materia Informatica Dipartimento Informatica Materia Informatica Classe 5 Tec Ore/anno 198 A.S. 2018-2019 MODULI COMPETENZE UNITA di APPRENDIMENTO Gestione delle informazioni Tot. h 10 Base di Dati Tot. h 56 Grafica in C#

Dettagli

Basi di dati I 28 gennaio 2014 Compito A Tempo a disposizione: un ora e quarantacinque minuti.

Basi di dati I 28 gennaio 2014 Compito A Tempo a disposizione: un ora e quarantacinque minuti. Basi di dati I 28 gennaio 2014 Compito A Tempo a disposizione: un ora e quarantacinque minuti. Cognome: : Matricola: Domanda 1 (10%) Considerare i due schemi seguenti a) Professore Afferenza Dipartimento

Dettagli

Fondamenti di Informatica A. A / 1 9

Fondamenti di Informatica A. A / 1 9 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2 0 1 8 / 1 9 Concetti Introduttivi 1/2 SQL (Structured Query Language) permette di manipolare i dati, interrogare un database relazionale e modellarne

Dettagli

Esercizi di Informatica Documentale

Esercizi di Informatica Documentale Esercizi di Informatica Documentale A.A. 2013/2014 Parte Prima Nota: Laddove si richiede una risposta aperta, rispondere al massimo in tre righe. 1. Che cos è una Base di Dati? 2. Dare la definizione di

Dettagli

SQL: "storia" 31/05/2006 2

SQL: storia 31/05/2006 2 SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali, non i dettagli

Dettagli

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.1 Data Description Language - 1

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.1 Data Description Language - 1 Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.1 Data Description Language - 1 SQL Structured Query Language è un linguaggio con varie funzionalità: contiene sia

Dettagli

PRODOTTO CARTESIANO Caso Generale

PRODOTTO CARTESIANO Caso Generale PRODOTTO CARTESIANO Caso Generale Vincoli di integrità dei dati Un database non deve solamente memorizzare i dati, ma garantire che i dati memorizzati siano corretti; se i dati sono imprecisi o incoerenti,

Dettagli

GESTIONE MAGAZZINO 1

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

Dettagli

Basi di Dati. SOLUZIONE della Prova Scritta del 12 Gennaio 2007

Basi di Dati. SOLUZIONE della Prova Scritta del 12 Gennaio 2007 Basi di Dati SOLUZIONE della Prova Scritta del 12 Gennaio 2007 Schema Relazionale per gli Esercizi 1 e 2 Considerare lo schema di base di dati contenente le relazioni: Rivista (codice: string, : string,

Dettagli

Esame di Basi di Dati

Esame di Basi di Dati Esame di Basi di Dati 17 Febbraio 2014 Matricola CFU (9/12/9+9) Progetto (Sì/No) Cognome Nome Istruzioni I voti verranno resi disponibili su AlmaEsami. Chi vorrà rifiutare il voto dovrà comunicarlo tassativamente

Dettagli