Dimensione: px
Iniziare la visualizzazioe della pagina:

Download ""

Transcript

1 Sommario Ing. Gianluca Di Tomassi Sito Web: Sistemi informativi e sistemi informatici Metodologie e modelli per il progetto Progettazione di una base di dati Un modello concettuale: Il Modello E-R (1976) Progettazione concettuale Un modello logico: Il modello relazionale DataWarehouse Processi aziendali e sistemi informativi OLTP e OLAP Data warehouse e data warehousing Architetture per il warehousing Analisi multidimensionale 2 Sistema informativo Componente (sottosistema) di una organizzazione che gestisce (acquisisce, elabora, conserva, produce) le informazioni di interesse (cioè utilizzate per il perseguimento degli scopi dell organizzazione ) ogni organizzazione ha un sistema informativo, eventualmente non esplicitato nella struttura; Sistema organizzativo insieme di risorse e regole per lo svolgimento coordinato delle attività al fine del perseguimento degli scopi il sistema informativo è parte del sistema organizzativo il sistema informativo esegue/gestisce processi informativi (cioè i processi che coinvolgono informazioni) quasi sempre, il sistema informativo è di supporto ad altri sottosistemi, e va quindi studiato nel contesto in cui è inserito il sistema informativo è di solito suddiviso in sottosistemi (in modo gerarchico o decentrato), più o meno fortemente integrati 3 4

2 Risorse Risorse: Informazioni Le risorse di una azienda (o amministrazione): persone denaro materiali informazioni 5 6 Risorse: Informazioni Sistemi informativi e automazione Il concetto di sistema informativo è indipendente da qualsiasi automatizzazione: esistono organizzazioni la cui ragion d essere è la gestione di informazioni (p. es. servizi anagrafici e banche) e che operano da secoli. Anche prima di essere automatizzati, molti sistemi informativi si sono evoluti verso una razionalizzazione e standardizzazione delle procedure e dell organizzazione delle informazioni 7 8

3 Sistema Informatico Gestione delle informazioni Porzione automatizzata del sistema informativo: la parte del sistema informativo che gestisce informazioni con tecnologia informatica Sistema azienda Sistema organizzativo Sistema informativo Sistema informatico Nelle attività umane, le informazioni vengono gestite (registrate e scambiate) in forme diverse: idee informali linguaggio naturale (scritto o parlato, formale o colloquiale, in una lingua o in un altra) disegni, grafici, schemi numeri e codici e su vari supporti memoria umana, carta, dispositivi elettronici 9 10 Gestione delle informazioni Nelle attività standardizzate dei sistemi informativi complessi, sono state introdotte col tempo forme di organizzazione e codifica delle informazioni Ad esempio, nei servizi anagrafici si è iniziato con registrazioni discorsive e poi nome e cognome estremi anagrafici codice fiscale Informazioni e dati Nei sistemi informatici (e non solo), le informazioni vengono rappresentate in modo essenziale, spartano: attraverso i dati Dal Vocabolario della lingua italiana (1987) informazione: notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere. dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica) elementi di informazione costituiti da simboli che debbono essere elaborati

4 Dati e informazioni Perché i dati? I dati hanno bisogno di essere interpretati Esempio Mario 275 su un foglio di carta sono due dati. Se il foglio di carta viene fornito in risposta alla domanda A chi mi devo rivolgere per il problema X; qual è il suo numero di telefono?, allora i dati possono essere interpretati per fornire informazione e arricchire la conoscenza. La rappresentazione precisa di forme più ricche di informazione e conoscenza è difficile I dati costituiscono spesso una risorsa strategica, perché più stabili nel tempo di altre componenti (processi, tecnologie, ruoli umani) Base di dati (accezione generica, metodologica) Insieme organizzato di dati utilizzati per il supporto allo svolgimento delle attività di un ente (azienda, ufficio, persona) (accezione specifica, metodologica e tecnologica) insieme di dati gestito da un DBMS Sistema di gestione di basi di dati DataBase Management System DBMS Sistema (prodotto software) in grado di gestire collezioni di dati che siano (anche): grandi (di dimensioni (molto) maggiori della memoria centrale dei sistemi di calcolo utilizzati) persistenti (con un periodo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano) condivise ( utilizzate da applicazioni diverse) garantendo affidabilità (resistenza a malfunzionamenti hardware e software) e privatezza (con una disciplina e un controllo degli accessi). Come ogni prodotto informatico, un DBMS deve essere efficiente (utilizzando al meglio le risorse di spazio e tempo del sistema) ed efficace (rendendo produttive le attività dei suoi utilizzatori)

5 Alcuni DBMS in commercio Condivisione Access DB2 Oracle Informix Sybase SQLServer Ingres... Ogni organizzazione (specie se grande) è divisa in settori o comunque svolge diverse attività A ciascun settore o attività corrisponde un (sotto)sistema informativo Possono esistere sovrapposizioni fra i dati di interesse dei vari settori Una base di dati è una risorsa integrata, condivisa fra i vari settori Condivisione: Esempio Condivisione: Esempio 19 20

6 Possibili problemi Archivi e basi di dati Possibilità di avere: Ridondanza: informazioni ripetute Gestione orario lezioni Archivio 1: orario lezioni Di conseguenza: Rischio di incoerenza: le versioni possono non coincidere Gestione ricevimento Archivio 2: ricevimento Archivi e basi di dati Le basi di dati sono condivise Gestione orario lezioni Gestione ricevimento Base di dati Una base di dati è una risorsa integrata, condivisa fra le varie applicazioni Conseguenze Attività diverse su dati in parte condivisi: meccanismi di autorizzazione Attività multi-utente su dati condivisi: controllo della concorrenza 23 24

7 Efficienza Si misura (come in tutti i sistemi informatici) in termini di tempo di esecuzione (tempo di risposta) e spazio di memoria (principale e secondaria). DBMS vs file system La gestione di insiemi di dati grandi e persistenti è possibile anche attraverso sistemi più semplici (gli ordinari file system dei sistemi operativi) I DBMS, a causa della varietà di funzioni, non sono necessariamente più efficienti dei file system. I file system prevedono forme rudimentali di condivisione: "tutto o niente". Nei DBMS, c è maggiore flessibilità L efficienza è il risultato della qualità del DBMS e delle applicazioni che lo utilizzano. I DBMS estendono le funzionalità dei file system, fornendo più servizi ed in maniera integrata (cfr. efficacia) DBMS vs file system (2) Nei programmi tradizionali che accedono a file, ogni programma contiene una descrizione della struttura del file stesso, con i conseguenti rischi di incoerenza fra le descrizioni (ripetute in ciascun programma) e i file stessi. Nei DBMS, esiste una porzione della base di dati (il catalogo o dizionario) che contiene una descrizione centralizzata dei dati, che può essere utilizzata dai vari programmi. Descrizioni dei dati nei DBMS Descrizioni e rappresentazioni dei dati a livelli diversi Permettono l indipendenza dei dati dalla rappresentazione fisica: i programmi fanno riferimento alla struttura a livello più alto, e le rappresentazioni sottostanti possono essere modificate senza necessità di modifica dei programmi Precisiamo attraverso il concetto di modello dei dati 27 28

8 Modello dei dati Organizzazione dei dati in una base di dati Insieme di costrutti utilizzati per organizzare i dati di interesse e descriverne la dinamica Orario Componente fondamentale: meccanismi di strutturazione (o costruttori di tipo) Insegnamento Analisi matem. I Docente Luigi Neri Aula N1 Ora 8:00 Come nei linguaggi di programmazione esistono meccanismi che permettono di definire nuovi tipi, così ogni modello dei dati prevede alcuni costruttori Chimica Fisica I Piero Rossi Nicola Mori Mario Bruni N2 N1 N1 9:45 9:45 11:45 Ad esempio, il modello relazionale prevede il costruttore relazione, che permette di definire insiemi di record omogenei Fisica II Sistemi Inform. Mario Bruni Pero Rossi N3 N3 9:45 8: Architettura (semplificata) di un DBMS utente Schema logico Schema interno (o fisico) BD Il livello logico è indipendente da quello fisico: Schema logico: Descrizione della base di dati nel modello logico (ad esempio, la struttura della tabella) Schema fisico: Rappresentazione dello schema logico per mezzo di strutture memorizzazione (file) Una tabella è utilizzata nello stesso modo qualunque sia la sua realizzazione fisica (che può anche cambiare nel tempo) 31 Architettura standard (ANSI/SPARC) a tre livelli per DBMS utente utente utente utente utente Schema esterno Schema esterno Schema logico Schema interno (o fisico) BD Schema esterno 32

9 Architettura ANSI/SPARC: schemi Una vista schema logico: descrizione dell intera base di dati nel modello logico principale del DBMS schema fisico: rappresentazione dello schema logico per mezzo di strutture fisiche di memorizzazione Corsi Corso Sistemi Reti Controlli Docente Rossi Neri Bruni Bruni Aula DS3 N3 N3 G Aule Nome DS1 N3 G Edificio OMI OMI Pincherle Piano Terra Terra Primo schema esterno: descrizione di parte della base di dati in un modello logico ( viste parziali, derivate, anche in modelli diversi) CorsiSedi Corso Aula Edificio Piano Sistemi Reti Controlli N3 N3 G OMI OMI Pincherle Terra Terra Primo Indipendenza dei dati Conseguenza della articolazione in livelli: l accesso avviene solo tramite il livello esterno (che può coincidere con il livello logico) Indipendenza fisica il livello logico e quello esterno sono indipendenti da quello fisico una relazione è utilizzata nello stesso modo qualunque sia la sua realizzazione fisica la realizzazione fisica può cambiare senza che debbano essere modificati i programmi Indipendenza logica il livello esterno è indipendente da quello logico aggiunte o modifiche alle viste non richiedono modifiche al livello logico modifiche allo schema logico che lascino inalterato lo schema esterno sono trasparenti Linguaggi per basi di dati Un altro contributo all efficacia: disponibilità di vari linguaggi e interfacce diverse: linguaggi testuali interattivi (SQL) comandi (come quelli del linguaggio interattivo) immersi in un linguaggio ospite (Pascal, C, Cobol, etc.) comandi (come quelli del linguaggio interattivo) immersi in un linguaggio ad hoc, con anche altre funzionalità (p.es. per grafici o stampe strutturate), anche con l ausilio di strumenti di sviluppo (p. es. per la gestione di maschere) con interfacce amichevoli (senza linguaggio testuale) 35 36

10 SQL un linguaggio interattivo SELECT Corso, Aula, Piano FROM Aule, Corsi WHERE Nome = Aula AND Piano="Terra" Corso Sistemi Reti Aula N3 N3 Piano Terra Terra SQL immerso in linguaggio ad alto livello write('nome della citta''?'); readln(citta); EXEC SQL DECLARE P CURSOR FOR SELECT NOME, REDDITO FROM PERSONE WHERE CITTA = :citta ; EXEC SQL OPEN P ; EXEC SQL FETCH P INTO :nome, :reddito ; while SQLCODE = 0 do begin write('nome della persona:', nome, 'aumento?'); readln(aumento); EXEC SQL UPDATE PERSONE SET REDDITO = REDDITO + :aumento WHERE CURRENT OF P EXEC SQL FETCH P INTO :nome, :reddito end; EXEC SQL CLOSE CURSOR P SQL immerso in linguaggio ad hoc (Oracle PL/SQL) Interazione non testuale (in Access) declare Stip number; begin select Stipendio into Stip from Impiegato where Matricola = '575488' for update of Stipendio; if Stip > 30 then update Impiegato set Stipendio = Stipendio * 1.1 where Matricola = '575488'; else update Impiegato set Stipendio = Stipendio * 1.15 where Matricola = '575488'; end if; commit; exception when no_data_found then insert into Errori values('non esiste la matricola specificata',sysdate); end; 39 40

11 Una distinzione terminologica (separazione fra dati e programmi) Data Manipulation Language (DML) per l interrogazione e l aggiornamento di (istanze di) basi di dati Data Definition Language (DDL) per la definizione di schemi (logici, esterni, fisici) e altre operazioni generali Un'operazione DDL (sullo schema) CREATE TABLE orario ( insegnamento CHAR(20), docente CHAR(20), aula CHAR(4), ora CHAR(5) ); Personaggi e interpreti progettisti e realizzatori di DBMS progettisti della base di dati e amministratori della base di dati (DBA) progettisti e programmatori di applicazioni utenti utenti finali (terminalisti): eseguono applicazioni predefinite (transazioni) utenti casuali: eseguono operazioni non previste a priori, usando linguaggi interattivi Database administrator (DBA) Persona o gruppo di persone responsabile del controllo centralizzato e della gestione del sistema, delle prestazioni, dell affidabilità, delle autorizzazioni Le funzioni del DBA includono quelle di progettazione, anche se in progetti complessi ci possono essere distinzioni 43 44

12 Transazioni Programmi che realizzano attività frequenti e predefinite, con poche eccezioni, previste a priori. Esempi: versamento presso uno presso sportello bancario emissione di certificato anagrafico dichiarazione presso l ufficio di stato civile prenotazione aerea Le transazioni sono di solito realizzate con programmi in linguaggio ospite (tradizionale o ad hoc). N.B.: il termine transazione ha un altra accezione, più specifica: sequenza indivisibile di operazioni (o vengono eseguite tutte o nessuna). Vantaggi e svantaggi dei DBMS Pro dati come risorsa comune, base di dati come modello della realtà gestione centralizzata con possibilità di standardizzazione ed economia di scala disponibilità di servizi integrati riduzione di ridondanze e inconsistenze indipendenza dei dati (favorisce lo sviluppo e la manutenzione delle applicazioni) Contro costo dei prodotti e della transizione verso di essi non scorporabilità delle funzionalità (con riduzione di efficienza) Sommario Sistemi informativi e sistemi informatici Metodologie e modelli per il progetto Progettazione di una base di dati Un modello concettuale: Il Modello E-R (1976) Progettazione concettuale Un modello logico: Il modello relazionale DataWarehouse Processi aziendali e sistemi informativi OLTP e OLAP Data warehouse e data warehousing Architetture per il warehousing Analisi multidimensionale Progettazione di basi di dati È una delle attività del processo di sviluppo dei sistemi informativi va quindi inquadrata in un contesto più generale: Il ciclo di vita dei sistemi informativi: Insieme e sequenzializzazione delle attività svolte da analisti, progettisti, utenti, nello sviluppo e nell uso dei sistemi informativi attività iterativa, quindi ciclo 47 48

13 Ciclo di vita sistemi informativi Fasi (tecniche) del ciclo di vita Studio di fattibilità Raccolta e analisi dei requisiti Progettazione Realizzazione Validazione e collaudo Studio di fattibilità: definizione costi e priorità Raccolta e analisi dei requisiti: studio delle proprietà del sistema Progettazione: di dati e funzioni Realizzazione Validazione e collaudo: sperimentazione Funzionamento: il sistema diventa operativo Funzionamento Progettazione: Note Ciclo di vita sistemi informativi La progettazione di un sistema informativo riguarda due aspetti: progettazione dei dati progettazione delle applicazioni Ma: i dati hanno un ruolo centrale in quanto più stabili Studio di fattibilità Raccolta e analisi dei requisiti Progettazione Realizzazione Validazione e collaudo Funzionamento 51 52

14 Metodologia di progetto Ciclo di vita sistemi informativi Per garantire prodotti di buona qualità è opportuno seguire una metodologia di progetto, con: articolazione delle attività in fasi criteri di scelta modelli di rappresentazione generalità e facilità d'uso Studio di fattibilità Raccolta e analisi dei requisiti Progettazione Realizzazione Validazione e collaudo Funzionamento Metodologia di progetto per le basi di dati Metodologia di progetto per le basi di dati Progettazione concettuale COME : progettazione Requisiti della base di dati Schema concettuale Progettazione logica Schema logico Progettazione fisica Schema fisico CHE COSA : analisi I prodotti della varie fasi sono schemi di alcuni modelli di dati: Schema concettuale Schema logico Schema fisico 55 56

15 Descrizioni dei dati nei DBMS Descrizioni e rappresentazioni dei dati a livelli diversi Permettono l indipendenza dei dati dalla rappresentazione fisica: i programmi fanno riferimento alla struttura a livello più alto, e le rappresentazioni sottostanti possono essere modificate senza necessità di modifica dei programmi Precisiamo attraverso il concetto di modello dei dati Modello dei dati Insieme di costrutti utilizzati per organizzare i dati di interesse e descriverne la dinamica Componente fondamentale: meccanismi di strutturazione (o costruttori di tipo) Come nei linguaggi di programmazione esistono meccanismi che permettono di definire nuovi tipi, così ogni modello dei dati prevede alcuni costruttori Ad esempio, il modello relazionale prevede il costruttore relazione, che permette di definire insiemi di record omogenei Modello dei dati:esempio Organizzazione dei dati in una base di dati Orario Insegnamento Docente Aula Ora Analisi matem. I Luigi Neri N1 8:00 Piero Rossi N2 9:45 Chimica Nicola Mori N1 9:45 Fisica I Mario Bruni N1 11:45 Fisica II Mario Bruni N3 9:45 Sistemi Inform. Pero Rossi N3 8:

16 Definizioni: Schema e istanza Definizioni: Schema e istanza In ogni base di dati esistono: lo schema, sostanzialmente invariante nel tempo, che ne descrive la struttura (aspetto intensionale) le intestazioni delle tabelle l istanza, i valori attuali, che possono cambiare anche molto rapidamente (aspetto estensionale) Orario Insegnamento Analisi matem. I Chimica Fisica I Fisica II Sistemi Inform. Lo schema della base di dati Docente Aula Ora Luigi Neri N1 8:00 Piero Rossi N2 9:45 Nicola Mori N1 9:45 Mario Bruni N1 11:45 Mario Bruni N3 9:45 Pero Rossi N3 8:00 il corpo di ciascuna tabella L'istanza della base di dati Due tipi (principali) di modelli Modelli concettuali, perché? Modelli logici: utilizzati nei DBMS esistenti per l organizzazione dei dati utilizzati dai programmi indipendenti dalle strutture fisiche esempi: relazionale, reticolare, gerarchico, a oggetti Modelli concettuali: permettono di rappresentare i dati in modo indipendente da ogni sistema Proviamo a modellare una applicazione definendo direttamente lo schema logico della base di dati: da dove cominciamo? rischiamo di perderci subito nei dettagli dobbiamo pensare subito a come correlare le varie tabelle (chiavi etc.) i modelli logici sono rigidi cercano di descrivere i concetti del mondo reale sono utilizzati nelle fasi preliminari di progettazione il più noto è il modello Entity-Relationship 63 64

17 Modelli concettuali, perché? servono per ragionare sulla realtà di interesse, indipendentemente dagli aspetti realizzativi Progettazione concettuale permettono di rappresentare le classi di dati di interesse e le loro correlazioni prevedono efficaci rappresentazioni grafiche (utili anche per documentazione e comunicazione) Progettazione logica Progettazione fisica Sommario Sistemi informativi e sistemi informatici Metodologie e modelli per il progetto Progettazione di una base di dati Un modello concettuale: Il Modello E-R (1976) Progettazione concettuale Un modello logico: Il modello relazionale DataWarehouse Processi aziendali e sistemi informativi OLTP e OLAP Data warehouse e data warehousing Architetture per il warehousing Analisi multidimensionale Modello Entity-Relationship (Entità-Relazione) Il più diffuso modello concettuale ma attenzione ne esistono molte versioni, (più o meno) diverse l una dall altra I costrutti del modello E-R: Entità Relationship Attributo Identificatore Generalizzazione

18 Modello E-R: Entità Modello E-R: Entità rappresentazione grafica Classe di oggetti (fatti, persone, cose) della applicazione di interesse con proprietà comuni e con esistenza autonoma Esempi: impiegato, città, conto corrente, ordine, fattura Distinguiamo tra: Entità: classe di oggetti, persone, "omogenei" Impiegato Dipartimento Occorrenza (o istanza) di entità: elemento della classe (l'oggetto, la persona,, non i dati) Nello schema concettuale rappresentiamo le entità, non le singole istanze ( astrazione ) Città Vendita Modello E-R: Entità commenti Modello E-R: Relationship Ogni entità ha un nome che la identifica univocamente nello schema: nomi espressivi opportune convenzioni (Es: singolare) Legame logico fra due o più entità, rilevante nell applicazione di interesse Esempi: Residenza (fra persona e città) Esame (fra studente e corso) Chiamata anche: relazione, correlazione, associazione 71 72

19 Modello E-R: Relationship rappresentazione grafica Modello E-R: Relationship commenti Esame Ogni relationship ha un nome che la identifica univocamente nello schema: nomi espressivi opportune convenzioni (Es: singolare, se possibile sostantivi invece dei verbi) Residenza Modello E-R: rappresentazione grafica Modello E-R: Relationship occorrenze Una occorrenza di una relationship binaria è coppia di occorrenze di entità, una per ciascuna entità coinvolta Studente Esame Corso Una occorrenza di una relationship n-aria è una n-upla di occorrenze di entità, una per ciascuna entità coinvolta Impiegato Residenza Città Nell'ambito di una relationship non ci possono essere occorrenze (coppie, ennuple) ripetute 75 76

20 Modello E-R: Relationship binarie Modello E-R: Relationship n-arie Due relationship sulle stesse entità Fornitore Fornitura Prodotto Sede di lavoro Dipartimento Impiegato Residenza Città A fornisce stampanti al Dip Personale B fornisce fotocopiatrici al Dip Personale A fornisce calcolatori al Dip Ricerca C fornisce calcolatori al Dip Personale Modello E-R: Relationship ricorsiva Modello E-R: Relationship ricorsiva con ruoli Coinvolge due volte la stessa entità Coinvolge due volte la stessa entità ma essendo simmetrica occorre specificare i ruoli al fine di poter fornie una semantica Conoscenza Successione Persona Successore Sovrano Predecessore 79 80

21 Modello E-R: Relationship ternaria ricorsiva con ruoli Modello E-R: Attributo Superficie Proprietà elementare di un entità o di una relationship, di interesse ai fini dell applicazione Migliore Confronto Peggiore Associa ad ogni occorrenza di entità o relationship un valore appartenente a un insieme detto dominio dell attributo Tennista Migliore Peggiore Superfice Sanchez Navratilova Terra Navratilova Sanchez Erba Graf Sanchez Erba Modello E-R: Attributo rappresentazione grafica Modello E-R: Attributo composto Cognome Nome Data Voto Titolo Raggruppano attributi di una medesima entità o relationship che presentano affinità nel loro significato o uso Studente Esame Corso Esempio: Via, Numero civico e CAP formano un Indirizzo Matricola Codice 83 84

22 Modello E-R: Attributo composto rappresentazione grafica Cognome Modello E-R: Esempio Cognome Direzione Impiegato Telefono Dipartimento Impiegato Età Indirizzo Via Numero CAP 85 Codice Afferenza Partecipazione Data Progetto Via Budget Nome CAP Nome Composizione Sede Indirizzo Città 86 Modello E-R: Altri costrutti Cardinalità di relationship di attributo Identificatore interno esterno Modello E-R: Cardinalità di Relationship Coppia di valori associati a ogni entità che partecipa a una relationship Specificano il numero minimo e massimo di occorrenze delle relationship cui ciascuna occorrenza di una entità può partecipare Generalizzazione 87 88

23 Modello E-R: Cardinalità di Relationship esempio Modello E-R: Cardinalità di Relationship Per semplicità usiamo solo tre simboli: Impiegato (1,5) (0,50) Assegnamento Incarico 0 e 1 per la cardinalità minima: 0 = partecipazione opzionale 1 = partecipazione obbligatoria Un impiegato ha assegnati minimo 1 massimo 5 incarichi Un incarico ha assegnati minimo 0 massimo 50 impiegati 1 e N per la cardinalità massima: N non pone alcun limite Modello E-R: Cardinalità di Relationship esempo Modello E-R: Tipi di Relationship (1,1) (0,N) Con riferimento alle cardinalità relationship: massime, abbiamo Studente Residenza Città uno a uno uno a molti (o 1 a N) molti a molti (o N a N) Uno studente risiede minimo in 1 massimo in 1 città Una città è residenza per minimo 0 massimo N studenti Avvertenze: Attenzione al "verso" nelle relationship uno a molti le relationship obbligatorie-obbligatorie sono molto rare 91 92

24 Modello E-R: Relationship molti a molti Modello E-R: Relationship uno a molti (0,N) (0,N) (0,1) (0,N) Studente Esame Corso Persona Impiego Azienda (0,N) (1,N) (1,1) (0,N) Montagna Scalata Alpinista Cinema Ubicazione Località (1,N) (1,N) (1,1) (1,N) Macchinista Abilitazione Locomotore Comune Ubicazione Provincia Modello E-R: Relationship uno a uno Modello E-R: Cardinalità di attributi Professore (0,1) (0,1) Titolarità Cattedra E possibile associare delle cardinalità anche agli attributi, con due scopi: Professore di ruolo (1,1) (0,1) Titolarità Cattedra indicare opzionalità ("informazione incompleta") indicare attributi multivalore Professore di ruolo (1,1) (1,1) Titolarità Cattedra coperta 95 96

25 Modello E-R: Cardinalità di attributi rappresentazione grafica Modello E-R: Identificatore entità Strumento per l identificazione univoca delle occorrenze di un entità Impiegato (0,N) Telefono Nome Costituito da: attributi dell entità identificatore interno (0,1) Numero patente (attributi +) entità esterne attraverso relationship identificatore esterno Modello E-R: Identificatore entità interno Modello E-R: Identificatore entità esterno Automobile Targa Modello Marca La targa di un automobile sul territorio nazionale la identifica in modo univoco Cognome Matricola (1,1) (0,N) Studente Iscrizione Nome Università Persona Indirizzo Data Nascita Cognome Nome Supponendo che non esistono persone che hanno contemporaneame nte lo stesso nome, cognome e data di nascita Anno di corso Indirizzo Sul territorio nazionale l Università è identificata univocamente dal nome. Lo studente dal nome dell Università e dalla matricola che gli è stata assegnata

26 Modello E-R: Identificatore osservazioni Modello E-R: Esempio Ogni entità deve possedere almeno un identificatore, ma può averne in generale più di uno Cognome (0,1) Direzione (1,1) Telefono (1,N) Una identificazione esterna è possibile solo attraverso una relationship a cui l entità da identificare partecipa con cardinalità (1,1) 101 Impiegato (0,1) (0,N) Dipartimento Codice (0,N) Afferenza (1,1) Nome Partecipazione (0,1) Composizione (1,N) Data (1,N) Progetto Sede Via Budget Nome Indirizzo CAP Città 102 Modello E-R: Generalizzazione Mette in relazione una o più entità E1, E2,..., En con una entità E, che le comprende come caso particolare E è generalizzazione di E1, E2,..., En E1, E2,..., En sono specializzazioni (o sottotipi) di E Modello E-R: Generalizzazione rappresentazione grafica Dipendente Impiegato Funzionario Dirigente

27 Modello E-R: Generalizzazione proprietà Modello E-R: Generalizzazione esempio Se E (genitore) è generalizzazione di E1, E2,..., En (figlie): Città ogni proprietà di E è significativa per E1, E2,..., En ogni occorrenza di E1, E2,..., En è occorrenza anche di E (0,N) Nascita (1,1) Codice fiscale Ereditarietà delle generalizzazioni Persona Nome tutte le proprietà (attributi, relationship, altre generalizzazioni) dell entità genitore vengono ereditate dalle entità figlie e non rappresentate esplicitamente Stipendio Età Lavoratore Studente Modello E-R: Tipi di generalizzazione Modello E-R: Tipi di generalizzazione esempi totale se ogni occorrenza dell'entità genitore è occorrenza di almeno una delle entità figlie, altrimenti è parziale Persona Persona esclusiva se ogni occorrenza dell'entità genitore è occorrenza di al più una delle entità figlie, altrimenti è sovrapposta Disoccupato Lavoratore Uomo Donna consideriamo (senza perdita di generalità) solo generalizzazioni esclusive e distinguiamo fra totali e parziali Generalizzazione parziale esclusiva Generalizzazione totale esclusiva

28 Modello E-R: Tipi di generalizzazione altre proprietà possono esistere gerarchie a più generalizzazioni allo stesso livello livelli e multiple un'entità può essere inclusa in più gerarchie, come genitore e/o come figlia se una generalizzazione ha solo un entità figlia si parla di sottoinsieme Modello E-R: Generalizzazioni esercizio Le persone sono uomini e donne hanno CF,cognome ed età; per gli uomini è rilevante anche la posizione militare. Gli impiegati e gli studenti sono delle persone. Gli impiegati hanno lo stipendio e possono essere segretari per i quali è rilevante l orario di lavoro, direttori o progettisti (nell ultimo caso possono essere anche responsabili di progetto); gli studenti (che non possono essere impiegati) hanno il numero di matricola; esistono persone che non sono né impiegati né studenti (ma i dettagli non ci interessano) alcune configurazioni non hanno senso il genitore di una generalizzazione totale può non avere identificatore, purché Modello E-R: Generalizzazioni esercizio Modello E-R: Documentazione associata agli schemi concettuali CF Cognome Persona Stipendio Età Matr. dizionario dei dati entità relationship Uomo Donna Impiegato Studente vincoli non esprimibili Militare Segretario Direttore Progettista Orario lavoro Responsabile

29 Modello E-R: Esempio Cognome (0,1) (1,1) Telefono Direzione (1,N) Impiegato (0,1) (0,N) Dipartimento Codice (0,N) Afferenza (1,1) Nome Partecipazione (0,1) Composizione (1,N) Data (1,N) Progetto Sede Via Budget Nome Indirizzo CAP Città 113 Entità Descrizione Attributi Identificatore Impiegato Dipendente Codice, Codice dell'azienda Cognome, Stipendio Progetto Progetti Nome, Nome aziendali Budget Dipartimento Struttura Nome, Nome, Sede Modello E-R: Dizionario dei dati (entità) aziendale Sede dell'azienda Telefono Città, Indirizzo Sede Città 114 Modello E-R: Dizionario dei dati (relationship) Modello E-R: Vincoli non esprimibili Relazioni Descrizione Componenti Attributi Direzione Direzione di un Impiegato, dipartimento Dipartimento Afferenza Afferenza a un Impiegato, Data dipartimento Dipartimento Partecipazione Partecipazione a un progetto Impiegato, Progetto Composizione Composizione dell'azienda Dipartimento, Sede Vincoli di integrità sui dati (1) Il direttore di un dipartimento deve a afferire a tale dipartimento (2) Un impiegato non deve avere uno stipendio maggiore del direttore del dipartimento al quale afferisce (3) Un dipartimento con sede a Roma deve essere diretto da un impiegato con più di dieci anni di anzianità (4) Un impiegato che non afferisce a nessun dipartimento non deve partecipare a nessun un progetto

30 Sommario Sistemi informativi e sistemi informatici Metodologie e modelli per il progetto Progettazione di una base di dati Un modello concettuale: Il Modello E-R (1976) Progettazione concettuale Un modello logico: Il modello relazionale DataWarehouse Processi aziendali e sistemi informativi OLTP e OLAP Data warehouse e data warehousing Architetture per il warehousing Analisi multidimensionale Metodologia di progetto per le basi di dati Progettazione concettuale COME : progettazione Requisiti della base di dati Schema concettuale Progettazione logica Schema logico Progettazione fisica Schema fisico CHE COSA : analisi Analisi dei requisiti e progettazione concettuale ("Analisi dei dati") Comprende attività (interconnesse) di: acquisizione dei requisiti analisi dei requisiti costruzione dello schema concettuale costruzione del glossario Il reperimento dei requisiti è un'attività difficile e non standardizzabile l'attività di analisi inizia con i primi requisiti raccolti e spesso indirizza verso altre acquisizioni Requisiti Possibili fonti: utenti, attraverso: interviste documentazione apposita documentazione esistente: normative (leggi, regolamenti di settore) regolamenti interni, procedure aziendali realizzazioni preesistenti modulistica

31 Acquisizione per interviste utenti diversi possono fornire informazioni diverse utenti a livello più alto hanno spesso una visione più ampia ma meno dettagliata le interviste portano spesso ad una acquisizione dei requisiti per raffinamenti successivi Spunti: Interazione con gli utenti effettuare spesso verifiche di comprensione e coerenza verificare anche per mezzo di esempi (generali e relativi a casi limite) richiedere definizioni e classificazioni far evidenziare gli aspetti essenziali rispetto a quelli marginali Requisiti: documentazione descrittiva Regole generali: scegliere il corretto livello di astrazione standardizzare la struttura delle frasi suddividere le frasi articolate separare le frasi sui dati da quelle sulle funzioni Requisiti: organizzazione di termini e concetti Regole generali costruire un glossario dei termini individuare omonimi e sinonimi e unificare i termini rendere esplicito il riferimento fra termini riorganizzare le frasi per concetti

32 Requisiti: Esempio Requisiti: Glossario dei termini Base di dati bibliografica Si vogliono organizzare i dati di interesse per automatizzare la gestione dei riferimenti bibliografici Term ine Descrizione Sinonim i Collegamenti Partecipante Persona che partecipa Studente Corso, ai corsi Società Base di dati bibliografica Si vogliono organizzare i dati di interesse per automatizzare la gestione dei riferimenti bibliografici, con tutte le informazioni da riportarsi in una bibliografia. Docente Corso Docente dei corsi. Può essere esterno Corso organizzato dalla società. Può Insegnante Sem inario Corso Docente Per ogni pubblicazione deve esistere un codice identificante costituito da avere più edizioni. sette caratteri, indicanti le iniziali degli autori, l'anno di pubblicazione e un carattere aggiuntivo per la discriminazione delle collisioni Requisiti: Strutturazione dei requisiti in gruppi di frasi omogenee Requisiti: Strutturazione dei requisiti in gruppi di frasi omogenee Frasi di carattere generale Si vuole realizzare una base di dati per una società che eroga corsi, di cui vogliamo rappresentare i dati dei partecipanti ai corsi e dei docenti. Frasi relative ai datori di lavoro Relativamente ai datori di lavoro presenti e passati dei partecipanti, rappresentiamo il nome, l'indirizzo e il numero di telefono. Frasi relative ai partecipanti Per i partecipanti (circa 5000), identificati da un codice, rappresentiamo il codice fiscale, il cognome, l'età, il sesso, la città di nascita, i nomi dei loro attuali datori di lavoro e di quelli precedenti (insieme alle date di inizio e fine rapporto), le edizioni dei corsi che Frasi relative ai corsi Per i corsi (circa 200), rappresentiamo il titolo e il codice, le varie edizioni con date di inizio e fine e, per ogni edizione, rappresentiamo il numero di partecipanti e il giorno della settimana, le aule e le ore dove sono tenute le lezioni. stanno attualmente frequentando e quelli che hanno frequentato nel passato, con la relativa votazione finale in decimi

33 Quale costrutto E-R va utilizzato per rappresentare un concetto presente nelle specifiche? Bisogna basarsi sulle definizioni dei costrutti del modello E-R se ha proprietà significative e descrive oggetti con esistenza autonoma entità se è semplice e non ha proprietà attributo se correla due o più concetti relazione se è caso particolare di un altro generalizzazione Strategie di progetto top-down bottom-up inside-out Strategie di progetto: Top Down Strategie di progetto: Bottom Up

34 Strategie di progetto: Inside Out Strategie di progetto: In pratica si procede di solito con una strategia ibrida (mista): si individuano i concetti principali e si realizza uno schema scheletro sulla base di questo si può decomporre poi si raffina, si espande, si integra Definizione dello schema scheletro: Si individuano i concetti più importanti, ad esempio perché più citati o perché indicati esplicitamente come cruciali e li si organizza in un semplice schema concettuale Qualità di uno schema concettuale Correttezza Completezza Un esempio di progettazione concettuale Supponiamo di dover progettare una base di dati per una società di formazione F rasi d i carattere gen erale S i vu ole realizzare u n a b ase d i d ati p er u n a società ch e eroga corsi, d i cu i vogliam o rap p resen tare i dati d ei p artecip an ti ai corsi e d ei d ocen ti. Leggibilità minimalità Definiamo lo schema scheletro: Partecipazione Corso Docenza Partecipante Docente

35 Un esempio di progettazione concettuale Un esempio di progettazione concettuale Frasi relative ai partecipanti Per i partecipanti (circa 5000), identificati da un codice, rappresentiamo il codice fiscale, il cognome, l'età, il sesso, la città di nascita, i nomi dei loro attuali datori di lavoro e di quelli precedenti (insieme alle date di inizio e fine rapporto), le edizioni dei corsi che stanno attualmente frequentando e quelli che hanno frequentato nel passato, con la relativa votazione finale in decimi. Frasi relative a tipi specifici di partecipanti Per i partecipanti che sono liberi professionisti, rappresentiamo l'area di interesse e, se lo possiedono, il titolo professionale. Per i partecipanti che sono dipendenti, rappresentiamo invece il loro livello e la posizione ricoperta. Frasi relative ai datori di lavoro Relativamente ai datori di lavoro presenti e passati dei partecipanti, rappresentiamo il nome, l'indirizzo e il numero di telefono Un esempio di progettazione concettuale Un esempio di progettazione concettuale (0,N) Impiego corrente (1,1) (0,N) (0,N) Datore Impiego passato Nome.. CF Frasi relative ai corsi Per i corsi (circa 200), rappresentiamo il titolo e il codice, le varie edizioni con date di inizio e fine e, per ogni edizione, rappresentiamo il numero di partecipanti e il giorno della settimana, le aule e le ore dove sono tenute le lezioni. Partecipante Codice.. Dipendente Professionista Livello Posizione Titolo prof. Area

36 Un esempio di progettazione concettuale Un esempio di progettazione concettuale Data inizio (1,1) Data fine Edizione corso N.Part. (1,N) Frasi relative ai docenti Per i docenti (circa 300), rappresentiamo il cognome, l'età, la città di nascita, tutti i numeri di telefono, il titolo del corso che insegnano, di quelli che hanno insegnato nel passato e di quelli che possono insegnare. I docenti possono essere dipendenti interni della società di formazione o collaboratori esterni. Tipologia (0,N) Composizione (1,1) Telefono (1,N) Docente CF Cognome Corso Lezione Città nascita Età Titolo Codice Orario Aula Giorno Collaboratore Interno Un esempio di progettazione concettuale: Integrazione Un esempio di progettazione concettuale: Integrazione Corso (0,1) Docenza passata (0,N) Partecipazione Partecipante (0,N) partecipazione passata Docenza Docente (0,N) Data inizio Corso Edizione Tipologia (1,1) (0,N) Docenza (0,1) (0,1) (0,1) Docenza corrente (0,1) Docente (1,N) Partecipante (0,1) partecipazione (0,N) corrente Corso Corso (1,N) Abilitazione 143 Titolo Codice 144

37 Sommario Sistemi informativi e sistemi informatici Metodologie e modelli per il progetto Progettazione di una base di dati Un modello concettuale: Il Modello E-R (1976) Progettazione concettuale Un modello logico: Il modello relazionale DataWarehouse Processi aziendali e sistemi informativi OLTP e OLAP Data warehouse e data warehousing Architetture per il warehousing Analisi multidimensionale I modelli logici dei dati Tre modelli logici tradizionali Gerarchico Reticolare Relazionale Più recente (e poco diffuso) a Oggetti Caratteristiche utilizzano riferimenti espliciti (puntatori) fra record "è basato su valori anche i riferimenti fra dati in strutture (relazioni) diverse sono rappresentati per mezzo dei valori stessi Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati Struttura non posizionale A ciascun dominio si associa un nome (attributo), che ne descrive il "ruolo" Disponibile in DBMS reali nel 1981 (non è facile implementare l indipendenza con efficienza e affidabilità!) Si basa sul concetto matematico di relazione (con una variante) Le relazioni hanno naturale rappresentazione per mezzo di tabelle Casa Juve Lazio Juve Roma Fuori Lazio Milan Roma Milan RetiCasa RetiFuori

38 Tabelle e relazioni Una tabella rappresenta una relazione se i valori di ogni colonna sono fra loro omogenei le righe sono diverse fra loro le intestazioni delle colonne sono diverse tra loro In una tabella che rappresenta una relazione l ordinamento tra le righe è irrilevante l ordinamento tra le colonne è irrilevante Il modello è basato su valori i riferimenti fra dati in relazioni diverse sono rappresentati per mezzo di valori dei domini che compaiono nelle ennuple studenti esami Studente Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/ Neri Paolo 03/11/ Verdi Luisa 12/11/ Rossi Maria 01/02/1978 Voto Corso corsi Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Chimica Verdi Il modello basato su puntatori Vantaggi della struttura basata su valori studenti Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/ Neri Paolo 03/11/ Verdi Luisa 12/11/ Rossi Maria 01/02/1978 esami Studente Voto Corso corsi Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Chimica Verdi 151 indipendenza dalle strutture fisiche (si potrebbe avere anche con puntatori di alto livello) che possono cambiare dinamicamente si rappresenta solo ciò che è rilevante dal punto di vista dell applicazione l utente finale vede gli stessi dati dei programmatori i dati sono portabili piu' facilmente da un sistema ad un altro i puntatori sono direzionali 152

39 Definizioni Strutture nidificate Schema di relazione: un nome R con un insieme di attributi A 1,..., A n : R(A 1,..., A n ) Schema di base di dati: insieme di schemi di relazione: R = {R 1 (X 1 ),..., R k (X k )} Da Filippo Via Roma 2, Roma Ricevuta Fiscale 1235 del 12/10/ Coperti 3,00 2 Antipasti 6,20 3 Primi 12,00 2 Bistecche 18,00 Totale 39,20 Da Filippo Via Roma 2, Roma Ricevuta Fiscale 1240 del 13/10/ Coperti 2,00 2 Antipasti 7,00 2 Primi 8,00 2 Orate 20,00 2 Caffè 2,00 Totale 39, Relazioni che rappresentano strutture nidificate Strutture nidifcate, riflessione Ricevute Numero Data Totale /10/ , /10/ ,00 Abbiamo rappresentato veramente tutti gli aspetti delle ricevute? Dipende da che cosa ci interessa! Dettaglio Numero Qtà Descrizione Costo Coperti 3, Antipasti 6, Primi 12, Bistecche 18, Coperti 2,00 l'ordine delle righe e' rilevante? possono esistere linee ripetute in una ricevuta? Sono possibili rappresentazioni diverse

40 Rappresentazione alternativa per strutture nidificate Informazione incompleta Ricevute Numero Data Totale /10/ , /10/ ,00 ll modello relazionale impone ai dati una struttura rigida: le informazioni sono rappresentate per mezzo di ennuple solo alcuni formati di ennuple sono ammessi: quelli che corrispondono agli schemi di relazione Dettaglio Numero Riga Qtà Descrizione Costo Coperti 3, Antipasti 6, Primi 12, Bistecche 18, Coperti 2,00 I dati disponibili possono non corrispondere al formato previsto Informazione incompleta: motivazioni Informazione incompleta nel modello relazionale Nome Franklin Winston Charles Josip SecondoNome Delano Cognome Roosevelt Churchill De Gaulle Stalin non conviene (anche se spesso si fa) usare valori del dominio (0, stringa nulla, 99,...): potrebbero non esistere valori non utilizzati valori non utilizzati potrebbero diventare significativi in fase di utilizzo (nei programmi) sarebbe necessario ogni volta tener conto del significato di questi valori Si adotta una tecnica rudimentale ma efficace: valore nullo: denota l assenza di un valore del dominio (e non è un valore del dominio) t[a], per ogni attributo A, è un valore del dominio dom(a) oppure il valore nullo NULL Si possono (e debbono) imporre restrizioni sulla presenza di valori nulli

41 Troppi valori nulli Tipi di valore nullo studenti MatricolaCognome Nome Data di nascita 6554 Rossi Mario 05/12/ Verdi Luisa 12/11/1979 NULL Rossi Maria 01/02/1978 esami Studente Voto Corso NULL 30 NULL NULL (almeno) tre casi differenti valore sconosciuto valore inesistente valore senza informazione I DBMS non distinguono i tipi di valore nullo corsi Codice Titolo Docente 01 Analisi Mario 02 NULL NULL 04 Chimica Verdi Vincoli di integrità Esistono istanze di basi di dati che, pur sintatticamente corrette, non rappresentano informazioni possibili per l applicazione di interesse Vincolo di integrità Proprietà che deve essere soddisfatta dalle istanze che rappresentano informazioni corrette per l applicazione Esami Studente Voto Lode Corso e lode e lode Un vincolo è una funzione booleana (un predicato): associa ad ogni istanza il valore vero o falso Studenti Matricola Cognome Rossi Neri Bianchi Nome Mario Piero Luca

42 Vincolo di integrità, perchè? Tipi di vincoli descrizione più accurata della realtà vincoli intrarelazionali contributo alla qualità dei dati utili nella progettazione (vedremo) usati dai DBMS nella esecuzione delle interrogazioni vincoli su valori (o di dominio) vincoli di ennupla vincoli interrelazionali non tutte le proprietà di interesse sono rappresentabili per mezzo di vincoli formulabili in modo esplicito Tipi di vincoli Vincoli di ennupla Esami Studente Voto Lode Corso e lode e lode Esprimono condizioni sui valori di ciascuna ennupla,indipendentemente dalle altre ennuple Caso particolare: Vincoli di dominio: coinvolgono un solo attributo Studenti Matricola Cognome Rossi Neri Bianchi Nome Mario Piero Luca

43 Vincoli di ennupla: esempio Identificazione delle ennuple Stipendi Impiegato Rossi Neri Bruni Lordo Ritenute Netto Matricola Cognome Rossi Rossi Neri Neri Rossi Nome Mario Mario Piero Mario Piero Corso Ing Inf Ing Inf Ing Mecc Ing Inf Ing Mecc Nascita 5/12/78 3/11/76 10/7/79 3/11/76 5/12/78 Lordo = (Ritenute + Netto) non ci sono due ennuple con lo stesso valore sull attributo Matricola non ci sono due ennuple uguali su tutti e tre gli attributi Cognome, Nome e Data di Nascita Chiave Una chiave Insieme di attributi che identificano le ennuple di una relazione Formalmente: Un insieme K di attributi è superchiave per r se r non contiene due ennuple distinte t 1 e t 2 con t 1 [K] = t 2 [K] K è chiave per r se è una superchiave minimale per r (cioè non contiene un altra superchiave) Matricola Cognome Rossi Rossi Neri Neri Rossi Matricola è una chiave: Nome Mario Mario Piero Mario Piero Corso Ing Inf Ing Inf Ing Mecc Ing Inf Ing Mecc Nascita 5/12/78 3/11/76 10/7/79 3/11/76 5/12/78 è superchiave contiene un solo attributo e quindi è minimale

44 Un'altra chiave Un'altra chiave Matricola Cognome Rossi Rossi Neri Neri Rossi Nome Mario Mario Piero Mario Piero Corso Ing Inf Ing Inf Ing Mecc Ing Inf Ing Mecc Nascita 5/12/78 3/11/76 10/7/79 3/11/76 5/12/78 Matricola Cognome Rossi Rossi Neri Neri Rossi Nome Mario Mario Piero Mario Piero Corso Ing Inf Ing Inf Ing Mecc Ing Inf Ing Mecc Nascita 5/12/78 3/11/76 10/7/79 3/11/76 5/12/78 Cognome, Nome, Nascita è un altra chiave: è superchiave minimale Non ci sono ennuple uguali su Cognome e Corso: Cognome e Corso formano una chiave Ma è sempre vero? Vincoli, schemi e istanze i vincoli corrispondono a proprietà del mondo reale modellato dalla base di dati interessano a livello di schema (con riferimento cioè a tutte le istanze) Esistenza delle chiavi Una relazione non può contenere ennuple distinte ma uguali Ogni relazione ha come superchiave l insieme degli attributi su cui è definita ha (almeno) una chiave ad uno schema associamo un insieme di vincoli e consideriamo corrette (valide, ammissibili) le istanze che soddisfano tutti i vincoli un'istanza può soddisfare altri vincoli ( per caso )

45 Importanza delle chiavi Chiavi e valori nulli L esistenza delle chiavi garantisce l accessibilità a ciascun dato della base di dati Le chiavi permettono di correlare i dati in relazioni diverse: il modello relazionale è basato su valori In presenza di valori nulli, i valori della chiave non permettono di identificare le ennuple di realizzare facilmente i riferimenti da altre relazioni Chiavi e valori nulli Chiave primaria Matricola Cognome Nome Corso Nascita NULL NULL Mario Ing Inf 5/12/ Rossi Mario Ing Civile 3/11/ Neri Neri Piero Mario Ing Mecc Ing Inf 10/7/79 NULL NULL Neri Mario NULL 5/12/78 La presenza di valori nulli nelle chiavi deve essere limitata Chiave su cui non sono ammessi nulli Notazione: sottolineatura Matricola Cognome Nome Corso Nascita NULL Mario Ing Inf 5/12/ Rossi Neri Mario Piero Ing Civile 3/11/76 Ing Mecc 10/7/ Neri Mario Ing Inf NULL Neri Mario NULL 5/12/

46 Integrità referenziale Integrità referenziale: Esempio Informazioni in relazioni diverse sono correlate attraverso valori comuni In particolare, valori delle chiavi (primarie) Le correlazioni debbono essere "coerenti" Infrazioni Codice Data 1/2/95 4/3/95 5/4/96 5/2/98 Vigile Prov Numero MI 39548K TO E39548 PR PR Vigili Matricola Cognome Rossi Neri Neri Mori Nome Luca Piero Mario Gino Integrità referenziale: Esempio Infrazioni Codice Data 1/2/95 4/3/95 5/4/96 5/2/98 Vigile Prov Numero MI 39548K TO E39548 PR PR Vincolo di integrità referenziale Un vincolo di integrità referenziale ( foreign key ) fra gli attributi X di una relazione R 1 e un altra relazione R 2 impone ai valori su X in R 1 di comparire come valori della chiave primaria di R 2 Auto Prov NumeroCognome MI TO PR 39548K E Rossi Rossi Neri Nome Mario Mario Luca

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

Partite string string int int. Perché studiare il Modello Relazionale? Capitolo 2. Relazione: tre accezioni. Basi di dati relazionali: definizioni

Partite string string int int. Perché studiare il Modello Relazionale? Capitolo 2. Relazione: tre accezioni. Basi di dati relazionali: definizioni Perché studiare il Modello Relazionale? Capitolo 2 Il modello relazionale È il modello più largamente usato Produttori: IBM, Informix, Microsoft, Oracle, Sybase, etc. Sistemi proprietari nei modelli più

Dettagli

Informatica 2 Basi di dati

Informatica 2 Basi di dati Informatica 2 Basi di dati Prof. Giovanni Giuffrida e-mail: giovanni.giuffrida@dmi.unict.it DB - Introduzione 1 Recapiti Prof. Giuffrida Giovanni Email: giovanni.giuffrida@dmi.unict.it Info sul corso:

Dettagli

Sistema di Gestione di Basi di Dati DataBase Management System DBMS

Sistema di Gestione di Basi di Dati DataBase Management System DBMS Base di dati (accezione generica) collezione di dati, utilizzati per rappresentare le informazioni di interesse per una o più applicazioni di una organizzazione (accezione specifica) collezione di dati

Dettagli

Corso di Informatica (Basi di Dati)

Corso di Informatica (Basi di Dati) Corso di Informatica (Basi di Dati) Lezione 1 (12 dicembre 2008) Introduzione alle Basi di Dati Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini,

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

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi Modello Relazionale Modello Relazionale Proposto agli inizi degli anni 70 da Codd Finalizzato alla realizzazione dell indipendenza dei dati Unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

Informatica (Basi di Dati)

Informatica (Basi di Dati) Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Introduzione alle Basi di Dati Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati

Dettagli

Che cos è un DBMS? Capitolo 1. Perché usare un DBMS? DBMS. Descrizioni dei dati nei DBMS. Modelli di dati

Che cos è un DBMS? Capitolo 1. Perché usare un DBMS? DBMS. Descrizioni dei dati nei DBMS. Modelli di dati Che cos è un DBMS? Capitolo 1 Introduzione ai sistemi di basi di dati Una collezione integrata molto grande di dati Modella organizzazioni del mondo reale Entità (ad esempio studenti, corsi) Relazioni

Dettagli

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni e identificatori Codice (0,1) (1,1) Dirige Informatica Lezione 8 Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2012 2013 1 Cognome

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

MODELLO RELAZIONALE. Introduzione

MODELLO RELAZIONALE. Introduzione MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)

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

Modulo 2 Data Base 2

Modulo 2 Data Base 2 Modulo 2 Data Base 2 Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2004/2005 Relazioni: riepilogo Relazione : concetto

Dettagli

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli gerarchico e reticolare sono più vicini alle strutture

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

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015 BASE DI DATI: introduzione Informatica 5BSA Febbraio 2015 Di cosa parleremo? Base di dati relazionali, modelli e linguaggi: verranno presentate le caratteristiche fondamentali della basi di dati. In particolare

Dettagli

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS Basi di Basi di (Sistemi Informativi) Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi (e oggi anche sul web) Avete già interagito (magari inconsapevolmente)

Dettagli

Elena Baralis 2013 Politecnico di Torino 1

Elena Baralis 2013 Politecnico di Torino 1 Modello relazionale Docente M2170 Fondamenti di informatica Verdi M4880 Sistemi di elaborazione Bianchi F0410 Basi di dati Neri Docenti Nome Dipartimento Telefono Verdi Informatica 123456 Bianchi Elettronica

Dettagli

BASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA

BASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA BASE DI DATI: sicurezza Informatica febbraio 2015 5ASA Argomenti Privatezza o riservatezza Vincoli di integrità logica della base di dati intrarelazionali interrelazionali Principio generale sulla sicurezza

Dettagli

Alessandra Raffaetà. Basi di Dati

Alessandra Raffaetà. Basi di Dati Lezione 2 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Basi di Dati

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

Informatica (Basi di Dati)

Informatica (Basi di Dati) Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.

Dettagli

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell

Dettagli

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale DIIGA - Università Politecnica delle Marche A.A. 2006/2007 Informatica Industriale Modello funzionale: Informazione Progettazione concettuale Luca Spalazzi spalazzi@diiga.univpm.it www.diiga.univpm.it/~spalazzi/

Dettagli

Informatica Introduzione alle basi di dati

Informatica Introduzione alle basi di dati Informatica Introduzione alle basi di dati Prof. Giovanni Giuffrida e-mail: giovanni.giuffrida@dmi.unict.it 27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 1 Materiale didattico Atzeni,Ceri,Paraboschi,Torlone,

Dettagli

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Database relazionali: un'introduzione Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Rappresentazione astratta di aspetti del mondo reale (Universe

Dettagli

Vincoli di integrità

Vincoli di integrità Vincoli di integrità Non tutte le istanze di basi di dati sintatticamente corrette rappresentano informazioni plausibili per l applicazione di interesse Studenti Matricola Nome Nascita 276545 Rossi 23-04-72?

Dettagli

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007 Basi di dati Concetti introduttivi Ultima modifica: 26/02/2007 ESEMPIO INSEGNAMENTI Fisica, Analisi, Informatica Aule Docenti Entità Relazioni Interrogazioni St udent i Database 2 Tabella (I) STUDENTE

Dettagli

Facoltà di Farmacia - Corso di Informatica

Facoltà di Farmacia - Corso di Informatica Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito

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

2.2b: RELAZIONI E BASI DI DATI. Atzeni, cap. 2.1.4

2.2b: RELAZIONI E BASI DI DATI. Atzeni, cap. 2.1.4 2.2b: RELAZIONI E BASI DI DATI Atzeni, cap. 2.1.4 Il modello è basato su valori Una Base di Dati è generalmente costituita da più di una Tabella Le corrispondenze fra dati presenti in tabelle diverse sono

Dettagli

Lezione V. Aula Multimediale - sabato 29/03/2008

Lezione V. Aula Multimediale - sabato 29/03/2008 Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)

Dettagli

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità Informatica Possono esistere associazioni diverse che coinvolgono le stesse entità Lezione 7 Lavora a Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione

Dettagli

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Basi di dati Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Anno Accademico 2008/2009 Introduzione alle basi di dati Docente Pierangelo

Dettagli

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

DB - Modello relazionale dei dati. DB - Modello Relazionale 1 DB - Modello relazionale dei dati DB - Modello Relazionale 1 Definizione Un modello dei dati è un insieme di meccanismi di astrazione per definire una base di dati, con associato un insieme predefinito

Dettagli

Identificatori delle entità

Identificatori delle entità Identificatori delle entità Permettono di identificare in maniera univoca le occorrenze delle entità Ogni entità deve averne (almeno) uno Targa Automobile Modello Colore Nome Persona Data di nascita Indirizzo

Dettagli

Informatica. Il modello relazionale: Relazioni e tabelle. Relazioni con attributi

Informatica. Il modello relazionale: Relazioni e tabelle. Relazioni con attributi Informatica Basi di dati parte 3 Basi di dati relazionali: relazioni, tabelle, chiavi, vincoli Lezione 9 Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione

Dettagli

IL SISTEMA INFORMATIVO

IL SISTEMA INFORMATIVO IL SISTEMA INFORMATIVO In un organizzazione l informazione è una risorsa importante al pari di altri tipi di risorse: umane, materiali, finanziarie, (con il termine organizzazione intendiamo un insieme

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

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

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

Introduzione al data base

Introduzione al data base Introduzione al data base L Informatica è quella disciplina che si occupa del trattamento automatico dei dati con l ausilio del computer. Trattare i dati significa: raccoglierli, elaborarli e conservarli

Dettagli

PROGETTAZIONE CONCETTUALE

PROGETTAZIONE CONCETTUALE Fasi della progettazione di basi di dati PROGETTAZIONE CONCETTUALE Parte V Progettazione concettuale Input: specifiche utente Output: schema concettuale (astrazione della realtà) PROGETTAZIONE LOGICA Input:

Dettagli

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. Progettazione logica Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. La progettazione logica è basata su un particolare modello logico dei

Dettagli

BASI DI DATI - : I modelli di database

BASI DI DATI - : I modelli di database BASI DI DATI - : I modelli di database DAL 1960 ci si e' orientati verso 3 direzioni: 1 MODELLO GERARCHICO Se i dati si presentano naturalmente in una struttura ad albero (ES. File System) Limiti: rigidità

Dettagli

Dalla progettazione concettuale alla modellazione di dominio

Dalla progettazione concettuale alla modellazione di dominio Luca Cabibbo A P S Analisi e Progettazione del Software Dalla progettazione concettuale alla modellazione di dominio Capitolo 91 marzo 2015 Se qualcuno vi avvicinasse in un vicolo buio dicendo psst, vuoi

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Basi di dati. Le funzionalità del sistema non vanno però ignorate

Basi di dati. Le funzionalità del sistema non vanno però ignorate Basi di dati La progettazione di una base di dati richiede di focalizzare lo sforzo su analisi, progettazione e implementazione della struttura con cui sono organizzati i dati (modelli di dati) Le funzionalità

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

Dettagli

Le Basi di Dati. Le Basi di Dati

Le Basi di Dati. Le Basi di Dati Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

Base di dati e sistemi informativi

Base di dati e sistemi informativi Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per

Dettagli

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione Programma del Corso Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione (I prova scritta) (II prova scritta) Interazione fra linguaggi di programmazione e basi di dati Cenni

Dettagli

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei Introduzione Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei. ESEMPI DI INSIEMI DI DATI DA ORGANIZZARE ED USARE IN MANIERA EFFICIENTE Introduzione Più utenti con

Dettagli

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale Modello dei Dati E-R ENTITÀ-RELAZIONE O (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale R.Gori - G.Leoni Modello dei Dati Entità-Relazione

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

La Progettazione Concettuale

La Progettazione Concettuale La Progettazione Concettuale Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica CorsodiBasidiDati Anno Accademico 2006/2007 docente: ing. Corrado Aaron Visaggio

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

Introduzione alla progettazione. Metodologie e modelli per la progettazione di basi di dati. Il ciclo di vita dei sistemi informativi

Introduzione alla progettazione. Metodologie e modelli per la progettazione di basi di dati. Il ciclo di vita dei sistemi informativi Metodologie e modelli per la progettazione di basi di dati Introduzione alla progettazione Il problema: progettare una base di base di dati a partire dai suoi requisiti Progettare: definire la struttura,

Dettagli

Basi di dati 9 febbraio 2010 Compito A

Basi di dati 9 febbraio 2010 Compito A Basi di dati 9 febbraio 2010 Compito A Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli

Dettagli

Data Base. Prof. Filippo TROTTA

Data Base. Prof. Filippo TROTTA Data Base Definizione di DataBase Un Database può essere definito come un insieme di informazioni strettamente correlate, memorizzate su un supporto di memoria di massa, costituenti un tutt uno, che possono

Dettagli

database: modello entityrelationship

database: modello entityrelationship Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8 database: modello entityrelationship Prof.Valle D.ssaFolgieri Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 1 Fasi

Dettagli

La Metodologia adottata nel Corso

La Metodologia adottata nel Corso La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema

Dettagli

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale Il modello relazionale 1 Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

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

I Sistemi Informativi

I Sistemi Informativi I Sistemi Informativi Definizione Un Sistema Informativo è un mezzo per acquisire, organizzare, correlare, elaborare e distribuire le informazioni che riguardano una realtà che si desidera descrivere e

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

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

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

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome. Prof. Francesco Accarino Raccolta di esercizi modello ER Esercizio 1 Un università vuole raccogliere ed organizzare in un database le informazioni sui propri studenti in relazione ai corsi che essi frequentano

Dettagli

Le Basi di dati: generalità. Unità di Apprendimento A1 1

Le Basi di dati: generalità. Unità di Apprendimento A1 1 Le Basi di dati: generalità Unità di Apprendimento A1 1 1 Cosa è una base di dati In ogni modello di organizzazione della vita dell uomo vengono trattate informazioni Una volta individuate e raccolte devono

Dettagli

Organizzazione delle informazioni: Database

Organizzazione delle informazioni: Database Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)

Dettagli

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2010-2011

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2010-2011 Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2010-2011 2011 Docente: Gigliola Vaglini Docente laboratorio: Alessandro Lori 1 Obiettivi del corso Imparare

Dettagli

Basi di Dati e Microsoft Access

Basi di Dati e Microsoft Access Basi di Dati e Microsoft Access Lun: 16-18 e Mer: 14-17 Alessandro Padovani padoale@email.it Database: definizione Un database (DB) è una collezione di informazioni organizzata in gruppi, che consentono

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

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

Lezione 2. Il modello entità relazione

Lezione 2. Il modello entità relazione Lezione 2 Il modello entità relazione Pag.1 Introduzione alla progettazione delle basi di dati 1. Analisi dei requisiti Quali sono le entità e le relazioni dell organizzazione? Quali informazioni su queste

Dettagli

Introduzione alle basi di dati (prima parte)

Introduzione alle basi di dati (prima parte) Introduzione alle basi di dati (prima parte) Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2007/2008

Dettagli

Basi di Dati. Progettazione del Modello ER. K. Donno - Progettazione del Modello ER

Basi di Dati. Progettazione del Modello ER. K. Donno - Progettazione del Modello ER Basi di Dati Progettazione del Modello ER Dai requisiti allo schema ER Entità, relazioni e attributi non sono fatti assoluti dipendono dal contesto applicativo Nella pratica si fa spesso uso di una strategia

Dettagli

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database Per comprendere al meglio cosa sia un database, dobbiamo prima introdurre il concetto di

Dettagli

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software La fase di Analisi Giulio Destri Ing. del software: Analisi - 1 Scopo del modulo Definire

Dettagli

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale Basi di Dati e Sistemi Informativi Progettazione logica: Il modello relazionale Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Introduzione Basato sul lavoro di Codd (~1970) E attualmente

Dettagli

Corso di Basi di Dati. Linguaggi per basi di dati. Linguaggi per basi di dati. Linguaggi per basi di dati: Algebra Relazionale

Corso di Basi di Dati. Linguaggi per basi di dati. Linguaggi per basi di dati. Linguaggi per basi di dati: Algebra Relazionale Corso di Basi di Dati Linguaggi per basi di dati: lgebra Relazionale Donatella Gubiani Linguaggi per basi di dati Si possono distinguere diversi tipi di linguaggi per la gestione dei dati: Linguaggio di

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

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota Attributi e domini Assumiamo un universo infinito numerabile U = {A 0, A 1, A 2...} di attributi. Denotiamo gli attributi con A, B, C, B 1, C 1... e gli insiemi di attributi con X, Y, Z, X 1,... per brevità

Dettagli

Testi di riferimento. Atzeni, Ceri, Paraboschi, Torlone Basi di Dati Modelli e linguaggi di interrogazione Mc Graw Hill 2008 (III Edizione)

Testi di riferimento. Atzeni, Ceri, Paraboschi, Torlone Basi di Dati Modelli e linguaggi di interrogazione Mc Graw Hill 2008 (III Edizione) 2.1b: DB e DBMS Testi di riferimento Atzeni, Ceri, Paraboschi, Torlone Basi di Dati Modelli e linguaggi di interrogazione Mc Graw Hill 2008 (III Edizione) Altri testi di consultazione e approfondimento

Dettagli

Introduzione al corso

Introduzione al corso Introduzione al corso Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: introduzione.pdf Sistemi Informativi L-B Docente Prof. Paolo Ciaccia

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

Strumenti di modellazione. Gabriella Trucco

Strumenti di modellazione. Gabriella Trucco Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell

Dettagli

Metodologie per la Progettazione Concettuale

Metodologie per la Progettazione Concettuale Metodologie per la Progettazione Concettuale Raccolta e analisi dei requisiti Scegliere il corretto livello di astrazione Standardizzare la struttura delle frasi Evitare frasi contorte Individuare sinonimi

Dettagli

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni LA PROGETTAZIONE DI BASI DI DATI Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni La progettazione dei dati è l attività più importante Per progettare i dati al

Dettagli

Informatica per le discipline umanistiche 2 lezione 10

Informatica per le discipline umanistiche 2 lezione 10 Informatica per le discipline umanistiche 2 lezione 10 Parte III: il computer come strumento per l interazione e la comunicazione Si è parlato di identità Parte III: il computer come strumento per l interazione

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

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2 Basi di dati Concetti Introduttivi ESEMPIO Fisica, Analisi, Informatica Entità Relazioni Interrogazioni Database 2 Tabella (I) STUDENTE Attributi Data di Nascita Indirizzo Matricola Luca Neri 27/10/1980

Dettagli

MODELLO E/R. Modellazione dei dati

MODELLO E/R. Modellazione dei dati MODELLO E/R Maria Mirto Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli elementi caratterizzanti e i legami intercorrenti

Dettagli

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale Basi di dati 1 Il Modello Relazionale Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Il Modello Relazionale Basi di dati 2 Introduzione Il modello

Dettagli