Modulo 8 I data base Unità 3 Modello concetutale

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Modulo 8 I data base Unità 3 Modello concetutale"

Transcript

1 Modulo 8 I data base Unità 3 Modello concetutale Prof. Antonio Scanu

2 1 La progettazione concettuale La progettazione concettuale consiste nel riorganizzare tutti gli elementi presenti nella documentazione sulle specifiche per rappresentare la realtà di interesse in termini di una descrizione formale e completa, indipendentemente dai criteri di rappresentazione usati nei DBMS. Il prodotto di tale attività è lo schema concettuale, che rappresenta il documento ufficiale di riferimento e di comunicazione per i progettisti della successiva fase di progettazione logica. Il termine concettuale si riferisce al fatto che si evita il più possibile di descrivere dettagli realizzativi. In particolare, si astrae dal tipo di sistema e dal linguaggio che verranno utilizzati nella realizzazione e si cerca, invece, di attribuire una certa struttura ai dati. 2 Il modello concettuale ER Tra i possibili modelli concettuali è molto diffuso il modello Entità/Associazioni (in inglese ER, da Entity/Relationship), introdotto nel 1976 da Peter P. Chen. Si tratta di un modello grafico per la descrizione dei dati e delle loro relazioni all interno di una realtà di interesse. È uno strumento per l analisi delle caratteristiche di una realtà indipendentemente dagli eventi che in essa accadono. Il risultato di questo lavoro è rappresentato dallo schema ER o diagramma ER. Per la costruzione di uno schema ER si parte dal semplice concetto che la realtà da rappresentare è composta da entità, ognuna delle quali è caratterizzata da specifiche proprietà (o attributi). Le varie entità che caratterizzano la realtà oggetto di studio sono connesse tra loro attraverso specifiche associazioni che evolvono nel tempo. 2.1 Le entità Le entità sono ciò che esiste all interno della realtà che si vuole modellare e di cui interessa rappresentare alcuni fatti (le proprietà). Sono esempi di entità i cantanti Lucio Dalla o Sting, i libri I promessi sposi o Lo Zibaldone di una biblioteca che si vuole prendere in esame. Le proprietà (o attributi) sono i fatti che si intende rappresentare e che interessano poiché descrivono caratteristiche di specifiche entità. Esempi di proprietà sono il cognome e il nome di alcuni cantanti oppure il titolo, il numero di pagine e la casa editrice di un libro. Il procedimento mentale che permette di evidenziare alcune proprietà, ritenute significative degli oggetti osservati, escludendone altre giudicate non rilevanti, prende il nome di processo di astrazione. Attraverso questo processo, quindi, il progettista concettuale classifica le entità della realtà di interesse in base alle similitudini e alle proprietà comuni, definendo, in questo modo, il tipo di entità. Un tipo di entità descrive la struttura di tutte le entità di una certa natura. Ad esempio, i singoli cantanti ( Lucio Dalla, Sting e così via) possono essere classificati nel tipo entità Cantanti e i singoli libri di una biblioteca ( I promessi sposi, Lo Zibaldone e così via) nel tipo di entità Libri. Ogni singolo esemplare che appartiene a un tipo di entità è detto istanza. 2

3 Ad esempio, il libro I promessi sposi è un istanza del tipo di entità Libri, mentre il cantante Sting è un istanza del tipo di entità Cantanti. Per adeguarsi al modello espositivo classico, nel seguito utilizzeremo il termine entità come sinonimo di tipo di entità. 2.2 Gli attributi Le proprietà delle entità sono descritte attraverso gli attributi. Le proprietà elementari (cioè non strutturabili in proprietà più atomiche) delle entità e delle associazioni vengono descritte attraverso gli attributi semplici. Esempi di attributi per l entità Persona nel contesto di un ufficio anagrafico sono: Nome, Comome, Età, Sesso Attributi per l entità BottigliaDiVino, nel contesto di un enoteca, possono essere, ad esempio: Ogni attributo è specificato da: Nome, Produttore, Capacità, Prezzo, Vitigno un nome, come abbiamo visto precedentemente; un formato, che indica il tipo di valori che può assumere (ad esempio Stringa, Reale, Intero, Booleano, Data); una dimensione (non vale per i tipi Data o Booleano), che indica la quantità massima di caratteri o cifre inseribili; un valore; i diversi valori assunti dagli attributi determinano le diverse istanze dell entità. L insieme dei possibili valori assunti da un attributo si chiama dominio dell attributo; Consideriando l entità Persona possiamo dire che: il dominio dell attributo Età è rappresentato dall insieme di valori {1..120}; il dominio dell attributo Cognome è rappresentato da {tutte le possibili stringhe di caratteri}; - il dominio dell attributo Sesso è {uomo, donna}; una opzionalità, che indica la possibilità di non essere sempre valorizzato. Diremo che un attributo è obbligatorio se deve avere valore non nullo (ad esempio il nome di una persona in un anagrafica), è facoltativo quando sono accettabili valori nulli (ad esempio il titolo di studio di una persona). Il valore nullo, in inglese Null (da non confondere con la stringa di caratteri blank o con un numero di valore zero), rappresenta un informazione mancante, inapplicabile o sconosciuta. Gli attributi composti o aggregati sono costituiti mediante aggregazione di altri attributi, che a loro volta possono essere semplici o frutto di altre aggregazioni di attributi. Con il termine aggregato facciamo riferimento alla definizione di aggregazione precedentemente utilizzata, relativa ad attributi che possono a loro volta considerarsi astrazioni di aggregazione di attributi semplici. La definizione è ricorsiva. Abbiamo già visto che per l entità Persona sono attributi semplici: Nome, Cognome, Età, Sesso; se consideriamo l attributo DataDiNascita, quest ultimo è sicuramente un attributo aggregato, in quanto è composto da altri attributi semplici che sono Giorno, Mese, Anno. Un altro esempio è quello dell attributo Indirizzo, composto dagli attributi Via, NumCivico, Città, Cap. Gli attributi multipli sono inseriti in un elenco di lunghezza variabile di attributi dello stesso tipo. Se consideriamo l entità Persona, un esempio di attributo multiplo è Hobby. 3

4 3 Modelli mediante un attributo e modelli mediante un entità Quando modelliamo una realtà di interesse, dobbiamo decidere se modellare un particolare concetto come entità o come attributo. Occorre scegliere: a seconda del contesto; a seconda dell uso che ne vogliamo fare. Vediamo subito un esempio chiarificatore. Consideriamo il concetto di Comune nei seguenti contesti: Primo contesto Per creare un applicazione di gestione anagrafica siamo interessati a descrivere diverse caratteristiche anagrafiche dell entità Persona. In questo caso possiamo avere un entità Persona che ha un attributo Comune (inteso come comune di nascita ): entità Persona: attributi: Nome, Cognome, Comune. L attributo Comune è una caratteristica dell entità Persona e sarà di tipo stringa. Assumerà valori del tipo: Secondo contesto Milano, Roma, Pescara, Palermo e così via. Per creare un applicazione di gestione territoriale siamo interessati a descrivere diverse caratteristiche dei comuni. In questo caso possiamo avere un entità Comune con i seguenti attributi: entità Comune: attributi: Nome, Provincia, Regione. La domanda da porsi è: dobbiamo descrivere un insieme di proprietà che caratterizzano questo concetto? Se la risposta è affermativa creiamo un entità, altrimenti creiamo un attributo. 3.1 Attributi chiave Il concetto di chiave è particolarmente importante nell ambito dei database, poiché le entità devono essere costruite in modo tale che ogni t-upla possa essere distinta per mezzo di uno o più attributi. Scopo della chiave è, quindi, quello di identificare univocamente queste t-uple, ma per ottenere ciò si vuole usare la minima informazione possibile, si vuole cioè che la chiave sia la più piccola possibile. Si definisce chiave candidata o superchiave una chiave che consente di distinguere un istanza di entità dall altra in modo univoco. Ad esempio, se consideriamo il tipo di entità Persona, per distinguere in modo univoco due persone possiamo utilizzare: un attributo CodiceFiscale, poiché sappiamo che i valori di tale attributo sono di versi per ogni persona; gli attributi: Nome, Cognome e DataDiNascita di una persona. 4

5 Tra le chiavi candidate, quella con il minor numero di attributi prende il nome di chiave, o meglio chiave primaria (primary key). Nell esempio precedente l attributo CodiceFiscale funge da chiave primaria. Nella progettazione di basi di dati, ove non sia possibile utilizzare come chiave primaria un numero limitato di attributi, si ricorre all aggiunta di un nuovo attributo (come ad esempio un numero progressivo) che identifica univocamente le varie istanze. 3.2 Rappresentazione grafica di entità e attributi Per rappresentare graficamente in un diagramma ER le entità e gli attributi si utilizza la seguente notazione: dove: per le entità si utilizza un rettangolo, contenente all interno il nome dell entità; per gli attributi non chiave si utilizza una linea che parte dal rettangolo dell entità e termina con un piccolo cerchio e il nome dell attributo; gli attributi chiave si rappresentano come gli attributi non chiave e in più si sottolinea il nome, oppure si cambia il colore del cerchio; gli attributi multipli si rappresentano come gli attributi non chiave, ma la linea termina con una doppia freccia; gli attributi composti si rappresentano come gli attributi non chiave, ma la linea termina con un quadrato. Una possibile rappresentazione dell entità Persona è la seguente: 5

6 4 Le associazioni L associazione (in inglese relationship) è un legame logico tra due o più entità rilevanti nella realtà che si sta considerando. Così come le entità sono classi di oggetti del mondo reale, le associazioni sono classi di fatti. L istanza di un associazione è una combinazione (aggregazione) di istanze delle entità che prendono parte all associazione. Tra l entità Persona e l entità Automobile esiste un associazione che descrive, nel linguaggio naturale, il fatto per cui una persona possiede una o più automobili e viceversa un automobile è posseduta da una persona. In italiano, associazione è sinonimo di relazione, di un legame di qualche tipo tra due o più oggetti. Nella teoria delle basi di dati è opportuno prestare molta attenzione al termine relazione, poiché può essere usato con diverse accezioni che non vanno confuse tra loro: nella teoria degli insiemi denota una relazione matematica; nel modello ER denota una classe di legami tra entità (associazione e correlazione sono sinonimi); nel modello relazionale (che vedremo nell unità successiva) è una generalizzazione della relazione matematica; nei DBMS è usato spesso come sinonimo di tabella. Per rappresentare graficamente in un diagramma ER un associazione tra due tipi di entità si utilizza la seguente notazione, dove per semplicità di esposizione non compaiono gli attributi delle due entità. Il rombo posto a metà della linea che unisce le due entità rappresenta la loro associazione. Per gli eventuali attributi dell associazione si seguono le stesse regole degli attributi di un entità. Per convenzione utilizzeremo iniziali minuscole per la descrizione dell associazione. L associazione possiede tra le due entità Persona e Automobile può essere rappresentata nel seguente modo: Ogni associazione tra due entità ha due versi, quindi si può dire che tra l entità Persona e l entità Automobile esiste l associazione possiede; tra l entità Automobile e l entità Persona esiste l associazione èpossedutada. Solitamente i sostantivi del linguaggio naturale corrispondono alle entità, mentre i verbi corrispondono alle associazioni. 6

7 Come possiamo notare, DataAcquisto e Notaio sono attributi che caratterizzano l associazione e non le entità in relazione. Nella seguente figura rappresentiamo alcuni possibili collegamenti tra istanze dell entità Persona e istanze dell entità Automobile: Si definisce grado il numero di entità che partecipano all associazione. Ad esempio, l associazione possiede tra le entità Persona e Automobile è di grado 2 e si dice binaria; naturalmente esistono associazioni di grado 1, 3 e superiore. Tra due tipi di entità possiamo definire più associazioni binarie, come nella figura seguente: Le tre associazioni rappresentano rispettivamente i seguenti fatti: il comune dove le persone lavorano ; il comune dove le persone sono nate ; il comune dove le persone risiedono. Vediamo ora come si possono rappresentare le associazioni multiple, ovvero quelle che collegano più di due entità. Consideriamo la realtà di un supermercato, in cui si vuole rappresentare il fatto che ogni reparto possa emettere fattura per i clienti. Di ogni reparto si vogliono conoscere alcuni dati riassuntivi e identificativi. Possiamo utilizzare l associazione ternaria hafatturato. 7

8 Le associazioni multiple possono essere trasformate in associazioni binarie. La precedente associazione hafatturato può essere trasformata nel modo illustrato qui; in questo esempio l associazione hafatturato è stata trasformata in entità (Fattura) e sono state aggiunte tre associazioni necessarie per garantire il collegamento con le tre entità presenti. 4.1 Attributi di entità e attributi di associazione Consideriamo la realtà di una classe di alunni in cui si vogliono rappresentare le interrogazioni. Possiamo utilizzare il diagramma ER della figura a lato. Se vogliamo avere informazioni sulle assenze, possiamo aggiungere al precedente diagramma un altra associazione, ottenendo il diagramma rappresentato nella figura qui sotto. Un altra possibile soluzione consiste nell avere un unica associazione composta nel modo riportato nella figura a lato. L attributo Tipo indicherà se si tratta di assenza o di interrogazione. Se si trattasse di assenza, l attributo Voto rimarrebbe non valorizzato; se invece si trattasse di interrogazione, rimarrebbe non valorizzato l attributo Motivo. Come possiamo notare, data una realtà d interesse, è possibile descriverla con diversi schemi del modello ER; l importante è che abbiano lo stesso contenuto informativo. 8

9 4.2 Attributo che passa dall associazione all entità Consideriamo il diagramma ER rappresentato nella figura qui sotto a sinistra, in cui abbiamo tre attributi per specificare la data dell interrogazione. Se ci stiamo riferendo alle interrogazioni relative a uno stesso anno, ovvero se l attributo Anno ha un valore fisso, il diagramma diventa quello della figura qui sotto a destra. L attributo Anno è diventato un attributo dell entità Materia. Per eliminare tutti gli attributi di un associazione, introdurremo una nuova entità che li contiene. Variando gli schemi appena visti otterremo: 4.3 Attributo che diventa un entità Analizziamo un diagramma ER in cui è presente l entità Persona, caratterizzata tra l altro dall attributo RagioneSocialeDitta che indica il nome della ditta presso la quale lavora una persona. Se siamo interessati a conoscere solo la ragione sociale della ditta presso cui è impiegata quella persona, allora l attributo RagioneSocialeDitta è sufficiente. Ma se occorre conoscere anche altre informazioni relative a quella ditta, come, ad esempio, indirizzo, numero di dipendenti, numero di telefono, allora occorrerà aggiungere altri attributi all entità Persona. Questa soluzione, però, non è conveniente poiché i valori di tali attributi verrebbero duplicati in ogni altra istanza di Persona che sia dipendente della stessa ditta. Inoltre, una modifica al numero di telefono di una particolare ditta dovrebbe essere ripor - tata in tutte le istanze dove tale numero è duplicato. 9

10 Per evitare questi inconvenienti aggiungiamo un altra entità che chiamiamo Ditta e la mettiamo in relazione con Persona, ottenendo il diagramma ER visibile qui a destra. 4.4 Rappresentazione di un associazione sulla stessa entità: i ruoli Quando un associazione crea un legame tra due entità identiche, si ha il caso particolare di un associazione sulla stessa entità. Ad esempio, consideriamo l entità Persona e supponiamo di voler rappresentare l associazione ègenitoredi. È questo un classico esempio di associazione sulla stessa entità, che si rappresenta nel seguente modo: Tuttavia, poiché l associazione è una classe di fatti che collegano due o più entità, dobbiamo distinguere, in ogni fatto che costituisce un istanza dell entità Persona, chi è il genitore e chi è il figlio. In termini grafici dobbiamo distinguere qual è il ramo che rappresenta il genitore e qual è il ramo che rappresenta il figlio. Possiamo allora scrivere: dove genitoredi e figliodi sono anche chiamati ruolo dell entità nell ambito dell associazione. In questo diagramma l entità Persona ha due diversi ruoli nell ambito dell associazione genitoredi: il ruolo di genitore e il ruolo di figlio. 5 Tipi e proprietà delle associazioni Data un associazione A tra le entità X e Y, si attribuisce un verso da X a Y che definisce l associazione diretta da X a Y. Definiamo inversa l associazione da Y a X, che indichiamo con A 1 1. Possiamo allora dire che la coppia (y, x) con y Y e x X appartiene ad A se, e solo se, la coppia (x, y) appartiene ad A. Sottolineiamo che A e A 1 sono una l inversa dell altra. Sono quindi la stessa associazione, salvo che per l ordine delle coppie. La scelta del verso relativo all associazione diretta e di quello relativo all inversa, quindi, è puramente arbitraria. Possiamo indicare l associazione diretta e inversa con i nomi dei ruoli. L associazione guida ha quindi due versi: uno da Persona ad Automobile (relativo all associazione diretta) e l altro da Automobile a Persona (relativo all associazione inversa). 10

11 Un associazione è caratterizzata da due proprietà strutturali: la partecipazione e la molteplicità. Date due entità X e Y, la proprietà strutturale della partecipazione riguarda il numero minimo di elementi di Y che sono associati a ogni elemento di X. Il valore minimo assume, solitamente, uno dei due valori 0 e 1. Lo 0 indica che la partecipazione è facoltativa, mentre il valore 1 indica che la partecipazione è obbligatoria. Più in dettaglio: Un associazione diretta A tra le entità X e Y è totale quando il legame tra le entità deve essere sempre presente, cioè a ogni elemento di X deve corrispondere almeno un elemento di Y, altrimenti si dice parziale. Lo stesso si può dire per l associazione inversa. L associazione è, quindi, parziale quando il legame tra le entità può non essere presente, cioè può esistere un elemento di X a cui non corrisponde alcun elemento di Y o, viceversa, un elemento di Y a cui non corrisponde alcun elemento di X. Per rappresentare un associazione parziale utilizzeremo una linea tratteggiata in base al suo verso. Analizziamo il seguente diagramma: Notiamo che: l associazione diretta, rappresentata con linea tratteggiata, indica la parzialità, nel senso che un docente può dirigere un dipartimento; l associazione inversa, rappresentata con linea continua, indica la totalità, nel senso che ogni dipartimento deve essere diretto da almeno un docente. La scelta alternativa delle parole deve piuttosto che può dipende dalla obbligatorietà o meno della partecipazione dell entità di partenza dell associazione. Diremo, pertanto, che l associazione dirige è totale su Dipartimento e parziale su Docente. Ad esempio, il Prof. Biondi non dirige nessun dipartimento, come è mostrato dalla seguente figura, quindi egli, presente nell entità Docente, non ha alcun legame con l entità Dipartimenti, pertanto l associazione diretta è parziale. Invece, tutti gli elementi di Dipartimenti hanno un legame con qualche elemento di Docente, pertanto l associazione inversa è totale. La molteplicità di un associazione fra le entità X e Y indica il numero massimo di istanze dell entità Y che possono trovarsi in relazione con un istanza dell entità X e viceversa. Si dice che l associazione è univoca da X a Y se ogni istanza di X può trovarsi in relazione con al più un istanza di Y. Se tale vincolo non esiste, si dice che l associazione è multivalore (o multipla). 11

12 Il vincolo di univocità da X a Y è indipendente da quello definito da Y a X; si hanno così quattro possibili combinazioni di presenza e assenza dei due vincoli. La cardinalità di un associazione fra le entità X e Y descrive parallelamente la molteplicità dell associazione diretta e quella della sua inversa. La cardinalità può essere, quindi, a uno o a molti; pertanto, le associazioni tra due entità si classificano nel modo seguente. 5.1 un associazione 1:1 (uno a uno) o biunivoca Si ha un associazione 1:1 (uno a uno) o biunivoca quando a un istanza di X corrisponde una e una sola istanza di Y e viceversa; possiamo anche dire quando la diretta e l inversa sono univoche. Graficamente, l associazione si rappresenta nel seguente modo: Una tipica associazione uno a uno è quella che esiste tra il tipo di entità Capitale e il tipo di entità Stato. Una capitale, infatti, appartiene a un solo stato; viceversa uno stato ha solo una capitale. Studiamo la molteplicità dell associazione diretta e dell inversa. La regola di lettura è la seguente: per l associazione diretta: una capitale appartiene a uno stato ; per l associazione inversa: uno stato ha una capitale. La cardinalità è, quindi, 1: Associazioni uno a molti Nella figura seguente si evidenzia il legame esistente, in un associazione uno a molti, tra le istanze delle due entità. Ad esempio, il Prof. Rossi dispone di due cassetti, il C25 e il C26. Si ha un associazione 1:N (uno a molti) o semplice, quando a un istanza di X possono corrispondere una o più istanze di Y e a ogni istanza di Y deve corrispondere una sola istanza di X (la scelta di X o di Y come entità di partenza è casuale). Possiamo anche dire che un associazione binaria è uno a molti se è multipla la diretta o l inversa, ma non entrambe. La rappresentazione grafica è la seguente: 12

13 Un associazione uno a molti è quella che esiste tra l entità Docente e l entità Cassetto che rappresenta i cassetti presenti in sala professori dove i docenti depositano il loro registro personale e altro materiale utile per le lezioni. Un docente, infatti, può disporre di più cassetti, mentre il cassetto è sempre intestato a un singolo docente. Studiamo la molteplicità. La regola di lettura è la seguente: per la diretta: un docente può disporre di più cassetti ; per l inversa: un cassetto è sempre intestato a un solo docente. La cardinalità è, quindi, 1:N. Studiamo, ora, la partecipazione: per la diretta: un docente deve disporre di almeno un cassetto ; l associazione è, quindi, totale; per l inversa: un cassetto può non essere assegnato ad alcun docente ; l associazione è, quindi, parziale. La rappresentazione finale è, pertanto, la seguente: Nella figura seguente si evidenzia il legame esistente, in un associazione uno a molti, tra le istanze delle due entità. Ad esempio, il Prof. Rossi dispone di due cassetti, il C25 e il C26. 13

14 5.3 Associazioni molti a molti Si ha un associazione N:N (molti a molti) o complessa, quando a ogni istanza di X possono corrispondere una o più istanze di Y e, viceversa, a ogni istanza di Y possono corrispondere una o più istanze di X. Possiamo anche dire che un associazione è molti a molti se sono multiple sia la diretta sia l inversa. La rappresentazione grafica è la seguente: Un associazione molti a molti è quella che esiste tra docenti e classi. Un docente infatti può insegnare in più classi e viceversa una classe ha più docenti che insegnano al suo interno. Studiamo la molteplicità. La regola di lettura è la seguente: per la diretta: un docente insegna a più/molte classi ; per l inversa: in una classe insegnano più/molti docenti. La cardinalità è, quindi, N:N. Studiamo, ora, la partecipazione: per la diretta: un docente deve insegnare in almeno una classe (tralasciamo il caso dei docenti che sono assunti per sole disposizioni). L associazione è, quindi, totale; per l inversa: una classe deve avere almeno un docente. L associazione è, quindi, totale. Essendo diretta e inversa totali, la rappresentazione secondo il modello ER non cambia e le due linee rimangono continue. Nella figura seguente si evidenzia il legame esistente, in un associazione molti a molti, tra le istanze delle due entità. 14

15 6 Esempio Automatizzare la gestione del prestito di DVD in un negozio. La videoteca gestisce il noleggio di DVD; ogni DVD è caratterizzato da alcune informazioni generali e dai dati relativi agli attori (con i rispettivi ruoli) e ai registi, inoltre appartiene a una o più categorie (film d azione, romantico, dell orrore e così via). I DVD vengono noleggiati dai clienti, i quali devono aver richiesto e ottenuto precedentemente una tessera valida fino al termine dell anno solare di emissione e sono identificati dal numero di tale tessera. Quando un cliente richiede la tessera, non è obbligato a noleggiare subito un film, ma nel momento in cui lo fa si apre un contratto di noleggio al quale sono associati il cliente e il DVD (almeno uno) noleggiato. Vogliamo avere disponibile sia la situazione dello stato di noleggio dei DVD, sia la descrizione completa di tutti i noleggi effettuati. Nota che un cliente può restituire in date diverse i DVD noleggiati con un unico contratto. ANALISI DEI DATI (ENTITÀ) Dall analisi del del problema si possono facilmente individuare le seguenti entità: Cliente, per rappresentare le informazioni riguardanti i clienti della videoteca; DVD, per memorizzare le informazioni inerenti le caratteristiche del DVD; Attore per le informazioni degli attori che interpretano il film registrato su DVD; Regista per le informazioni dei registi che dirigono il film; Categoria per memorizzare i tipi di film (azione, giallo, storico e così via). Gli attributi di Cliente sono numero della tessera, data di emissione della tessera, cognome, nome, indirizzo, città di residenza, telefono. Il numero della tessera è di tipo numerico, mentre i restanti attributi sono di tipo stringa. Gli attributi di DVD sono codice, titolo e durata; tutti sono di tipo stringa. Gli attributi di Noleggio sono numero, data di inizio del noleggio, data di scadenza del noleggio e prezzo complessivo. La data di inizio e quella di scadenza del noleggio sono di tipo data, mentre il numero e il prezzo complessivo sono di tipo numerico. Gli attributi di Attore sono codice, cognome e nome; tutti sono di tipo stringa. Gli attributi di Regista sono codice, cognome e nome; tutti sono di tipo stringa. Gli attributi di Categoria sono codice e nome, entrambi di tipo stringa. ANALISI DELLE ASSOCIAZIONI Tra l entità Cliente e l entità DVD esiste un associazione noleggia di tipo (cardinalità) molti a molti (N:N). Infatti, l associazione diretta è multipla, poiché un cliente può noleggiare più DVD, e anche l associazione inversa è multipla, poiché un DVD può essere noleggiato da più clienti. L associazione diretta è parziale, poiché un cliente può non aver ancora noleggiato alcun DVD, mentre l inversa è totale, poiché il noleggio di un DVD deve essere sempre riferito a un cliente. Tra l entità DVD e l entità Attore esiste un associazione interpretato di tipo molti a molti (N:N). Infatti, l associazione diretta e l inversa sono entrambe multiple, poiché il film registrato su un DVD può essere interpretato da più attori e un attore può interpretare più di un film. L associazione diretta è totale, poiché il film registrato su un DVD deve essere interpretato da almeno un attore, mentre l inversa è parziale, poiché un attore può non recitare in alcun film. L associazione interpreta ha l attributo Ruolo che identifica il ruolo dell attore nell ambito del film. 15

16 Tra l entità DVD e l entità Categoria esiste un associazione appartiene di tipo molti a uno (N:1). Infatti, l associazione diretta è multipla, poiché un film può appartenere a una categoria, mentre l inversa è multipla, poiché una categoria può avere più DVD di riferimento. L associazione diretta è totale, poiché il film registrato su un DVD deve appartenere ad almeno una categoria, mentre l inversa è parziale, poiché a una categoria può anche non appartenere alcun DVD. Siamo ora in grado di formalizzare lo schema concettuale secondo le regole del modello ER: 7 I vincoli di integrità Finora abbiamo visto come modellare una realtà di interesse usando le entità, con le loro proprietà, e le associazioni. Gran parte delle strutture che si vogliono modellare possono essere espresse in una di queste due notazioni, ma esistono alcuni importanti aspetti del mondo reale che non possono essere modellati con gli strumenti visti finora: i vincoli di integrità. Possiamo definire vincolo di integrità una proprietà che deve essere soddisfatta dalle istanze che rappresentano informazioni corrette per l applicazione che utilizza la base di dati. 16

17 In pratica, i vincoli di integrità sono costituiti da predicati che devono essere soddisfatti dalle istanze delle varie entità che compongono la base di dati. Consideriamo l entità Studente, che contiene informazioni anagrafiche relative a uno studente. Supponiamo che l attributo Matricola sia un numero progressivo che identifica esattamente uno studente. L attributo Età, di tipo intero, potrebbe assumere un valore molto alto, ad esempio pari a 250 (cosa impossibile). Dal punto di vista concettuale questa assegnazione è corretta (infatti 250 è un valore del dominio intero) ma non ha molto senso in questa realtà: è del tutto irreale (anche se desiderabile!) vivere sino a 250 anni. È necessario, quindi, specificare un vincolo di integrità che indichi che l età deve essere inferiore a 120. Un altro vincolo imporrà che non possono esserci due studenti con lo stesso numero di matricola. Riprendiamo in esame il problema del noleggio dei DVD esaminato nelle lezioni precedenti. In base alle nostre conoscenze abbiamo potuto modellare la realtà di interesse individuando entità, associazioni e caratteristiche dei singoli attributi. Per condurre una progettazione concettuale ampia e completa, però, occorre precisare alcune informazioni che non possono essere rappresentate con i simboli che abbiamo studiato. Riferendoci al problema del noleggio dei DVD, informazioni aggiuntive utili possono essere le seguenti: 1. la data di emissione della tessera deve essere antecedente a quella odierna; 2. la data del noleggio deve essere successiva a quella di emissione della tessera; 3. la data di scadenza del contratto di noleggio deve essere successiva a quella di stipula del contratto stesso. Questi sono vincoli che la base di dati deve soddisfare per non compromettere l integrità dei dati. In generale possiamo considerare ogni vincolo come un asserzione che può essere, rispetto a un istanza, vera o falsa. Se l asserzione è vera diciamo che il vincolo è soddisfatto dalla nostra istanza, altrimenti diremo che i dati violano il vincolo. Noi accettiamo tutte e sole le istanze della base di dati per le quali tutti i vincoli di integrità sono veri e diciamo che sono solo quelle le istanze che possono verificarsi nella realtà. Si è soliti classificare i vincoli di integrità in impliciti ed espliciti. I vincoli impliciti sono quelli imposti dalla stessa struttura dei dati e si dividono in: vincoli di chiave primaria; impongono che le istanze di una categoria debbano es sere tutte diverse tra loro; vincoli referenziali; date due entità A e B e un associazione tra loro, questi vincoli impongono che non si possa inserire un elemento in A (o non esista un elemento in A) che non sia associato a un elemento in B. Ciò può anche essere visto come un vincolo sulla partecipazione delle associazioni. 17

18 I vincoli espliciti sono quelli che impongono delle restrizioni sul modo in cui i dati possono cambiare. Un esempio di vincolo esplicito è: il valore dell attributo Età non può essere negativo né maggiore di 120. Si parla di vincoli di integrità perché devono essere rispettati, pena l integrità stessa dei dati. Se il valore dell attributo Età assume valori superiori a 120, può causare problemi a programmi che lo utilizzano e che suppongono che tali valori siano legittimi. I vincoli impliciti si rappresentano direttamente con simboli del diagramma ER e precisamente: i vincoli di chiave primaria si rappresentano sottolineando i relativi attributi; i vincoli referenziali si rappresentano con le linee continue delle associazioni tra entità (rappresentazione della partecipazione di un associazione). Per rappresentare i vincoli espliciti ricorriamo a una nostra sintassi, che possiamo definire ricorrendo a uno pseudolinguaggio: # V<NumProgressivo>: (<Espressione>) dove: <NumProgressivo> è un numero progressivo del vincolo; <Espressione> è una qualsiasi espressione in pseudolinguaggio o in linguaggio naturale che serve per specificare il vincolo. Per esprimere il vincolo sull Età scriveremo: # V1: (0 < Età < 120) Per esprimere il vincolo che non si può assumere un dipendente di età inferiore a 16 anni scriveremo: # V2: (Anno(Dipendente.DataAssunzione) Anno(Dipendente.DataNascita) > 16) Come si può notare, per fare riferimento a un attributo di una particolare entità o associazione, utilizziamo la seguente sintassi: # <NomeEntità>.<NomeAttributo> oppure: <nomeassociazione>.<nomeattributo> 8 Esempi 8.1 Esempi 1 Rappresenta tramite diagramma ER la realtà di interesse: prestiti di libri ai soci di una biblioteca (1) La biblioteca fornisce i suoi servizi ai lettori attraverso il prestito dei libri. Ogni libro presente in biblioteca è individuato univocamente da un codice. Ogni libro appartiene a un genere specifico, in modo che la consultazione dei testi possa avvenire non solo per titolo e/o nome dell autore, ma anche attraverso il genere di appartenenza del libro stesso. I libri vengono prestati per un certo numero di giorni, poi occorre sollecitare i loro possessori. Ogni lettore (socio) ha infatti un recapito o eventualmente un numero telefonico. 18

19 V1: Noleggia.DataPrestito < Noleggia. DataRestituzione V2: Libro.AnnoProduzione Anno in corso V3: Noleggia.DataPrestito 0 9 Esempio 2 Rappresenta tramite diagramma ER la realtà di interesse: prestiti di libri ai soci di una biblioteca (2) Modifichiamo lo schema realizzato nell esercizio precedente. Se prestiamo molta attenzione al diagramma ER, notiamo che l entità Socio presenta un attributo multiplo (Telefono). In un certo senso è come se a 1 socio corrispondessero N numeri di telefono. Anche nell entità Libro è presente un attributo multiplo (Autore). Pertanto, è come se a 1 libro corrispondessero N autori. Inoltre è presente l attributo CasaEditrice che non ci consente di memorizzare altri dati riferibili all editore (l indirizzo della sede, la città e così via). Modifichiamo pertanto lo schema aggiungendo queste nuove informazioni. V1: Noleggia.DataPrestito < Noleggia. DataRestituzione 19

20 10 Collezioni di entità e gerarchie In fase di progettazione concettuale può accadere che, modellando la realtà, ci si accorga che alcune entità possono avere delle istanze in comune, oppure può nascere l esigenza di voler particolareggiare o generalizzare un entità. In queste circostanze è utile organizzare le entità in gerarchie. Una gerarchia ha una struttura ad albero: la radice rappresenta l entità che contiene le caratteristiche comuni (entità padre), mentre i vari nodi (entità figlie) rappresentano le entità che contengono caratteristiche più specifiche. Per creare una gerarchia si attua un processo di specializzazione, ossia si specializza l entità padre creando entità figlie sempre più specifiche (specializzate). Percorrendo la gerarchia dal basso verso l alto si attua automaticamente un processo di generalizzazione, in quanto si risale l albero passando dalle entità più specializzate a quelle più generiche. Ad esempio, l entità PersonaleScuola può essere pensata come una generalizzazione delle entità Docente e NonDocente. In questo modo è possibile rappresentare il fatto che istanze di Docente e NonDocente possono anche essere classificate come istanze di PersonaleScuola; questo approccio consente di prescindere dalle proprietà che le rendono semanticamente diverse (ad esempio la materia insegnata per i docenti e la mansione per i non docenti) ed evidenziare, invece, le proprietà comuni, ad esempio cognome, nome, residenza e data di nascita. Naturalmente il processo di specializzazione può proseguire, nel senso che un entità figlia può essere a sua volta una entità padre per altre entità modellando, così, gerarchie a più livelli. Ad esempio, l entità figlia NonDocente potrebbe essere specializzata in Personale- Segreteria e Collaboratore divenendo, così, entità figlia di PersonaleScuola ed entità padre di PersonaleSegreteria e Collaboratore. Nel modello ER un associazione di generalizzazione è nota anche con il termine associazione ISA (dall inglese is a, cioè è un ). Nella gerarchia è possibile distinguere i seguenti tipi di entità figlie: le entità sottoinsieme, specializzazioni della stessa entità padre, non sono, in genere, disgiunte fra loro. Ad esempio, un istanza dell entità padre PersonaleScuola può essere contemporaneamente sia un istanza dell entità figlia Docente, sia di PersonaleMaschile. La rappresentazione è la seguente: 20

21 le entità sottoinsieme disgiunte, specializzazioni della stessa entità padre, sono caratterizzate da istanze disgiunte. Ad esempio, le entità figlie Docente e NonDocente sono sottoinsiemi disgiunti dell entità padre PersonaleScuola. La rappresentazione è la seguente: le entità copertura di una stessa entità non sono fra loro disgiunte, ma l unione delle loro istanze coincide con quelle dell entità padre. Ad esempio, le entità figlie Meno- Di20Anni e PiùDi15Anni sono entità copertura dell entità padre Persona. Ovviamente, le persone che hanno 20 anni esatti sono inserite nell entità PiùDi20Anni. La rappresentazione è la seguente: le entità partizione di una stessa entità sono fra loro disgiunte, ma l unione delle loro istanze coincide con quelle dell entità padre. Ad esempio, le entità figlie Maschio e Femmina sono entità partizione dell entità padre Persona. La rappresentazione è la seguente: Dalle precedenti figure si vede facilmente che la disgiunzione viene rappresentata con un pallino pieno e la copertura con una doppia freccia rivolta verso l entità padre. La partizione è rappresentata utilizzando entrambi i simboli appena descritti Esmepio :gestione delle attività di una concessionaria di automobili multimarca nuove e usate. Vincoli V1: (Automobile.Prezzo > 0) V2: (AutoUsata.Immatr > 01/01/1990) V3: (AutoUsata.KMPercorsi < ) 21

22 V4: (AutoUsata.AnniGaranzia 5) 11 Esercizi sui diagrammi E/R Per le seguenti proposte operative analizza la realtà di interesse proposta e descrivila sia in forma discorsiva sia utilizzando un diagramma ER che riporti: a) le entità e le associazioni; b) gli attributi di ogni entità e di ogni associazione e le loro caratteristiche; c) gli attributi chiave di ogni entità; d) le associazioni totali e quelle parziali; e) la cardinalità di ogni associazione; f) i Vincoli d'integrità 1. Fattura Rappresenta i dati e le relazioni tra dati necessari alla stesura di una fattura commerciale che comprenda gli articoli venduti, il cliente e la data di vendita. 22

23 2. Prenotazioni a teatro Rappresenta i dati e le relazioni tra dati necessari a gestire un sistema di prenotazione di un teatro di 1000 posti suddivisi in 25 file di 40 poltrone l'una. Ogni poltrona è quindi individuata da una lettera e da un numero. 3. Autonoleggio Rappresenta i dati e le relazioni tra dati relativi alla gestione di un autonoleggio. 4. Orario ferroviario Rappresenta i dati e le relazioni tra dati relativi alla gestione dell'orario ferroviario. 5. Rilevazione presenze Rappresenta i dati e le relazioni tra dati relativi a un sistema di rilevazione automatica delle presenze installato in una scuola. 6. Campionato di calcio Rappresenta i dati e le relazioni tra dati relativi alle partite dell'ultimo campionato di calcio. In particolare memorizza, per poi poterle rintracciare, le seguenti informazioni: - il numero di goal segnati dai giocatori; - il numero di goal segnati "in trasferta"; - il numero di goal segnati "in casa"; le date relative alle partite; - i numeri di telefono dei giocatori; - il nome del presidente della squadra di calcio alla quale appartiene un giocatore. 7. Ospedale Rappresenta i dati e le relazioni tra dati relativi alla gestione dei reparti di un ospedale. Suggerimento: un ospedale è composto da diversi reparti. Ogni reparto ha un nome, una specialità, un primario, un numero di posti letto numerati. Ogni paziente ha un nome, una data di arrivo, un insieme di diagnosi, una tariffa giornaliera e occupa un certo posto letto in un reparto. l dottori dell'ospedale sono caratterizzati da un nome, una o più specialità; ciascun dottore ha sotto cura diversi pazienti, situati anche in reparti diversi. A ogni paziente un dottore può prescrivere, di tanto in tanto, una serie di esami clinici i cui risultati devono essere registrati. (cartella clinica del paziente). Prevedi le procedure per l'arrivo e la partenza di un paziente, elenca tutti gli esami prescritti da un dottore per un certo paziente, elenca tutti i medici che visitano un certo reparto. Individua il numero di giorni di permanenza di un paziente in un certo reparto. 8. Noleggio DVD Rappresenta ì dati e le relazioni tra dati relativi a un sistema di noleggio di videocassette e DVD, con le seguenti specifiche: per ogni film sono rilevanti un codice identificativo, il titolo, il regista (supposto come unico), l'anno di produzione,gli interpreti (zero o più) e il costo del noleggio;possono esistere film senza attori e film il cui regista sia anche attore; vengono anche memorizzate informazioni riguardo ad attori e registi: data e luogo di nascita, cittadinanza attuale ed eventuali cittadinanze passate, con data di variazione; per ogni film possono esistere più copie; per ogni cassetta sono rilevanti la data di fabbricazione 23

24 e lo stato di conservazione; per ogni DVD sono registrati i GB memorizzati; per ogni noleggio sono rilevanti il cliente, la data di noleggio e la data di restituzione; non viene tenuta traccia dei noleggi conclusi; per ogni cliente vengono memorizzati il nome, l'indirizzo e il telefono. 9. Noleggio DVD 2 Modifica il diagramma dell'esercizio precedente affinché si tenga traccia anche dei noleggi conclusi e si consideri che ogni film può essere registrato su una o più videocassette. 10. Traffico aereo La base di dati per il controllo del traffico aereo contiene le seguenti informazioni: Per ogni volo si hanno la compagnia aerea, il numero del volo, tipo di aereo, numero di passeggeri si conoscono gli aeroporti e gli orari di partenza e di arrivo. L'aeroporto è caratterizzato da. nome, posizione geografica, servizi disponibili. Per tali servizi si ha l'indicazione di quali sono a pagamento. Durante il volo l'aereo occupa una o più aerovie, caratterizzate ciascuna da un nome e da alcune posizioni di riferimento (radiofari), anch'esse individuate da un proprio nome e dalle coordinate geografiche. Il piano di volo, fatto prima della partenza, determina l'ora, la quota e la velocità di passaggio su ciascun punto di riferimento. 11. Tassisti Descrivi con un diagramma ER la seguente realtà di interesse: una cooperativa di tassisti dispone di un certo numero di automobili che vengono assegnate ai soci con turni di sei ore. Vengono mantenuti i dati delle assegnazioni dei parcheggi (cioè dei luoghi in cui il taxi sosta in attesa di clienti) e delle corse cui ciascuna automobile fa riferimento, giorno per giorno in ciascuno dei turni. 12. compravendita La base di dati per la gestione di compravendite immobiliari dovrà comprendere le seguenti informazioni: Gli immobili, oggetto delle transazioni, sono distinti in abitazioni e uffici e sono caratterizzati da posizione, via e città. Le abitazioni sono caratterizzate dal numero di locali e gli uffici dalla superficie in metri quadrati. Gli enti (persone o aziende) possono acquistare, vendere o affittare gli immobili. Per le persone si hanno il codice fiscale, il nome, la professione, l'indirizzo e il numero di telefono. Per le aziende si hanno il codice fiscale, l'indirizzo, il numero di telefono; l'ammontare del capitale sociale e il numero di dipendenti. Per le transazioni si hanno la data, il numero di contratto, il tipo di pagamento e il valore. Le agenzie che effettuano le transazioni sono caratterizzate da codice fiscale, nome, indirizzo e numero di telefono. 13. Aule e seminari Si vuole gestire l'allocazione di aule dedicate a seminari. Un seminario può essere tenuto in più parti, che possono anche svolgersi in aule diverse. Di un seminario interessano Responsabile, Titolo e Codice (che lo identifica). Di un'aula interessano Nome (che la identifi- 24

25 ca) e Capienza. Interessa inoltre sapere per ogni parte di un seminario la data, l'ora di inizio e fine, e l'aula in cui si svolge. Si definisca uno schema concettuale grafico della base di dati. 14. Tesi di laurea Si vogliono rappresentare le seguenti informazioni relative alle tesi di un corso di laurea. Di una tesi interessa il titolo, gli studenti che la svolgono (anche più di uno), i relatori (an - che più di uno), il controrelatore, il tipo (ricerca, rassegna, progetto) e l'area (basi di dati, programmazione logica, architettura, ecc.). Di uno studente interessa la matricola, il cognome, la data prevista di laurea. l relatori possono essere docenti universitari o dipendenti di altri enti, mentre i controrelatori sono sempre docenti. Di un relatore interessa il cognome e l'ente di appartenenza, di un docente interessa anche il dipartimento di afferenza. Si dia uno schema grafico della base di dati. Si definisca uno schema concettuale grafico della base di dati. 15. Circolo tennis Un circolo del tennis vuole memorizzare le prenotazioni dei propri campi da tennis da par - te dei propri soci. Ogni prenotazione riguarda un singolo socio ed un singolo campo da tennis, prenotato per una certa ora ed una certa data (per semplicità si rappresentino tanto la data che l'ora tramite una stringa). Un singolo campo può essere prenotato, ad una certa ora di una certa data, da un solo socio; un singolo socio può effettuare più prenotazioni. Di ogni socio interessano nome, cognome e recapito. Di un campo interessa ricordare se sia coperto ò scoperto e se sia in cemento o in terra battuta. Ogni socio ha un codice numerico che lo identifica; similmente per ogni campo. Si definisca uno schema concettuale grafico della, base di dati. 16. Grossista piante e fiori Si vuole progettare la base di dati per la gestione degli ordini di un grossista di piante e fiori. Gli articoli trattati dal grossista sono suddivisi in tre categorie: piante, fiori e accessori. Ogni articolo e caratterizzato da un codice, da una descrizione, dalla quantità disponibile in magazzino e dalla scorta minima. Inoltre i fiori sono caratterizzati dal loro nome scientifico e dalla durata media; mentre le piante sono caratterizzate dal nome scientifico e dal fatto di essere o non essere sempreverdi. Il grossista, quando effettua un ordine a un fornitore (caratterizzato da codice fiscale, ragione sociale, indirizzo, città e numero di telefono), emette un ordine univocamente numerato che descrive quali articoli vengono ordinati e in quali quantità. Alla consegna della merce da parte del fornitore, una bolla di arrivo accompagna la merce stessa. La bolla riporta un numero identificativo, è caratterizzata da una data di emissione e riporta quali articoli vengono consegnati e in quali quantità. La consegna della merce equivale a evadere uno o più ordini, ma ogni ordine può essere evaso al più da una bolla. l dettaglianti, caratterizzati da codice fiscale, ragione sociale, indirizzo, città e numero di telefono, ordinano e ricevono articoli dal grossista in maniera simile a quanto avviene tra grossista e fornitori. Ogni dettagliante emette ordini, numerati secondo una propria numerazione. Ogni ordine specifica quali articoli quali articoli vengono ordinati e in quali quantità. Quando il grossista consegna la merce, emette una bolla di consegna caratterizzata dalla data di emissione e da un codice univoco. Nella bolla di consegna si specificano il dettagliante destinatario, tutti gli articoli consegnati e la corrispondente quantità consegnata. Una bolla di consegna può evadere più di un ordine, ma un ordine può essere evaso al più da una bolla. 17. Elezioni 25

26 Un società di rilevazioni ha effettuato dei sondaggi relativi ai voti espressi dagli elettori in una consultazione nazionale. Il territorio è diviso in circoscrizioni, in ogni circoscrizione si presentano più partiti (ma non tutti i partiti si presentano in tutte le circoscrizioni). Ogni elettore vota in una specifica circoscrizione. Di ogni elettore interrogato interessano l'età, il sesso, il voto che ha dichiarato di avere espresso, e la circoscrizione in cui vota; per semplicità si supponga che tutti gli interrogati o non rispondono o dichiarano di avere votato uno specifico partito. Di ogni partito interessa il nome che lo contraddistingue e l'anno di fondazione. Di ogni circoscrizione interessano il nome, che la distingue, e la popolazione. Si definisca uno schema concettuale grafico della base di dati. 18. Attori e registi Si vogliono trattare informazioni relative a attori e registi di film. Di attori e registi interessa il nome, che lo identifica, l'anno di nascita e la nazionalità. Un attore può essere anche un regista. Di un film interessano il titolo, l'anno di produzione, gli attori e il regista. Due film prodotti lo stesso anno hanno titolo diverso. Si definisca uno schema concettuale grafico della base di dati. 19. Zoo Si vuole automatizzare il sistema di gestione degli animali in uno zoo. Ogni esemplare di animale ospitato è identificato dal suo genere (es. zebra) e da un codice unico all'interno del genere di appartenenza. Per ogni esemplare si memorizzano la data di arrivo nello zoo, il nome proprio, il sesso, il paese di provenienza e la data di nascita. Lo zoo è diviso in aree; in ogni area c'è un insieme di case, ognuna destinata ad un determinato genere di animali. Ogni casa contiene un insieme di gabbie, ognuna contenente un solo esemplare. Ogni casa ha un addetto che pulisce ciascuna gabbia in un determinato giorno della settimana. Gli animali sono sottoposti periodicamente a controllo veterinario; in un controllo, un veterinario rileva il peso degli esemplari, diagnostica un'eventuale malattia e prescrive il tipo di dieta da seguire. Concerti Si vuole realizzare una base di dati per la gestione del programma di concerti di News Musica, tenendo conto delle seguenti informazioni: i concerti proposti nel programma sono identificati da un codice numerico e sono caratterizzati da titolo e descrizione ogni concerto è composto da un certo numero di pezzi musicali, ogni pezzo è caratterizzato da un titolo e uno o più autori; inoltre, per ogni concerto, si conosce l ordine in cui sono rappresentati i pezzi che fanno parte del programma l esecutore di ogni concerto è identificato da una matricola ed è caratterizzato da nome e stato di provenienza l esecutore può essere un orchestra oppure un solista nel caso delle orchestre si memorizzano il nome del direttore e il numero degli elementi che ne fanno parte, mentre nel caso del solista si considera lo strumento suonato; per le orchestre, inoltre, si memorizzano i componenti (un orchestrale può suonare in una sola orchestra), identificati da una matricola univoca dell orchestra di appartenenza e caratterizzati da nome, data di nascita e strumenti suonati i concerti sono tenuti in sale da concerto, identificate da un codice univoco e caratterizzate da nome, indirizzo, capienza massima, numero di posti a sedere ed eventualmente da uno o più numeri di telefono 26

Rappresentazione grafica di entità e attributi

Rappresentazione grafica di entità e attributi PROGETTAZIONE CONCETTUALE La progettazione concettuale, ha il compito di costruire e definire una rappresentazione corretta e completa della realtà di interesse, e il prodotto di tale attività, è lo schema

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

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

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

MODELLO E/R. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

MODELLO E/R. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni MODELLO E/R Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata individuandone

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

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

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

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

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 6 Maggio 2004 Come costruire una ontologia Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

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

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro 802749

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro 802749 Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006 Esercizi entità relazione risolti a cura di Angela Campagnaro 802749 Indice: Esercizio 1: Un insieme di officine 1.1 Testo esercizio.3

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

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

CAPITOLO 7 ESERCIZI SUL MODELLO ER

CAPITOLO 7 ESERCIZI SUL MODELLO ER CAPITOLO 7 (le soluzioni sono riportate da pag. 6 in poi) ESERCIZI SUL MODELLO ER Esercizio 1 Considerate lo schema ER in Figura 1: lo schema rappresenta varie proprietà di uomini e donne. a) Correggete

Dettagli

Esercizi. Facoltà di Scienze Matematiche, Fisiche e Naturali. Riferimenti. Laurea in Bioinformatica Basi di Dati Anno Accademico 2008/2009

Esercizi. Facoltà di Scienze Matematiche, Fisiche e Naturali. Riferimenti. Laurea in Bioinformatica Basi di Dati Anno Accademico 2008/2009 Facoltà di Scienze Matematiche, Fisiche e Naturali Laurea in Bioinformatica Basi di Dati Anno Accademico 2008/2009 Esercizi Riferimenti Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone.

Dettagli

Capitolo 2. Esercizio 2.1. Esercizio 2.2

Capitolo 2. Esercizio 2.1. Esercizio 2.2 Capitolo 2 Esercizio 2.1 Considerare le informazioni per la gestione dei prestiti di una biblioteca personale. Il proprietario presta libri ai suoi amici, che indica semplicemente attraverso i rispettivi

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

Corrispondenze e funzioni

Corrispondenze e funzioni Corrispondenze e funzioni L attività fondamentale della mente umana consiste nello stabilire corrispondenze e relazioni tra oggetti; è anche per questo motivo che il concetto di corrispondenza è uno dei

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

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

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

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

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

Modello E-R. Modello relazionale

Modello E-R. Modello relazionale 1 - Cinema Hollywood Si deve progettare una base di dati a supporto della programmazione cinematografica della catena di cinema Hollywood. Al momento dell acquisto di un film da proiettare vengono memorizzati

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

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

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

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare

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

Progettazione di un DB....in breve

Progettazione di un DB....in breve Progettazione di un DB...in breve Cosa significa progettare un DB Definirne struttura,caratteristiche e contenuto. Per farlo è opportuno seguire delle metodologie che permettono di ottenere prodotti di

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

I database. Cosa sono e a cosa servono i Database

I database. Cosa sono e a cosa servono i Database I database Estratto dal Modulo 1 - I database Prof. Piero GALLO 1 Cosa sono e a cosa servono i Database Un database(o base di dati) e' una raccolta organizzata di dati correlati. Il principale scopo di

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

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

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

Introduzione alla teoria dei database relazionali. Come progettare un database

Introduzione alla teoria dei database relazionali. Come progettare un database Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare

Dettagli

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1 Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione della base di dati di una facoltà e si definisca

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

1. PRIME PROPRIETÀ 2

1. PRIME PROPRIETÀ 2 RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,

Dettagli

Progettazione base dati relazionale

Progettazione base dati relazionale Progettazione base dati relazionale Prof. Luca Bolognini E-Mail:luca.bolognini@aliceposta.it Progettare una base di dati Lo scopo della progettazione è quello di definire lo schema della base di dati e

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

CALCOLO COMBINATORIO

CALCOLO COMBINATORIO CALCOLO COMBINATORIO 1 Modi di formare gruppi di k oggetti presi da n dati 11 disposizioni semplici, permutazioni Dati n oggetti distinti a 1,, a n si chiamano disposizioni semplici di questi oggetti,

Dettagli

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

ARCHIVI E DATABASE (prof. Ivaldi Giuliano) ARCHIVI E DATABASE (prof. Ivaldi Giuliano) Archivio: è un insieme di registrazioni (o records) ciascuna delle quali è costituita da un insieme prefissato di informazioni elementari dette attributi (o campi).

Dettagli

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria ESAME DI STATO DI ABILITAZIONE ALL'ESERCIZIO DELLA PROFESSIONE DI INGEGNERE PRIMA PROVA SCRITTA DEL 22 giugno 2011 SETTORE DELL INFORMAZIONE Tema n. 1 Il candidato sviluppi un analisi critica e discuta

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

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

14. LA PROGETTAZIONE CONCETTUALE: IL DIAGRAMMA ER

14. LA PROGETTAZIONE CONCETTUALE: IL DIAGRAMMA ER 14. LA PROGETTAZIONE CONCETTUALE: IL DIAGRAMMA ER La progettazione concettuale consiste nel riorganizzare tutti gli elementi che si hanno a disposizione dopo la fase di raccolta delle richieste (utente),

Dettagli

Esercizi di Progettazione

Esercizi di Progettazione Basi di Dati Ingegneria Informatica (2002-2003) Esercizi di Progettazione Elisa Quintarelli 1 Progetto: Catalogo La base di dati di una società che opera nel settore dell abbigliamento contiene le seguenti

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Concetti preliminari teorici per il corso di Access Avanzato - Sc.Elem Falcone - PON 2010 - Prof. M. Simone

Concetti preliminari teorici per il corso di Access Avanzato - Sc.Elem Falcone - PON 2010 - Prof. M. Simone Concetti preliminari per il corso di Access di database e di DBMS Un database è un insieme ben organizzato di informazioni distribuite su più tabelle all interno dello stesso file e gestite da un apposito

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

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi Università degli Studi di L Aquila Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi Prof. Gaetanino Paolone Dott. Ottavio Pascale a.a.2003-2004 Progetto Campo

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

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

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

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

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO 20 SETTEMBRE 2012 Tempo a disposizione: 2 ore 30 minuti

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO 20 SETTEMBRE 2012 Tempo a disposizione: 2 ore 30 minuti Prof. L. Tanca e F. A. Schreiber APPELLO 20 SETTEMBRE 2012 Progettare la base di dati relativa alla situazione descritta nel seguito. Svolgere il progetto concettuale usando il modello ER, e il progetto

Dettagli

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso 2.0 Gli archivi All interno della sezione archivi sono inserite le anagrafiche. In pratica si stratta di tutti quei dati che ricorreranno costantemente all interno dei documenti. 2.1 Inserire gli archivi

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

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

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti) (Esercizi Tratti da Temi d esame degli ordinamenti precedenti) Esercizio 1 L'agenzia viaggi GV - Grandi Viaggi vi commissiona l'implementazione della funzione AssegnaVolo. Tale funzione riceve due liste

Dettagli

PROGETTAZIONE CONCETTUALE

PROGETTAZIONE CONCETTUALE PROGETTAZIONE CONCETTUALE 1 Il Modello Concettuale Nella progettazione concettuale la descrizione dei dati da rappresentare avviene a livello astratto indipendentemente dal computer e dal software utilizzato.

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

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Progettazione di Database. Un Esempio

Progettazione di Database. Un Esempio Progettazione di Database Un Esempio Data Base Management System Applicazione 1 Applicazione 2 Applicazione 3 DBMS A B C D E Il Modello Relazionale Una relazione è costituita su un insieme di domini, non

Dettagli

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto IL MODELLO ER PER LA PROGETTAZIONE

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

Progettazione di un Database

Progettazione di un Database Progettazione di un Database Per comprendere il processo di progettazione di un Database deve essere chiaro il modo con cui vengono organizzati e quindi memorizzati i dati in un sistema di gestione di

Dettagli

Il modello Entity-Relationship: pattern di progettazione

Il modello Entity-Relationship: pattern di progettazione Il modello Entity-Relationship: pattern di progettazione Sistemi Informativi T Versione elettronica: 06.3.ER.pattern.pdf Soluzioni a problemi comuni In molti schemi E/R si ritrovano dei pattern comuni,

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

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

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

BASI DATI BIOINGEGNERIA ED INFORMATICA MEDICA. Lezione II - BioIngInfMed

BASI DATI BIOINGEGNERIA ED INFORMATICA MEDICA. Lezione II - BioIngInfMed BASI DATI BIOINGEGNERIA ED INFORMATICA MEDICA 1 Sistema Informativo Un sistema informativo (SI) è un componente di una organizzazione il cui obiettivo è gestire le informazioni utili per gli scopi dell

Dettagli

DATABASE. A cura di Massimiliano Buschi

DATABASE. A cura di Massimiliano Buschi DATABASE A cura di Massimiliano Buschi Introduzione Con Microsoft Access: Immissione dati e interrogazione Interfaccia per applicazioni e report Ma prima bisogna definire alcune conoscenze di base sui

Dettagli

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema Pagina: 1 e-travel ING SW Progetto di Ingegneria del Software e-travel Requisiti Utente Specifiche Funzionali del Sistema e Pagina: 2 di 9 Indice dei contenuti 1 INTRODUZIONE... 3 1.1 SCOPO DEL DOCUMENTO...

Dettagli

Lezione 4. Modello EER

Lezione 4. Modello EER Lezione 4 Modello EER 1 Concetti del modello EER Include tutti i concetti di modellazione del modello ER Concetti addizionali: sottoclassi/superclassi, specializzazione, categorie, propagazione (inheritance)

Dettagli

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto)

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto) Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Sede di Latina Laurea in Ingegneria dell Informazione Fasi del ciclo di vita del software (riassunto) Corso di PROGETTAZIONE DEL SOFTWARE

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Progettazione di Database

Progettazione di Database Progettazione di Database Progettazione Concettuale: strutturazione della realtà che si vuole rappresentare secondo uno schema concettuale Dallo schema concettuale si ricava lo schema del database relazionale

Dettagli

Esercizio. Atzeni e altri, Basi di dati, Capitolo 8 64

Esercizio. Atzeni e altri, Basi di dati, Capitolo 8 64 Rappresentare le seguenti informazioni nel modello E-R Una compagnia aerea offre voli che possiedono un numero che identifica la tratta (per esempio, Roma- Milano), una frequenza (giornaliero, feriali,

Dettagli

GERARCHIA IS-A (è un) GENERALIZZAZIONI / SPECIALIZZAZIONI ESEMPIO 1

GERARCHIA IS-A (è un) GENERALIZZAZIONI / SPECIALIZZAZIONI ESEMPIO 1 GRARCHIA IS-A (è un) GNRALIZZAZIONI / SPCIALIZZAZIONI SMPIO 1 Consideriamo il fatto che, in una compagnia aerea, si abbia l entità relativa ai membri dell equipaggio, MMBRI_QUIPAGGIO (Kme,Cogn.,Nome,tà),

Dettagli

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 23 Settembre 03 Nome: Cognome: Matricola:

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 23 Settembre 03 Nome: Cognome: Matricola: 23 Settembre 03 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione della base dati di un villaggio vacanze e si definisca il relativo schema E/R (nella

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

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

Progettazione Logica. Progettazione Logica

Progettazione Logica. Progettazione Logica Consorzio per la formazione e la ricerca in Ingegneria dell'informazione Tabelle per ogni concetto Docente: Cesare Colombo CEFRIEL colombo@cefriel.it http://www.cefriel.it Passaggio al modello logico (1)

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

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

Capitolo 8. Esercizio 8.1

Capitolo 8. Esercizio 8.1 Capitolo 8 Esercizio 8.1 Si consideri lo schema Entità-Relazione ottenuto come soluzione dell esercizio 7.4. Fare delle ipotesi sul volume dei dati e sulle operazioni possibili su questi dati e, sulla

Dettagli

Gestione Voti Scolastici

Gestione Voti Scolastici Gestione Voti Scolastici Progettare un modello di dati per la gestione delle informazioni riguardanti le prove, nelle diverse materie, sostenute dagli studenti di una scuola media superiore. Il sistema

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

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

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