Progetto Logos - Documentazione -

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Progetto Logos - Documentazione -"

Transcript

1 Progetto Logos - Documentazione - Marco Benvegnù Gianluca Marcante Simone Sanavio Roberto De Franceschi PM) Corso di Basi di Dati Corso di Laurea in Ingegneria Informatica A.A. 2002/2003

2 Progetto Logos Analisi dei requisiti, rev. 5, 23 giugno 2003 Requisiti generici R1 Si richiede una applicazione di basi di dati che mantenga informazioni riguardo a: tipi di articoli presenti nel catalogo dell azienda; schemi dei tipi di articoli prodotti dall azienda; articoli prodotti dall azienda; clienti dell azienda; interventi d ora in poi lavori) commissionati dai clienti sui prodotti da loro acquistati; personale dell azienda. Requisiti sui dati Cliente D1.1 Per cliente [50] si intende qualsiasi azienda esterna che abbia acquistato almeno un articolo o che abbia intenzione di acquistarne. D1.2 Ad ogni cliente sono associati i seguenti dati: ragione sociale, via, CAP, comune, provincia, stato, , telefono, fax, partita IVA, note. Tipo di articolo, schema elettrico e articolo D2.1 Per tipo di articolo [150] si intende una categoria merceologica ben specifica, individuata da un codice univoco. D2.2 Ad un tipo di articolo sono associati i seguenti dati: codice, nome, descrizione, schema elettrico unico), tensione elettrica. D3.1 Per schema elettrico [150] si intende un documento, individuato univocamente da un codice, che contiene informazioni relative alla costruzione di un esemplare di quel tipo di articolo. D3.2 Ad uno schema elettrico sono associati i seguenti dati: codice, nome file, progettista, note. D4.1 Per articolo [a crescere, 1000] si intende un prodotto dell azienda, autonomo e vendibile ad un cliente; ogni articolo deve essere univocamente identificato da un numero di matricola e deve essere istanza di un tipo di articolo. Un articolo può esistere a magazzino senza essere assegnato ad un cliente; una volta che un articolo è assegnato ad un cliente, vi rimane associato per sempre. D4.2 Ad un articolo sono associati i seguenti dati: matricola, tipo di articolo, note, cliente. Operatore D5.1 Per operatore [10] si intende una persona che lavora nell azienda, con qualsiasi mansione. Può essere non attivo se non lavora più nell azienda avendovi lavorato in passato. D5.2 Ad un operatore sono associati i seguenti dati: codice, nome, cognome, stato di attività, costo orario, note. 1

3 Lavoro D6.1 Per lavoro [a crescere, 1500] si intende un intervento su un articolo esistente nella base di dati, a seguito di richiesta formale da parte del cliente che possiede l articolo o intende venirne in possesso per esempio effettuando un ordine). D6.2 I possibili tipi di lavoro sono: montaggio/cablaggio, riparazione, verifica, altro. D6.3 Ogni articolo deve essere associato ad uno ed uno solo lavoro di montaggio/cablaggio. Qualora un cliente ordini un articolo che ancora non esiste in base di dati, sarà necessario: 1. creare un nuovo articolo; 2. creare un nuovo lavoro di tipo montaggio/cablaggio relativo all articolo appena creato. D6.4 Ogni lavoro deve essere associato ad un responsabile ed eventualmente ad uno o più aiutanti. Questi soggetti devono essere operatori dell azienda, e per poter essere assegnati ai lavori è necessario che siano attivi. Solo il responsabile ha la possibilità di comunicare l inizio e la fine di un lavoro ed eventuali nonconformità; per il resto, può compiere le stesse operazioni che possono compiere gli aiutanti inserire ore di lavorazione). D6.5 Ad un lavoro sono associati i seguenti dati: codice, stato di esecuzione da iniziare, in corso, terminato), tipo lavoro, articolo associato, data prevista di inizio, data di inizio, data prevista di termine, data di termine, ore previste di lavoro, preventivo, prezzo, nonconformità interne nessuna, una o più), nonconformità esterne nessuna, una o più), responsabile, aiutanti, priorità bassa, normale, alta). D6.6 Per ogni lavoro deve essere possibile risalire a chi vi ha preso parte e quante ore di lavoro interne/esterne dalla ditta e ordinarie/straordinarie ognuno di questi operatori vi ha dedicato. D6.7 Ogni operatore che partecipa ad un lavoro da responsabile o da aiutante) deve poter inserire i dati di lavorazione in momenti diversi. In altri termini, può lavorare contemporaneamente su più lavori senza che nessuno di essi sia terminato. D6.8 Per nonconformità interna [1 per lavoro] si intende un inconveniente riscontrato da un operatore durante lo svolgimento di un lavoro. Ad essa sono associati i seguenti dati: tipo componenti danneggiati nel montaggio, componenti difettosi, documentazione errata, altro), note, ore di lavoro per risolverla indipendentemente da chi le svolge). D6.9 Per nonconformità esterna [1 per lavoro] si intende un inconveniente riscontrato da un cliente su un articolo in suo possesso. L insieme delle nonconformità esterne costituisce, di norma, il motivo di avvio di un lavoro di riparazione. Ad una nonconformità esterna sono associati i seguenti dati: tipo componenti danneggiati nel montaggio, componenti difettosi, documentazione errata, altro), note. Requisiti sulle operazioni O1 Inserire/modificare un cliente raro). O2 Inserire/modificare le proprieta di un articolo 3/giorno). Deve essere possibile creare più articoli dello stesso tipo nell ambito della stessa operazione. O3 Inserire/modificare un operatore raro). O4 Inserire/modificare un tipo di articolo 1/mese). 2

4 O5 Inserire/modificare uno schema elettrico 1/mese). O6 Inserire/modificare un lavoro 6/giorno). O7 Consultare la lista dei lavori associati ad un operatore, ordinata per priorità e/o per data prevista di inizio 20/giorno). Dovranno essere prodotte due sottoliste: una per i lavori di cui l operatore è responsabile, una per i lavori cui l operatore partecipa ma non è responsabile. O8 Comunicare l inizio di un lavoro da parte dell operatore che ne è responsabile, con contestuale produzione di stampe informazioni generali sul lavoro) 6/giorno). O9 Comunicare un certo numero di ore ordinarie/straordinarie dedicate ad un lavoro da parte di un operatore che vi partecipa 20/giorno). O10 Comunicare il completamento di un lavoro da parte dell operatore che ne è responsabile 6/giorno). O11 Inserire/modificare una nonconformità interna o esterna ad un lavoro da parte dell operatore responsabile 1/giorno). O12 Consultare tutti i dati relativi ad un articolo 3/giorno). O13 Consultare l elenco di tutti i lavori associati ad un articolo 5/mese). O14 Consultare il numero di articoli di un certo tipo prodotti in un certo periodo 5/mese). O15 Consultare l elenco di tutti i lavori commissionati da un cliente 2/mese). O16 Consultare l elenco di tutti i lavori completati da un operatore in un certo periodo 10/mese). O17 Inserire, da parte di un impiegato addetto non un operatore), l informazione sul prezzo di un lavoro completato 6/giorno). O18 Consultare informazioni su un lavoro: codice, stato, preventivo, prezzo, date, ore previste, ore già effettuate e da chi, nonconformità, con possibilità di stampa 1/giorno). 3

5 Glossario dei termini Termine Significato Sinonimi Collegamenti Cliente Azienda esterna che possiede un articolo o intende acquistarne - Articolo Tipo di articolo Categoria merceologica specifica - Articolo, elettrico Schema Schema elettrico Documento che contiene informazioni sulla costruzione di un esemplare di un tipo di articolo - Tipo di articolo Articolo Prodotto finale e autonomo, la cui tipologia corrisponde ad uno dei tipi di articolo. E associato ad un cliente, oppure si trova disponibile a magazzino Operatore Lavoratore dell azienda. Lavoratore, elemento del personale Lavoro Intervento su un articolo: montaggio o cablaggio, riparazione, verifica o altro - Prodotto Tipo di articolo, Cliente Lavoro Operatore, Articolo, Nonconformità Nonconformità Inconveniente riscontrato da un cliente su un articolo nonconformità esterna) o da un operatore durante lo svolgimento di un lavoro nonconformità interna) Problema, inconveniente Lavoro 4

6 Schema ER, rev. 7, 25 giugno 2003 RV1 RV2 RV3 Un articolo DEVE essere associato ad uno ed uno solo lavoro di tipo montaggio/cablaggio. L'operatore responsabile di un lavoro DEVE essere anche assegnato al lavoro di cui è responsabile. Un operatore DEVE essere attivo per poter essere assegnato ad un lavoro

7 Progetto Logos Documentazione dello schema ER, rev. 6, 23 giugno 2003 Dizionario dei dati: tipi di entità Tipo di entità Descrizione Attributi Identificatore Cliente Articolo Azienda esterna che possiede almeno un articolo o che intenda acquistarne. Prodotto finale ed autonomo, la cui tipologia corrisponde ad uno dei tipi di articolo. E associato ad un cliente, oppure si trova disponibile a magazzino. RagioneSociale, PartitaIVA, Via, CAP, Comune, Provincia, Stato, Telefono, FAX, , Note Matricola, Note TipoDiArticolo Categoria merceologica specifica., Nome, Descrizione, TensioneElettrica SchemaElettrico Documento che contiene informazioni sulla costruzione di un esemplare di un tipo di articolo., Progettista, NomeFile [nome del file in cui è memorizzato lo schema elettrico], Note Operatore Lavoratore dell azienda., Nome, Cognome, CostoOrario, Attivo, Note Lavoro Intervento su un articolo: montaggio o cablaggio, riparazione, verifica o altro. LavoroDaIniziare Specializzazione di Lavoro; si tratta di un attività non ancora iniziata. LavoroIniziato Specializzazione di Lavoro; si tratta di un attività già iniziata. LavoroInCorso LavoroTerminato NonConformità Specializzazione di LavoroIniziato; si tratta di un attività iniziata ma non conclusa Specializzazione di LavoroIniziato; si tratta di un attività conclusa. Inconveniente riscontrato su un articolo durante un lavoro. NonConfInterna Specializzazione di Nonconformità; inconveniente riscontrato da un operatore dell azienda. NonConfEsterna Specializzazione di Nonconformità; inconveniente riscontrato da un cliente., Tipo, DataInizioPrevista, DataTerminePrevista, Preventivo, OrePrevisteLavoro, Priorità, Tipo, DataInizioPrevista, DataTerminePrevista, Preventivo, OrePrevisteLavoro, Priorità, Tipo, DataInizioPrevista, DataTerminePrevista, Preventivo, OrePrevisteLavoro, Priorità, DataInizio, Tipo, DataInizioPrevista, DataTerminePrevista, Preventivo, OrePrevisteLavoro, Priorità, DataInizio, Tipo, DataInizioPrevista, DataTerminePrevista, Preventivo, OrePrevisteLavoro, Priorità, DataInizio, DataTermine, Prezzo, Tipo, Note, Tipo, Note, OreDedicate [ore impiegate per la risoluzione della nonconformità], Tipo, Note PartitaIVA Matricola 1

8 Dizionario dei dati: tipi di associazione Tipo di ass. Descrizione Entità coinvolte Attributi Possesso Intervento Tipologia Schematizzazione Responsabilità Associa un cliente ad un articolo in suo possesso. Associa un lavoro all articolo che vi è sottoposto. Associa un articolo al suo tipo di articolo. Associa un tipo di articolo al suo schema elettrico. Associa l operatore responsabile di un lavoro a quel lavoro. Assegnazione Associa un operatore ad un lavoro che deve eseguire. Problema Associa un lavoro ad una nonconformità riscontrata svolgendo quel lavoro. Cliente 0, N), Articolo 0, 1) Articolo 1, N), Lavoro 1, 1) Articolo 1, 1), TipoDiArticolo 0, N) TipoDiArticolo 1, 1), Schema 1, 1) Operatore 0, N), Lavoro 1, 1) Operatore 0, N), Lavoro 1, N) Lavoro 0, N), NonConformità 1, 1) OreInterneOrdinarie, OreEsterneOrdinarie, OreInterneStraordinarie, OreEsterneStraordinarie Vincoli di integrità RV RV1 RV2 RV3 Regola Un articolo DEVE essere associato ad uno ed uno solo lavoro di tipo montaggio/cablaggio. L operatore responsabile di un lavoro DEVE essere anche assegnato al lavoro di cui è responsabile. Un operatore DEVE essere attivo per poter essere assegnato ad un lavoro. Domini degli attributi: note generali Qui di seguito vengono documentati i domini degli attributi dei tipi di entità e dei tipi di associazione. Trovandoci al livello della progettazione concettuale, si tratta di indicazioni generiche: non vengono utilizzate sintassi specifiche come per esempio la sintassi SQL o la sintassi dei tipi di uno specifico DBMS). 2

9 Domini degli attributi: tipi di entità Tipo di entità Attributo Dominio Cliente Articolo TipoDiArticolo SchemaElettrico Operatore Lavoro PartitaIVA RagioneSociale Via CAP Comune Provincia Stato Telefono FAX Note Matricola Note Nome Descrizione TensioneElettrica Progettista NomeFile Note Nome Cognome CostoOrario Attivo Note Tipo DataInizioPrevista DataTerminePrevista Preventivo OrePrevisteLavoro Priorità [5] [2] Testo Intero autoincrementante Testo Intero autoincrementante Testo Testo Monetario Booleano Testo LavoroDaIniziare Come Lavoro Come Lavoro LavoroIniziato Come Lavoro DataInizio Intero autoincrementante {montaggio/cablaggio, riparazione, verifica, altro} Data Data Monetario Intervallo temporale {massima, alta, normale, bassa} Come Lavoro Data LavoroInCorso Come LavoroIniziato Come LavoroIniziato LavoroTerminato Nonconformità NonconfInterna Come LavoroIniziato DataTermine Prezzo Tipo Note Come Nonconformità OreDedicate Come LavoroIniziato Data Monetario Intero autoincrementante {componenti danneggiati nel montaggio, componenti danneggiati nel funzionamento, componenti difettosi, documentazione errata, altro} Testo Come Nonconformità Intervallo temporale NonconfEsterna Come Nonconformità Come Nonconformità 3

10 Domini degli attributi: tipi di associazione Tipo di associazione Attributo Dominio Assegnazione OreEsterneOrdinarie OreEsterneStraordinarie OreInterneOrdinarie OreInterneStraordinarie Intervallo temporale Intervallo temporale Intervallo temporale Intervallo temporale 4

11 Progetto Logos Carico applicativo, rev. 4, 25 giugno 2003 Considerato il principio dell 80/20, vengono qui elencate solo le operazioni che si prevede di eseguire almeno una volta al giorno. Tavola dei volumi Concetto Costrutto Volume Cliente E 50 Articolo E 1000 TipoDiArticolo E 150 SchemaElettrico E 150 Operatore E 10 Lavoro E 1500 LavoroDaIniziare E 10 LavoroIniziato E 1490 LavoroInCorso E 10 LavoroTerminato E 1480 NonConformità E 3000 NonConfInterna E 1500 NonConfEsterna E 1500 Possesso R 980 Intervento R 1500 Tipologia R 1000 Schematizzazione R 150 Responsabilità R 1500 Assegnazione R 3000 Problema R 3000 Tavola delle operazioni Operazione Tipo Frequenza O2 I 3 volte/giorno O6 I 6 volte/giorno O7 I 20 volte/giorno O8 I 6 volte/giorno O9 I 20 volte/giorno O10 I 6 volte/giorno O11 I 1 volta/giorno O12 I 3 volte/giorno O16 I 10 volte/giorno O17 I 6 volte/giorno O18 I 1 volta/giorno 1

12 Schema ER ristrutturato, rev. 5, 25 giugno 2003 RV1 RV2 RV3 Un articolo DEVE essere associato ad uno ed uno solo lavoro di tipo montaggio/cablaggio. L'operatore responsabile di un lavoro DEVE essere anche assegnato al lavoro di cui è responsabile. Un operatore DEVE essere attivo per poter essere assegnato ad un lavoro.

13 Progetto Logos Note sulla ristrutturazione dello schema ER, rev. 4, 23 giugno 2003 Analisi delle ridondanze Non vi sono ridondanze lo schema ER è infatti minimale). Le uniche operazioni che potrebbero beneficiare di una ridondanza sono quelle, peraltro non previste, di totalizzazione delle ore dedicate ad un lavoro e delle ore non retribuite di un operatore. Eliminazione delle generalizzazioni Il costrutto della generalizzazione è stato usato nello schema due volte: tipo di entità NonConformità tipo di entità Lavoro NonConformità La seguente figura mostra due delle possibili scelte nell eliminazione della generalizzazione per Non- Conformità: Figura 1: Eliminazione della generalizzazione NonConformità: a) Accorpamento delle figlie nel padre b) Accorpamento del padre nelle figlie Non si prende in considerazione l alternativa di sostituzione con associazioni in quanto essa è consigliabile solo quando gli attributi in gioco sono molti. Le operazioni coinvolte sono O11 e O18: O11 - l inserimento richiede lo stesso tempo nelle due forme di eliminazione delle generalizzazioni, ma la modifica è più veloce sulla forma b decomposizione orizzontale) O18 - tavole degli accessi nei due casi: 1

14 a) Accorpamento delle figlie nel padre Concetto Costr. Accessi Tipo Lavoro E 1 L Problema R 2 L NonConformità E 2 L b) Accorpamento del padre nelle figlie Concetto Costr. Accessi Tipo Lavoro E 1 L ProblemaInt R 1 L NonConformitàInt E 1 L ProblemaEst R 1 L NonConformitàEst E 1 L Come si vede abbiamo cinque accessi in lettura in entrambe le ristrutturazioni. In conclusione la nostra scelta sul tipo di eliminazione da adottare cade sulla modalità accorpamento del padre nelle figlie in quanto l accorpamento delle figlie nel padre spreca più memoria senza permettere una maggiore velocità. Lavoro Su 1500 lavori, 1480 sono lavori terminati in pratica il 99% del totale), quindi accorpare le figlie nel padre introduce uno spreco di memoria trascurabile e riduce il numero di accessi per le operazioni O6, O7, O8, O10, O15 e O18, rispetto alle altre alternative. Queste tra l altro richiederebbero la replicazione aggiunta di varie associazioni e vincoli con conseguente aumento della complessità e degli overhead. Partizionamento/Accorpamento di concetti Tutte le operazioni accedono a tutti gli attributi di un concetto, perciò non sono richieste decomposizioni verticali. Non vi sono decomposizioni orizzontali utili. Non ci sono attributi multivalore. L unica associazione uno-ad-uno è Schematizzazione; le entità coinvolte hanno partecipazione obbligatoria e quindi il loro accorpamento non introdurrebbe sprechi di memoria. Dato però che tutte le operazioni accedono separatamente ai due concetti conviene mantenerli separati. Valutiamo l opportunità di accorpare le due associazioni Responsabilità ed Assegnamento. L operazione è sconsigliata dal fatto che modifiche alle non conformità ed alle date di inizio o fine lavoro richiedono un preventivo controllo di responsabilità, che risulta più efficiente mantenendo separate le due associazioni. Scelta degli identificatori primari SchemaElettrico e TipoDiArticolo sono identificate esternamente l una dall altra. Per entrambe le entità risulta più adatta la chiave interna. Le altre entità hanno tutte un solo identificatore. 2

15 Schema logico, rev. 2, 24 giugno 2003

16 Progetto Logos Note sulla traduzione verso il modello logico, rev. 1, 25 giugno 2003 In questa sezione documentiamo alcune scelte effettuate durante la traduzione dello schema ER ristrutturato verso il modello logico relazionale. Consideriamo solo due casi che meritano commento; in tutte le altre occasioni non sono sorte difficoltà o non sono emerse alternative valide. Blocco TipoDiArticolo - Schematizzazione - SchemaElettrico Le cardinalità delle partecipazioni dei tipi di entità TipoDiArticolo e Schematizzazione nel tipo di associazione Schematizzazione sono entrambe 1, 1). Nella traduzione, è possibile inglobare il tipo di associazione in uno dei due tipi di entità mediante un attributo di chiave esterna. La scelta è caduta nell inserire un attributo SchemaElettrico nel tipo di entità TipoDiArticolo in quanto, così facendo, nella consultazione dei dati relativi ad un articolo, si può risalire prima al tipo di articolo e poi da questo facilmente allo schema elettrico. Non sono invece previste operazioni che richiedano di risalire dallo schema elettrico al tipo di articolo. Si noti che questi due tipi di entità non sono stati accorpati, in quanto era stato deciso di mantenerli separati in sede di ristrutturazione dello schema ER. Blocco Articolo - Possesso - Cliente Qui le cardinalità delle partecipazioni sono 0, 1) nel caso di Articolo e 0, N) nel caso di Cliente. La traduzione è stata effettuata nel modo tipico in cui si traduce un tipo di associazione uno a molti, cioè inserendo nello schema di relazione Articolo un attributo Cliente, che risulta chiave esterna riferente l attributo PartitaIVA dello schema Cliente. In questo caso, però, la cardinalità minima della partecipazione di Articolo al tipo di associazione Cliente è 0, per cui va senz altro presa in considerazione l opportunità di tradurre creando un terzo schema di relazione Possesso. Questa introduzione è molto spesso conveniente quando consente di evitare la presenza di molti valori nulli. Nel caso specifico, risulta dalla tabella dei volumi che il numero di articoli non assegnati ad un cliente è molto basso si tratta degli articoli disponibili a magazzino). L introduzione di un terzo schema di relazione Possesso, pertanto, farebbe aumentare la complessità dello schema logico senza risultare particolarmente vantaggiosa. 1

17 Progetto Logos Qualità dello schema logico, rev. 1, 25 giugno 2003 Ci proponiamo di verificare la qualità dello schema logico utilizzando gli strumenti della teoria della normalizzazione. Prima forma normale Gli schemi in 1NF sono caratterizzati dalle seguenti proprietà: tutti gli attributi possono assumere solo valori singoli in un dominio costituito da valori atomici; non esistono relazioni nidificate. Se la progettazione dello schema della base di dati viene effettuata con opportuni criteri, ponendo particolare cura nella progettazione concettuale, tutti gli schemi di relazione ottenuti dovrebbero sempre essere in 1NF. Nel nostro caso, tutti gli schemi sono in prima forma normale. Seconda forma normale Uno schema di relazione R è in 2NF se è in 1NF e se non esiste un attributo A non primo che dipende funzionalmente in modo parziale da una chiave candidata di R. Nel nostro schema di base di dati, la maggior parte degli schemi di relazione ha una sola chiave candidata, che quindi è anche chiave primaria. Fanno eccezione i seguenti schemi di relazione: Cliente, che ha chiave primaria PartitaIVA e possiede un altra chiave candidata RagioneSociale è inverosimile che esistano due clienti con la stessa ragione sociale TipoDiArticolo, che ha chiave primaria e possiede un altra chiave candidata SchemaElettrico, dal momento che nello schema ER le cardinalità della partecipazione di questi due tipi di entità alla associazione Schematizzazione sono entrambe 1, 1). SchemaElettrico, che ha chiave primaria e possiede un altra chiave candidata NomeFile. Nel caso di questi tre schemi di relazione, entrambe le chiavi candidate sono composte da un singolo attributo: per questo motivo, eventuali dipendenze funzionali verso attributi non primi sono necessariamente complete. Tutti gli altri schemi di relazione hanno un unica chiave candidata. Ad eccezione dello schema Assegnazione, tutti hanno chiave primaria formata da un unico attributo e sono quindi in 2NF. Per quanto riguarda invece lo schema di relazione Assegnazione, nessuno degli attributi non primi cioè OreInterneOrdinaria, OreEsterneOrdinarie, OreInterneStraordinarie, OreEsterneStraordinarie) dipende funzionalmente da uno solo degli attributi di chiave primaria Operatore e Lavoro. Terza forma normale Uno schema di relazione R è in 3NF se per ogni dipendenza funzionale X A non banale vale almeno una delle seguenti condizioni: X è superchiave di R; A è un attributo primo. 1

18 L unico caso in cui la proprietà di 3NF può essere discussa riguarda lo schema di relazione Cliente. In questo schema potrebbero sembrare esserci le seguenti dipendenze funzionali: Comune CAP; Comune Provincia; Comune Stato; CAP Provincia;... In realtà, i clienti possono risiedere in diversi stati. Possono esistere nomi di città uguali tra stati diversi, con provincie/regioni diverse e codici di avviamento postale diversi. Per questi motivi, le dipendenze funzionali suddette non esistono. Va detto che la grande maggioranza dei clienti è italiana, ma va anche aggiunto che questo gruppo di attributi non è di interesse per alcuna operazione. Il committente, infatti, desidera mantenere questi dati solo per completezza. 2

19 Progetto Logos Definizione SQL dello schema della base di dati, rev. 1, 24 giugno 2003 Note generali Durante l implementazione dello schema della base di dati in SQL è stato necessario effettuare alcune scelte. Per commentarle, si farà qui riferimento alla documentazione dello schema ER, nella quale si era data un indicazione sui domini degli attributi. Tipi enumerati In fase di progettazione concettuale, era emersa la necessità di assegnare ad alcuni attributi un dominio costituito da un elenco di valori. Per la breve discussione seguente faremo riferimento, come esempio, all attributo LAVORO.Tipo. Questo attributo poteva assumere uno tra i seguenti valori: montaggio/cablaggio riparazione verifica altro Sebbene sia possibile definire con SQL domini personalizzati, si è ritenuto di assegnare a questi attributi il dominio INTEGER, con un vincolo CHECK per garantire che il valore introdotto sia maggiore di 0. Nell esempio specifico: CREATE TABLE Lavoro [...] Tipo INTEGER NOT NULL CHECK Tipo > 0), [...] ) L associazione tra i numeri interi positivi e le stringhe che descrivono il valore dell attributo è demandata all applicazione. Questo permette una notevole flessibilità: qualora, in futuro, il committente decidesse di introdurre altre categorie supplementari di lavoro, non sarebbe necessario modificare lo schema della base di dati. Inoltre la rappresentazione è più compatta e le espressioni SQL di manipolazione risultano più semplici. Tipi monetari Si è optato per l utilizzo di campi DECIMAL 9, 2), con nove cifre per l importo in euro e due cifre per i centesimi. Vincoli di integrità Sebbene il DBMS da noi scelto, PostgreSQL, non supporti le clausole ASSERTION, abbiamo incluso la codifica dei vincoli di integrità anche nell implementazione SQL dello schema della base di dati. 1

20 Schema CREATE TABLE Cliente PartitaIVA VARCHAR 16) PRIMARY KEY, RagioneSociale VARCHAR 50) NOT NULL, Via VARCHAR 50), CAP CHAR 5), Comune VARCHAR 30), Provincia CHAR 2), Stato VARCHAR 14), Telefono VARCHAR 14), Fax VARCHAR 14), VARCHAR 40), Note TEXT CREATE TABLE Operatore VARCHAR 15) PRIMARY KEY, Nome VARCHAR 20) NOT NULL, Cognome VARCHAR 20) NOT NULL, CostoOrario DECIMAL 9, 2) NOT NULL, Attivo BOOLEAN NOT NULL, Note TEXT CREATE TABLE SchemaElettrico VARCHAR 30) PRIMARY KEY, NomeFile VARCHAR 30), Progettista VARCHAR 30), Note TEXT CREATE TABLE TipoDiArticolo SERIAL PRIMARY KEY, Nome VARCHAR 50) NOT NULL, Descrizione TEXT, TensioneAlimentazione VARCHAR 15), SchemaElettrico VARCHAR 30) NOT NULL REFERENCES SchemaElettrico ) ON DELETE RESTRICT ON UPDATE CASCADE 2

21 CREATE TABLE Articolo Matricola SERIAL PRIMARY KEY, TipoArticolo INTEGER NOT NULL REFERENCES TipoDiArticolo ) ON DELETE RESTRICT ON UPDATE CASCADE, Cliente VARCHAR 16) REFERENCES Cliente PartitaIVA) ON DELETE RESTRICT ON UPDATE CASCADE, Note TEXT CREATE TABLE Lavoro SERIAL PRIMARY KEY, Tipo INTEGER NOT NULL CHECK Tipo > 0), DataInizioPrevista DATE NOT NULL, DataTerminePrevista DATE NOT NULL, Preventivo DECIMAL 9, 2), OrePrevisteLavoro INTERVAL, Priorita INTEGER NOT NULL CHECK Priorita > 0), StatoEsecuzione INTEGER NOT NULL CHECK StatoEsecuzione > 0), Prezzo DECIMAL 9, 2), DataInizio DATE, DataTermine DATE, Responsabile VARCHAR 15) NOT NULL REFERENCES Operatore ) ON DELETE RESTRICT ON UPDATE CASCADE, Articolo INTEGER NOT NULL REFERENCES Articolo Matricola) ON DELETE RESTRICT ON UPDATE CASCADE CREATE TABLE Assegnazione Operatore VARCHAR 15) REFERENCES Operatore ), Lavoro INTEGER REFERENCES Lavoro ), OreInterneOrdinarie INTERVAL NOT NULL, OreEsterneOrdinarie INTERVAL NOT NULL, OreInterneStraordinarie INTERVAL NOT NULL, OreEsterneStraordinarie INTERVAL NOT NULL, PRIMARY KEY Responsabile, Lavoro) 3

22 CREATE TABLE NonConformitaEst SERIAL PRIMARY KEY, Lavoro INTEGER NOT NULL REFERENCES Lavoro ) ON DELETE CASCADE ON UPDATE CASCADE, Tipo INTEGER NOT NULL CHECK Tipo > 0), Note TEXT CREATE TABLE NonConformitaInt SERIAL PRIMARY KEY, Lavoro INTEGER NOT NULL REFERENCES Lavoro ) ON DELETE CASCADE ON UPDATE CASCADE, Tipo INTEGER NOT NULL CHECK Tipo > 0), OreDedicate INTERVAL NOT NULL, Note TEXT CREATE ASSERTION ResponsabileAssegnatoLavoro CHECK EXISTS SELECT * FROM LAVORO JOIN ASSEGNAZIONE ON LAVORO. = ASSEGNAZIONE.Lavoro WHERE LAVORO.Responsabile = ASSEGNAZIONE.Operatore ) CREATE ASSERTION ArticoloMontaggio CHECK 1 = SELECT COUNT *) FROM LAVORO JOIN ARTICOLO ON LAVORO.Articolo = ARTICOLO.Matricola WHERE LAVORO.Tipo = 1 ) 4

23 CREATE ASSERTION OperatoreAssegnatoAttivo CHECK 0 = SELECT COUNT *) FROM OPERATORE JOIN ASSEGNAZIONE JOIN LAVORO ON ASSEGNAZIONE.Operatore = OPERATORE. AND ASSEGNAZIONE.Lavoro = Lavoro. WHERE OPERATORE.Attivo = FALSE AND LAVORO.StatoEsecuzione <> 3 ) 5

Vincoli di Integrità

Vincoli di Integrità Vincoli di Integrità Antonella Poggi Dipartimento di informatica e Sistemistica Sapienza Università di Roma Progetto di Applicazioni Software Anno accademico 2010-2011 Questi lucidi sono stati prodotti

Dettagli

Basi di Dati Relazionali

Basi di Dati Relazionali Corso di Laurea in Informatica Basi di Dati Relazionali a.a. 2009-2010 PROGETTAZIONE DI UNA BASE DI DATI Raccolta e Analisi dei requisiti Progettazione concettuale Schema concettuale Progettazione logica

Dettagli

Impresa di raccolta e riciclaggio di materiali metallici e di rifiuti.

Impresa di raccolta e riciclaggio di materiali metallici e di rifiuti. Impresa di raccolta e riciclaggio di materiali metallici e di rifiuti. Indice Cognome Nome Matr.xxxxxx email Cognome Nome Mat. Yyyyyy email Argomento Pagina 1. Analisi dei requisiti 1 a. Requisiti espressi

Dettagli

70555 Informatica 3 70777 Sicurezza 2. 70555 Mario Rossi 70777 Anna Bianchi. Esempio istanza:

70555 Informatica 3 70777 Sicurezza 2. 70555 Mario Rossi 70777 Anna Bianchi. Esempio istanza: DOMANDE 1) Definire i concetti di schema e istanza di una base di dati, fornendo anche un esempio. Si definisce schema di una base di dati, quella parte della base di dati stessa che resta sostanzialmente

Dettagli

11 - Progettazione Logica

11 - Progettazione Logica 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 11 - Progettazione Logica

Dettagli

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m Si consideri il seguente schema di base di dati, che vuole memorizzare informazioni relative a pubblicazioni su riviste

Dettagli

I livelli di progettazione possono essere così schematizzati: Esistono tre tipi diversi di modelli logici: Modello gerarchico: Esempio SPECIFICHE

I livelli di progettazione possono essere così schematizzati: Esistono tre tipi diversi di modelli logici: Modello gerarchico: Esempio SPECIFICHE I DATABASE o basi di dati possono essere definiti come una collezione di dati gestita dai DBMS. Tali basi di dati devono possedere determinati requisiti, definiti come specifiche, necessarie per il processo

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

Corso di Basi di Dati A.A. 2014/2015

Corso di Basi di Dati A.A. 2014/2015 Corso di Laurea in Ingegneria Gestionale Sapienza - Università di Roma Corso di Basi di Dati A.A. 2014/2015 Esercitazione su Progettazione Logica Tiziana Catarci, Andrea Marrella Ultimo aggiornamento :

Dettagli

Esercitazione 8 Mercoledì 21 gennaio 2015 (2 ore) DDL e progettazione

Esercitazione 8 Mercoledì 21 gennaio 2015 (2 ore) DDL e progettazione Esercitazione 8 Mercoledì 21 gennaio 2015 (2 ore DDL e progettazione Testi degli esercizi Esercizio 1 (Tema d esame del 20 settembre 2012 Si consideri il seguente schema di base di dati che vuole tenere

Dettagli

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

Vincoli di Integrità Approccio dichiarativo alla loro implementazione Vincoli di Integrità Approccio dichiarativo alla loro implementazione Antonella Poggi Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico

Dettagli

Progettazione logica: regole di traduzione

Progettazione logica: regole di traduzione Progettazione logica: regole di traduzione Sistemi Informativi T Versione elettronica: 08.1.progLogica.traduzione.pdf Il secondo passo requisiti del Sistema Informativo progettazione concettuale cosa si

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 22 giugno 2011 1 Progettazione

Dettagli

Volumi di riferimento

Volumi di riferimento Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 2 Raffaella Gentilini 1 / 45 Sommario 1 Il DDL di SQL: Cancellazione ed Aggiornamento di una BD Cancellazione di Schemi, Tabelle, e Domini Aggiornamento di Tabelle

Dettagli

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m Si consideri il seguente schema di base di dati, che vuole memorizzare informazioni relative a un sito di affitto

Dettagli

Progettazione concettuale

Progettazione concettuale Progettazione concettuale Strategie top-down A partire da uno schema che descrive le specifiche mediante pochi concetti molto astratti, si produce uno schema concettuale mediante raffinamenti successivi

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 10/09/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione

Dettagli

UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME

UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME 14 maggio 2009 1 Progettazione di basi di dati Si vuole

Dettagli

Corso di Laboratorio di Basi di Dati

Corso di Laboratorio di Basi di Dati Corso di Laboratorio di Basi di Dati F1I072 - INF/01 a.a 2009/2010 Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it Università degli Studi di L Aquila Dipartimento di Informatica Technolabs

Dettagli

1. Analisi dei requisiti

1. Analisi dei requisiti 1. Analisi dei requisiti 1a. Requisiti espressi in linguaggio naturale 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 Si vuole realizzare una base di dati

Dettagli

Basi di Dati e Sistemi Informativi. Structured Query Language

Basi di Dati e Sistemi Informativi. Structured Query Language Basi di Dati e Sistemi Informativi Structured Query Language Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale SQL come DDL e DML SQL non è solo un linguaggio di interrogazione Linguaggio

Dettagli

Dal modello concettuale al modello logico

Dal modello concettuale al modello logico Dal modello concettuale al modello logico Traduzione dal modello Entita - Associazione al modello Relazionale Ciclo di sviluppo di una base di dati (da parte dell utente) Analisi dello scenario Modello

Dettagli

Prova Scritta di Basi di Dati

Prova Scritta di Basi di Dati Prova Scritta di Basi di Dati 4 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 brutta

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 28 settembre 2011 1 Progettazione

Dettagli

Prefazione Sistemi informativi e basi di dati Il modello relazionale Il modello ER

Prefazione Sistemi informativi e basi di dati Il modello relazionale Il modello ER Indice Prefazione XI 1 Sistemi informativi e basi di dati 1 1.1 La Gestione dell Informazione................... 1 1.1.1 Sistemi Informativi e Sistemi Informatici......... 1 1.2 Esempi di Sistemi Informativi...................

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014 Database Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014 Cos'è un database? È una struttura di dati composta da tabelle a loro volta composte da campi. Caratteristiche

Dettagli

VIDES. Mariagrazia Rossi

VIDES. Mariagrazia Rossi VIDES Mariagrazia Rossi Sommario Descrizione della realtà... 2 Requisiti Funzionali... 2 Requisiti non Funzionali... 3 Dizionario dei termini... 3 Diagramma dei casi d uso... 4 CASI D USO... 7 Process

Dettagli

1.Tutte 2.Spesso P.IVAe le CF volte che si visualizza i dati un fornitore si mostranoanche. La mensa. La mensa

1.Tutte 2.Spesso P.IVAe le CF volte che si visualizza i dati un fornitore si mostranoanche. La mensa. La mensa Ristrutturare Osservazioni seguenti che possano indicazioni emergere lo schema sulle ER operazioni della slide frequenti successiva e indicando tenendo presenti i vincoli le 1.Tutte 2.Spesso P.IVAe le

Dettagli

REALIZZAZIONE DI UN SISTEMA INFORMATIVO TRAMITE DIVERSI DATABASE

REALIZZAZIONE DI UN SISTEMA INFORMATIVO TRAMITE DIVERSI DATABASE UNIVERSITÀ DEGLI STUDI DI PADOVA DIPARTIMENTO DI INGEGNERIA DELL INFORMAZIONE LAUREA TRIENNALE IN INGEGNERIA INFORMATICA REALIZZAZIONE DI UN SISTEMA INFORMATIVO TRAMITE DIVERSI DATABASE RELATORE: Prof.

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

Si formulino le seguenti interrogazioni tramite il linguaggio SQL:

Si formulino le seguenti interrogazioni tramite il linguaggio SQL: Informatica per le Scienze Umane - Corso di Laurea in Lettere Appello del 15.01.2009 - Docente: Massimo Coppola Modello Relazionale e SQL Si consideri la seguente base di dati relativa alla redazione di

Dettagli

1. Schema concettuale della base di dati Lo schema concettuale (o statico) è uno dei due schemi del progetto concettuale di un sistema informativo.

1. Schema concettuale della base di dati Lo schema concettuale (o statico) è uno dei due schemi del progetto concettuale di un sistema informativo. Esame di Stato Istituto Tecnico Industriale Proposta di soluzione della seconda prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2003-2004 1. Schema concettuale della base di dati Lo schema

Dettagli

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

Progettazione concettuale usando il modello Entità-Relazione (ER) e Progettazione Logica Progettazione concettuale usando il modello Entità-Relazione (ER) e Progettazione Logica 1 Introduzione alla progettazione delle basi di dati v Progettazione concettuale (in questa fase si usa il modello

Dettagli

Un DataBase SQL per la Henry Books

Un DataBase SQL per la Henry Books Università degli Studi di Ferrara Corso di Laurea in Ingegneria Elettronica Un DataBase SQL per la Henry Books Progetto di Basi di Dati di Tarin Gamberini Corso di Basi di Dati (ante riforma 3+2) Anno

Dettagli

Progettazione di basi di dati. Progettazione di basi di dati. Ciclo di vita dei sistemi informativi. Fasi del ciclo di vita [1]

Progettazione di basi di dati. Progettazione di basi di dati. Ciclo di vita dei sistemi informativi. Fasi del ciclo di vita [1] Progettazione di basi di dati Progettazione di basi di dati Requisiti progetto Base di dati Struttura Caratteristiche Contenuto Metodologia in 3 fasi Progettazione concettuale Progettazione logica Progettazione

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

Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2002-2003

Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2002-2003 Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2002-2003 Il primo punto richiede l analisi e lo sviluppo del progetto

Dettagli

Università degli studi di Urbino C.d.L : Informatica Applicata Anno Accademico : 2007/2008. .: FastResearch :. Gestionale per Negozio Informatico

Università degli studi di Urbino C.d.L : Informatica Applicata Anno Accademico : 2007/2008. .: FastResearch :. Gestionale per Negozio Informatico Università degli studi di Urbino C.d.L : Informatica Applicata Anno Accademico : 2007/2008.: FastResearch :. Gestionale per Negozio Informatico..: Realizzato da Giorgio Rosolia Mat. 205993 :.. Corso: Basi

Dettagli

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO Seconda prova scritta Ministero dell Istruzione, dell Università e della Ricerca M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO Indirizzo: PROGRAMMATORI Tema di: INFORMATICA GENERALE

Dettagli

Gestione delle tabelle

Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 Creazione di una tabella (1/3) Si utilizza

Dettagli

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a. 2010-2011

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a. 2010-2011 Corso di Laurea in Informatica Basi di Dati a.a. 2010-2011 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare i dati della realtà di interesse

Dettagli

Archivi e Basi di Dati

Archivi e Basi di Dati Archivi e Basi di Dati A B C File Programma 1 Programma 2 A B C File modificati Programma 1 DBMS DB Programma 2 Informatica Generale (CdL in E&C), A.A. 2000-2001 55 Problemi nella gestione di archivi separati

Dettagli

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 2007 Politecnico di Torino 1 Creazione

Dettagli

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia:

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia: Corso di Basi di Dati Spaziali Linguaggi: SQL Angelo Montanari Donatella Gubiani Storia Storia: 1974: prima proposta SEQUEL 1981: prime implementazioni 1983: standard di fatto 1986, 1989, 1992 e 1999:

Dettagli

Sistemi Informativi e Basi di Dati

Sistemi Informativi e Basi di Dati Sistemi Informativi e Basi di Dati Laurea Specialistica in Tecnologie di Analisi degli Impatti Ecotossicologici Docente: Francesco Geri Dipartimento di Scienze Ambientali G. Sarfatti Via P.A. Mattioli

Dettagli

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI IL LINGUAGGIO SQL Il linguaggio SQL ( Structured Query Languages) è un linguaggio non procedurale che è diventato uno standard tra i linguaggi per la gestione dei database relazionali. Il linguaggio procedurale

Dettagli

DATABASE RELAZIONALI

DATABASE RELAZIONALI 1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.

Dettagli

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: storia SQL SQL: concetti base 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,

Dettagli

Il modello Entity-Relationship per il progetto delle basi di dati

Il modello Entity-Relationship per il progetto delle basi di dati 1 Il modello Entity-Relationship per il progetto delle basi di dati Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova Le metodologie di progettazione delle Basi di Dati 2 Una metodologia

Dettagli

Basi di Dati prof. Letizia Tanca

Basi di Dati prof. Letizia Tanca Basi di Dati prof. Letizia Tanca (lucidi tratti dal libro Atzeni-Ceri-Paraboschi-Torlone) AA 2003-04 Linguaggi di interrogazione commerciali per il Modello Relazionale dei Dati: SQL - il DDL Domini I domini

Dettagli

La progettazione concettuale: il modello ER. 17/12/2007 Unità di Apprendimento A2 1

La progettazione concettuale: il modello ER. 17/12/2007 Unità di Apprendimento A2 1 La progettazione concettuale: il modello ER 17/12/2007 Unità di Apprendimento A2 1 1 La progettazione concettuale Prima di procedere con la progettazione concettuale è necessario effettuare un analisi

Dettagli

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni

Dettagli

Fasi del progetto ( 1 )

Fasi del progetto ( 1 ) Progetto 2004-2005 2005 Esercitazione delle lezioni 2, 3 e 4. 1 Fasi del progetto ( 1 ) Analisi dettagliata delle specifiche fornite dal committente. Questa fase è fondamentale per capire a fondo quali

Dettagli

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

---------------------------------------------------------------------------- APPUNTI DI SQL Gli appunti qui forniti vogliono essere un riferimento scritto di alcuni degli argomenti trattati a lezione per gli studenti a cui vengono messi a disposizione. Non viene fornita alcuna

Dettagli

OR true null false true true true true null true null null false true null false NOT

OR true null false true true true true null true null null false true null false NOT Il linguaggio SQL è un linguaggio standard per la definizione, manipolazione e interrogazione delle basi di dati relazionali ed ha le seguenti caratteristiche: è dichiarativo; opera su multiset di tuple,

Dettagli

Basi di Dati Relazionali

Basi di Dati Relazionali Corso di Laurea in Informatica Basi di Dati Relazionali a.a. 2009-2010 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio Coadiutore: Dott.ssa D. Nicotera PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare

Dettagli

La normalizzazione Trasformazione da concettuale a relazionale

La normalizzazione Trasformazione da concettuale a relazionale Oreste Signore (Oreste.Signore@cnuce.cnr.it) Definizione Il concetto di chiave Chiave primaria Chiave esterna L algebra relazionale Le operazioni Le operazioni speciali La normalizzazione Trasformazione

Dettagli

PROGETTAZIONE DI BASI DI DATI RELAZIONALI ATTRAVERSO LA TRADUZIONE DI SCHEMI ER ED EER A SCHEMI RELAZIONALI

PROGETTAZIONE DI BASI DI DATI RELAZIONALI ATTRAVERSO LA TRADUZIONE DI SCHEMI ER ED EER A SCHEMI RELAZIONALI LEZIONE DEL 11/11/2008 di BASI DI DATI Prof. Bochicchio PROGETTAZIONE DI BASI DI DATI RELAZIONALI ATTRAVERSO LA TRADUZIONE DI SCHEMI ER ED EER A SCHEMI RELAZIONALI Nelle lezioni precedenti abbiamo accennato

Dettagli

SQL (STRUCTURED QUERY LANGUAGE)

SQL (STRUCTURED QUERY LANGUAGE) SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura

Dettagli

Esame di stato 2004 Portfolio studente

Esame di stato 2004 Portfolio studente Esame di stato 2004 Portfolio studente Traccia Il Dirigente Scolastico di una Scuola Secondaria Superiore chiede che si realizzi una base di dati per l'archiviazione e la gestione di informazioni riguardanti

Dettagli

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

Basi di dati Progettazione logica. Elena Baralis Politecnico di Torino

Basi di dati Progettazione logica. Elena Baralis Politecnico di Torino Progettazione logica Progettazione logica Richiede di scegliere il modello dei dati!modello relazionale Obiettivo: definizione di uno schema logico relazionale corrispondente allo schema ER di partenza

Dettagli

Basi di Dati A.A. 2012/2013 Progetto database per pizzeria da asporto

Basi di Dati A.A. 2012/2013 Progetto database per pizzeria da asporto Basi di Dati A.A. 2012/2013 Progetto database per pizzeria da asporto Cappellotto Francesco, Cecchel Stefano matr. 611595, 1010676 27 Giugno 2013 1 INDICE 2 Indice 1 Descrizione del progetto 3 1.1 Requisiti

Dettagli

ISTITUTO DI ISTRUZIONE SUPERIORE Cigna Baruffi Garelli

ISTITUTO DI ISTRUZIONE SUPERIORE Cigna Baruffi Garelli Attività svolta 1. UNITÀ DI APPRENDIMENTO 1: INTRODUZIONE ALLA PROGRAMMAZIONE 1.1. Introduzione ai sistemi numerici: Sistema numerico decimale e binario. Conversioni binario-decimale e decimale binario.

Dettagli

ESERCITAZIONI: II PROVA SCRITTA DI INFORMATICA

ESERCITAZIONI: II PROVA SCRITTA DI INFORMATICA ESERCITAZIOI: II PROVA SCRITTA DI IFORMATICA 1) Una casa editrice desidera archiviare in un database le informazioni riguardanti gli abbonamenti alle riviste ed ai giornali pubblicati tra il 1995 ed il

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

Esame Basi di Dati. 21 Gennaio 2013

Esame Basi di Dati. 21 Gennaio 2013 Esame Basi di Dati 21 Gennaio 2013 Matricola Prog. (Sì/No) Cognome Nome Istruzioni I voti verranno resi disponibili su AlmaEsami. Chi vorrà rifiutare il voto dovrà comunicarlo tassativamente 5 giorni dalla

Dettagli

Definizione di domini

Definizione di domini Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain

Dettagli

SQL: Concetti Base -Prima Parte-

SQL: Concetti Base -Prima Parte- SQL: Concetti Base -Prima Parte- Atzeni, Ceri, Paraboschi, Torlone Basi Di Dati: Modelli e Linguaggi di Interrogazione, McGraw-Hill Italia Capitolo 4 SQL Structured Query Language Contiene: DDL (Data Definition

Dettagli

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE SQL e ACCESS Prof. Salvatore Multazzu (salvatoremultazzu@tiscali.it) Applicazioni Informatiche nella comunicazione Modello relazionale Entità Record o Ennuple Attributi o Campi Tipi Chiavi Primarie (PK)

Dettagli

Il modello relazionale dei dati

Il modello relazionale dei dati Il modello relazionale dei dati Master Alma Graduate School Sistemi Informativi Home Page del corso: http://www-db.deis.unibo.it/courses/alma_si1/ Versione elettronica: 04Relazionale.pdf Obiettivi della

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 1 SQL SQL (Structured Query Language) è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali. Sono stati proposti

Dettagli

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query:

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query: Basi di dati: appello 16/02/10 i consideri il seguente schema di base di dati che vuole tenere traccia delle informazioni relative ai partecipanti a gare podistiche in Lombardia CORSA (Codice, Nome, IndirizzoPartenza,

Dettagli

User Tools: DataBase Manager

User Tools: DataBase Manager Spazio di lavoro Per usare T-SQL Assistant selezionare il link Simple Query e spostare a piacere la piccola finestra dove un menu a tendina mostra i diversi comandi SQL selezionabili, il pulsante Preview

Dettagli

SQL (STRUCTURED QUERY LANGUAGE)

SQL (STRUCTURED QUERY LANGUAGE) SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura

Dettagli

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5 Domini elementari, Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati Bit Valori booleani (vero/falso), singoli o in sequenza (la sequenza può essere di lunghezza variabile) Sintassi: bit

Dettagli

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti: Date le tabelle: Clienti := < id, nome, cognome, indirizzo,città > Ordini := < id, data_ora_ordine, id_prodotto, id_cliente, quantità> Prodotti := < id, nome, descrizione, costo,scorte > INDICI Prevediamo

Dettagli

Progettazione logica relazionale (1/2)

Progettazione logica relazionale (1/2) Progettazione di basi di dati (1/2) Introduzione Ristrutturazione dello schema ER Eliminazione delle gerarchie Partizionamento di concetti Eliminazione degli attributi multivalore Eliminazione degli attributi

Dettagli

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3 INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3 L azienda Plastic S.p.A, operante nel settore materie plastiche, ha deciso di dotarsi di un Sistema Informativo per la gestione del suo

Dettagli

SQL Sintassi Dei Comandi

SQL Sintassi Dei Comandi SQL Sintassi Dei Comandi Di Roberto Aloi http://prof3ta.homeunix.org prof3ta@email.it Questo fascicolo è stato realizzato esclusivamente a fini divulgativi e per la libera consultazione. E' concessa la

Dettagli

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza

Dettagli

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati e Web Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio

Dettagli

LABORATORIO. 2 Lezioni su Basi di Dati Contatti:

LABORATORIO. 2 Lezioni su Basi di Dati Contatti: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE Gennaro Cordasco e Rosario De Chiara {cordasco,dechiara}@dia.unisa.it Dipartimento di Informatica ed Applicazioni R.M. Capocelli Laboratorio

Dettagli

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Corso di Informatica Generale 1 IN1. Linguaggio SQL Università Roma Tre Facoltà di Scienze M.F.N. di Laurea in Matematica di Informatica Generale 1 Linguaggio SQL Marco (liverani@mat.uniroma3.it) Sommario Prima parte: le basi dati relazionali Basi di dati:

Dettagli

Definizione e manipolazione dei dati in SQL

Definizione e manipolazione dei dati in SQL Definizione e manipolazione dei dati in SQL Nicola Vitacolonna Corso di Basi di Dati Università degli Studi di Udine 19 novembre 2013 Nota bene: nel presente documento, con il termine macchina virtuale,

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

Design di un database

Design di un database Design di un database Progettare un database implica definire quanto i seguenti aspetti: Struttura Caratteristiche Contenuti Il ciclo di design di un database si suddivide in tre fasi principali: progettazione

Dettagli

CAPITOLO 5: DATABASE INTRODUZIONE

CAPITOLO 5: DATABASE INTRODUZIONE CAPITOLO 5: DATABASE INTRODUZIONE Una base di dati (o database) è semplicemente una collezione di dati organizzati in qualche modo e con qualche criterio. Il modello più diffuso è quello relazionale, ovvero

Dettagli

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Dettagli

Prova scritta del corso di Basi di dati attive 17 Dicembre 1999. Agenzia

Prova scritta del corso di Basi di dati attive 17 Dicembre 1999. Agenzia Prova scritta del corso di Basi di dati attive 17 Dicembre 1999 Si desidera automatizzare la gestione dei banchetti organizzati da un agenzia di pubbliche relazioni. Le specifiche del sistema informativo,

Dettagli

SQL - Tipi di dato Il linguaggio SQL

SQL - Tipi di dato Il linguaggio SQL SQL - Tipi di dato Il linguaggio SQL I tipi di dato in SQL:1999 si suddividono in tipi predefiniti tipi strutturati tipi user-defined ci concentreremo sui tipi predefiniti i tipi predefiniti sono suddivisi

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici Il linguaggio SQL Il linguaggio SQL il linguaggio SQL è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose (California) è diventato

Dettagli

DIPARTIMENTO IMPIEGATO PROGETTO SEDE. (0,1) (1,1) DIREZIONE Cognome. Codice. Telefono (0,1) (1,N) AFFERENZA. Stipendio (0,N) Nome (1,1) Età

DIPARTIMENTO IMPIEGATO PROGETTO SEDE. (0,1) (1,1) DIREZIONE Cognome. Codice. Telefono (0,1) (1,N) AFFERENZA. Stipendio (0,N) Nome (1,1) Età PROGETTAZIONE LOGICA 7í0 Progettazione logica Obiettivo: ëtradurre" lo schema concettuale in uno schema logico che rappresenti gli stessi dati in maniera corretta ed eæciente Input: Output: æ schema concettuale

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Dati. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Dati. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Dati Facoltà di Lingue e Letterature Straniere Base di dati (accezione generica, metodologica) Insieme organizzato di dati utilizzati per il supporto

Dettagli

SQL: definizione schema

SQL: definizione schema Si Clienti(codice,nome,indirizzo,p_iva) scriva il SQL che definisce il seguente schema relazionale Prodotti(codice,nome,descrizione,prezzo) SQL: definizione schema Fatture(codice,cliente,data) RigheFattura(codice,fattura,prodotto,quantità,prezzo)

Dettagli

PROGRAMMA DI CLASSE 5AI

PROGRAMMA DI CLASSE 5AI Istituto di Istruzione Superiore Euganeo Istituto tecnico del settore tecnologico Istituto professionale del settore servizi socio-sanitari Istituto professionale del settore industria e artigianato PROGRAMMA

Dettagli