Rappresentazione grafica di entità e attributi



Похожие документы
La progettazione concettuale: il modello ER. 17/12/2007 Unità di Apprendimento A2 1

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

PROGETTAZIONE CONCETTUALE

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA CONCETTUALE LE ASSOCIAZIONI

Organizzazione degli archivi

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

Corrispondenze e funzioni

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

MODELLO E/R. Modellazione dei dati

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

MODELLO RELAZIONALE. Introduzione

I Sistemi Informativi

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

Informatica (Basi di Dati)

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

1. PRIME PROPRIETÀ 2

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

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

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

Vincoli di integrità

Lezione 4. Modello EER

Database. Si ringrazia Marco Bertini per le slides

Progettazione di Basi di Dati

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Basi di Dati. Conversione Modello ER in Modello Relazionale. K. Donno - Conversione Modello ER in Modello Relazionale

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

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

Alessandra Raffaetà. Basi di Dati

BASI DI DATI - : I modelli di database

Il modello EER comprende tutti i concetti di modellazione del modello ER, cui si aggiungono:

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

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

PROGETTAZIONE DI UN DATABASE

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

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

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

Anno 3. Funzioni: dominio, codominio e campo di esistenza

14. LA PROGETTAZIONE CONCETTUALE: IL DIAGRAMMA ER

Progettazione concettuale

Rappresentare i nessi logici con gli insiemi

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

I database. Cosa sono e a cosa servono i Database

Esercitazione di Basi di Dati

Introduzione ai database relazionali

BASE DI DATI: sicurezza. Informatica febbraio ASA

Il Modello Relazionale

DATABASE. A cura di Massimiliano Buschi

Modellazione dei dati in UML

Corso di Informatica

Guida all uso di Java Diagrammi ER

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

Basi di dati. Esercitazione ER. Paolo Papotti. Esercizio giugno 2005

Database 1 biblioteca universitaria. Testo del quesito

Progettazione Logica. Progettazione Logica

Lezione 2. Il modello entità relazione

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

Raggruppamenti Conti Movimenti

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

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

database: modello entityrelationship

LA NORMALIZZAZIONE. Introduzione

Progettazione di un Database

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

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

Soluzione dell esercizio del 2 Febbraio 2004

Project Cycle Management

Progettazione base dati relazionale

Modulo 2 Data Base 2

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

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

TEORIA sulle BASI DI DATI

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

Realizzazione di una classe con un associazione

Progettazione di Database

Strumenti di modellazione. Gabriella Trucco

Basi di dati I. Esercitazione proposta

LE FUNZIONI A DUE VARIABILI

Gestione Voti Scolastici

Basi di Dati e Microsoft Access

RELAZIONI BINARIE. Proprietà delle relazioni Data una relazione R, definita in un insieme non vuoto U, si hanno le seguenti proprietà :

Ricerca Operativa e Logistica

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

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

Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:

Modulo 8 I data base Unità 3 Modello concetutale

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

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

NOZIONI DI BASE DEL DIRITTO IL DIRITTO COME INSIEME DI REGOLE

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI

Capitolo 4 Probabilità

Anno 1. Le relazioni fondamentali (equivalenza, d'ordine, inverse, fra insiemi)

Il database management system Access

4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI

Elena Baralis 2013 Politecnico di Torino 1

Транскрипт:

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 concettuale. Il modello concettuale più importante, è lo schema E/R, ovvero lo schema entità/relazioni, che ha l obiettivo di rappresentare in modo grafico i dati e le loro relazioni all'interno di una certa realtà di interesse. Per la costruzione di uno schema E/R, si parte dal semplice concetto che la realtà da rappresentare è composta da entità, ognuna delle quali è caratterizzata da specifiche proprietà, dette anche attributi. Entità: sono gli oggetti concreti o astratti riguardanti la realtà che si intende analizzare Tipo di entità: descrive la struttura di tutte le entità di una certa natura. Se ad esempio abbiamo le entità I Promessi Sposi e Zibaldone, sappiamo che i tipi di entità sono i libri. Istanza: è ogni singolo elemento che appartiene a un tipo di entità. Ad esempio, il libro I Promessi Sposi è un'istanza del tipo di entità Libri. Proprietà o attributi: sono le principali caratteristiche che descrivono una certa entità. Se ad esempio abbiamo le entità I Promessi Sposi e Zibaldone, possiamo definire come principali attributi il titolo, il numero di pagine o la casa editrice. In generale, ogni attributo, è specificato da: - Un nome - Un formato, il quale indica il tipo di valore che può assumere - Una dimensione che indica la quantità massima di caratteri o cifre inseribili - Un valore: l'insieme dei possibili valori assunti da un attributo si chiama dominio dell'attributo. Se ad esempio consideriamo l'entità persona, possiamo dire che il dominio dell'attributo età è rappresentato dall'insieme di valori che vanno da 1 a 120, infatti una persona non può avere un'età pari a 0. - Un opzionalità che indica se un attributo è obbligatorio, ovvero se deve avere per forza un valore, o facoltativo, ovvero se può avere anche valori nulli. Attributo semplice: è un attributo che possiede un tipo semplice, come ad esempio il nome o l'età Attributo composto o aggregato: è un attributo che è composto da più informazioni, come ad esempio l'indirizzo che è composto da via, numero civico e città. Attributo multiplo: è un attributo che è costituito da più valori, come ad esempio l'hobby o l'autore Chiave primaria: è la chiave che possiede il numero minimo di attributi necessari per identificare una riga di una tabella. Se ad esempio consideriamo l'entità persona, possiamo identificare l'attributo codice fiscale come chiave primaria. Chiave candidata o superchiave: è l'insieme degli attributi che identificano univocamente una riga di una tabella. Se ad esempio consideriamo l'entità persona, possiamo identificare gli attributi nome, cognome e data di nascita come chiave candidata o superchiave. Rappresentazione grafica di entità e attributi

ASSOCIAZIONI Associazione: è un legame logico tra due o più entità e si differenzia da quest'ultima perché, invece di essere una classe di oggetti del mondo reale, è semplicemente una classe di fatti. Istanza di un associazione: è una combinazione di istanze delle entità che prendono parte all associazione. Rappresentazione di un associazione: il rombo posto a metà della linea che unisce le due entità rappresenta la loro associazione Esempio di associazione e di istanza di un associazione Grado di un associazione (associazioni binarie e multiple): è il numero di entità che partecipano all associazione. In questo caso, un'associazione si dice binaria se è di grado 2, ovvero se il numero di entità che partecipano all'associazione sono solamente 2. Un associazione, invece, si dice multipla se il grado è superiore a 2 e quindi se il numero di entità che partecipano all associazione sono più di due. Esempio di associazione multipla Associazioni ricorsive o associazioni sulla stessa entità: si dice che un'associazione è ricorsiva se vengono messe in relazione tra di loro due entità identiche. Associazione ricorsiva

Attributi di entità e attributi di associazione: molto spesso è possibile descrivere una specifica realtà di interesse con diversi schemi del modello E/R. Infatti, se consideriamo la realtà di una classe di alunni in cui si vogliono rappresentare sia le interrogazioni che le assenze, è possibile avere un'unica associazione composta dalle due informazioni che si vogliono analizzare. Inoltre, a questa associazione creata, è necessario aggiungere degli attributi, come ad esempio l'attributo tipo che indicherà se si tratta di un assenza o di un'interrogazione, l'attributo voto che rimarrebbe non valorizzato nel caso lo studente sia stato assente, e l attributo motivo che rimarrebbe non valorizzato nel caso lo studente sia stato interrogato. Attributi di entità e attributi di associazione Attributo che passa dall'associazione all'entità: per fare in modo che un attributo passi da un'associazione ad un'entità, bisogna semplicemente trasformare l'associazione in un entità e spostare quindi tutti gli attributi dell'associazione precedente nell entità appena creata. Attributo che passa dall'associazione all'entità Attributo che diventa un entità: per fare in modo che un attributo diventi entità, bisogna semplicemente trasformare l'attributo in un entità. Se ad esempio consideriamo l'attributo ragione sociale riguardante l'entità persona e vogliamo conoscere altre informazioni relative a quella ditta, dobbiamo trasformare l'attributo ragione sociale in un entità. Attributo che diventa un entità

Associazione diretta: data un'associazione A tra le entità X e Y, se si attribuisce un verso da X a Y, si dice che l'associazione è diretta da X a Y. Associazione inversa: data un'associazione A tra le entità X e Y, se si attribuisce un verso da X a Y, si dice che l'associazione è inversa da Y a X. Associazione totale: Proprietà delle associazioni: - Partecipazione di un associazione - Molteplicità di un associazione Partecipazione di un associazione: Un associazione diretta si dice totale quando il legame tra le entità deve essere sempre presente, ovvero quando ad ogni elemento di X deve corrispondere almeno un elemento di Y, altrimenti si dice parziale. Un associazione inversa, invece, si dice totale quando il legame tra le entità deve essere sempre presente, ovvero quando ad ogni elemento di Y deve corrispondere almeno un elemento di X, altrimenti si dice parziale. In generale, un associazione totale, indica obbligatorietà, o meglio che la partecipazione è obbligatoria, e nello schema E/R, viene rappresentata con una linea continua, mentre un'associazione parziale, indica facoltatività, o meglio che la partecipazione è facoltativa, e nello schema E/R, viene rappresentata con una linea discontinua (tratteggiata). Molteplicità di un associazione: La molteplicità di un associazione diretta o inversa rappresenta il numero massimo di entità che partecipano all associazione. In particolar modo, un associazione diretta o inversa viene detta univoca se la partecipazione all associazione si ha con al massimo un istanza di ognuna delle due entità. Un associazione diretta o inversa, invece, viene detta multivalore, o multipla, se non vi sono vincoli di numero nella partecipazione all associazione da parte di una delle due entità. Cardinalità di un associazione: La cardinalità di un'associazione, descrive la molteplicità dell'associazione diretta e quella della sua inversa. In generale, la cardinalità, può essere o a uno o a molti. Associazione uno a uno: si dice che un'associazione è biunivoca o uno a uno, quando ad un'istanza di X corrisponde una e una sola istanza di Y e viceversa. Associazione uno a uno Associazione diretta totale: Una capitale appartiene ad un solo stato Associazione inversa totale: Uno stato ha una sola capitale Cardinalità 1:1 Associazione uno a molti: si dice che un'associazione è semplice o uno a molti, quando ad un'istanza di X possono corrispondere una o più istanze di Y e a ogni istanza di Y deve corrispondere una e una sola istanza di X. Associazione uno molti Associazione diretta totale: Un docente deve disporre di uno o più cassetti Associazione inversa parziale: Un cassetto può non essere assegnato ad alcun docente Cardinalità 1:N

Associazione molti a molti: si dice che un'associazione è complessa o molti a molti, quando ad ogni istanza di X possono corrispondere una o più istanze di Y e viceversa. Associazione molti a molti Associazione diretta totale: Un docente deve insegnare in almeno una classe Associazione inversa totale: Una classe deve aver almeno un docente Cardinalità N:N VINCOLI DI INTEGRITÀ I vincoli di integrità, sono quelle proprietà che devono essere soddisfatte dalle istanze della base di dati. Se ad esempio consideriamo l entità studente e gli attributi matricola, cognome e età, possiamo notare che non ci possono essere due studenti con lo stesso numero di matricola ma soprattutto l'età deve essere superiore a 0 e inferiore a 120, in quanto una persona non può vivere più di 120 anni. Per questo, è importante notare quali attributi necessitano di particolari vincoli e successivamente imporre i cosiddetti vincoli di integrità, ovvero quei vincoli che la base di dati deve soddisfare per non compromettere l'integrità dei dati. In generale, ogni vincolo, può essere considerato come un asserzione o una funzione booleana, che associa ad ogni istanza il valore vero o falso. Se l'asserzione assume il valore vero, allora, si dice che il vincolo è soddisfatto dall istanza, altrimenti si dice che i dati violano il vincolo. I vincoli di integrità, si dividono in vincoli di integrità impliciti e in vincoli di integrità espliciti. Vincoli di integrità impliciti: sono quelli imposti dalla stessa struttura dei dati e si dividono in: - Vincoli di chiave primaria, il quale impongono che le istanze di una categoria debbano essere tutte diverse tra di loro. Nello schema E/R, questi vincoli, vengono rappresentati sottolineando i relativi attributi. - Vincoli referenziali, il quale, date due entità A e B e un'associazione tra loro, impongono che non si possa inserire un elemento in A se questo non è associato ad un elemento in B. Nello schema E/R, questi vincoli, riguardano la partecipazione di un'associazione e vengono rappresentati con linee continue delle associazioni tra le entità. Vincoli di integrità espliciti: sono quelli che impongono delle restrizioni sul modo in cui i dati possono cambiare. Un esempio di vincolo esplicito è quello in cui il valore dell'attributo età non può essere né negativo né maggiore di 120. Nello schema E/R, questi vincoli, non possono essere rappresentati, ma al contrario, si ricorre alla sintassi V NumProgres sivo : Espression e, dove NumProgres sivo indica il numero progressivo del vincolo, mentre Espression e indica una qualsiasi espressione che serve per specificare il vincolo. Ad esempio, per esprimere il V1: 0 Persona.Et à 120. vincolo sull'età, bisogna scrivere COLLEZIONI DI ENTITÀ E GERARCHIE In fase di progettazione concettuale, può accadere che alcune entità abbiano istanze in comune e quindi è utile organizzare le entità in gerarchie ovvero in strutture ad albero. In questo caso, la radice, rappresenta l entità che contiene le caratteristiche comuni, chiamata anche entità padre, mentre i vari nodi rappresentano le entità che contengono caratteristiche specifiche, chiamate anche entità figlie. In generale, per creare una gerarchia, si attua un processo di specializzazione che consiste nel creare entità figlie sempre più specifiche. Al contrario, invece, percorrendo la gerarchia dal basso verso l'alto, si attua un processo di generalizzazione, in quanto si risale l'albero passando dalle entità più specifiche a quelle più generiche. Ad esempio, l entità PersonaleScuola può essere

pensata come una generalizzazione delle entità Docente e NonDocente. La caratteristica più importante, è che le entità figlie ereditano sempre le proprietà dell entità padre. Specializzazione e generalizzazione Nella gerarchia, è possibile distinguere diversi tipi di entità figlie, tra cui: - Le entità sottoinsieme: sono specializzazioni della stessa entità padre e non sono disgiunte tra loro. Infatti, nell esempio successivo, un istanza dell entità padre PersonaleScuola, può essere contemporaneamente sia un istanza dell entità figlia Docente, sia un istanza dell entità figlia PersonaleMaschile. - Le entità sottoinsieme disgiunte: sono specializzazioni della stessa entità padre e sono caratterizzate dall avere istanze disgiunte. Infatti, nell esempio successivo, le entità figlie Docente e NonDocente sono sottoinsiemi disgiunti dell entità padre PersonaleScuola. - Le entità copertura: non sono tra di loro disgiunte ma l unione delle loro istanze coincide con quelle dell entità padre. Infatti, nell esempio successivo, le entità figlie MenoDi20Anni e PiùDi20Anni (uguale o più di 20 anni), sono entità copertura dell entità padre Persona. - Le entità partizione: sono tra di loro disgiunte ma l unione delle loro istanze coincide con quelle dell entità padre. Infatti, nell esempio successivo, le entità figlie Maschio e Femmina, sono entità partizione dell entità padre Persona. Entità sottoinsieme Entità sottoinsieme disgiunte Entità copertura Entità partizione