Database Progettazione Concettuale Giorgio Porcu www.thegiorgio.it
Sommario Progettazione Concettuale Diagramma E-R Entità Attributi Istanze Relazioni (Associazioni) Chiave Primaria Cardinalità delle relazioni
Progettazione Concettuale Consiste nel trasformare una serie di specifiche in linguaggio naturale (che definiscono la realtà descritta dal database) in uno schema grafico chiamato Diagramma E-R (Entity-Relationship o, in italiano, Entità-Relazione) Il Diagramma E-R utilizza due concetti fondamentali: Entità Relazione (o Associazione)
Diagramma E-R Schema grafico che modella la realtà su cui si basa il database. Usa i seguenti simboli principali: Chiave Primaria Attributo Relazione Entità
Entità Concetto fondamentale, generale, per la realtà che si sta modellando. Possiede una serie di caratteristiche. Identificata graficamente da un rettangolo ES: Creare un Database che memorizzi i dati relativi agli alunni di una scuola superiore. Entità Concetto fondamentale Alunno
Attributi di un’Entità Caratteristiche specifiche di un’entità, utili (o necessarie) nella realtà da modellare. Identificati graficamente da cerchi collegati all’entità ES: Creare un Database che memorizzi i dati relativi agli alunni di una scuola superiore. Cognome Indirizzo Nome Attributi Caratteristiche di un’Entità Alunno
Istanze di un’Entità Specifici dati, oggetti appartenenti ad un’entità. Non sono rappresentate nel Diagramma E-R ma si intendono contenute in ogni Entità. ES: Carlo Rossi abitante in Via Verdi è un’istanza dell’entità Alunno (attributi Nome, Cognome, Indirizzo). Cognome Indirizzo Istanze Nome Carlo Rossi, Via Verdi Alunno Laura Bianchi, Via Neri
Entità e Istanze Possiamo considerare le entità come insiemi all’interno dei quali sono contenuti oggetti (le istanze) ciascuna con specifiche caratteristiche (gli attributi). Istanze Carlo Rossi Via Verdi Laura Bianchi Via Neri Alunno
Relazioni (Associazioni) Collegamenti logici che uniscono due o più entità nella realtà descritta dal database. Nome Cognome Indirizzo Targa Marca Modello Possiede Persona Automobile Relazione (Associazione)
Chiave Primaria Insieme di attributi che garantisce l’univocità delle istanze di un’entità. E’ indicata anche con Primary Key o PK. Identificata graficamente da un cerchio pieno collegato all’entità e relativo nome attributo sottolineato Cognome Nome Indirizzo Chiave Primaria Persona IDCliente
Chiave primaria: caratteristiche La chiave primaria garantisce l’univocità delle istanze nel senso che: Ogni istanza deve essere identificabile perché diversa dalle altre Ogni istanza non può avere gli stessi valori di un’altra in ogni attributo (sarebbero istanze uguali!) Spesso si sceglie come chiave primaria un singolo attributo Codice (Cod…) o Identificatore (ID…) contenente un numero naturale
Rappresentazione E/R alternativa Una rappresentazione alternativa del Diagramma E/R è la seguente: Attributi elencati sotto il nome delle corrispondenti Entità Chiavi Primarie contrassegnate dalla sigla PK Relazioni rappresentate da linee rette che uniscono Entità Persona Automobile IDCliente (PK) Nome Cognome Indirizzo IDAutomobile (PK) Targa Marca Modello
Esempio 1 Progetta un database che memorizzi dati anagrafici e di residenza relativi a un elenco di persone ( CodFiscale ) IDPersona Cognome Nome DataNascita Indirizzo Persona Città
Cardinalità delle relazioni Una relazione tra due entità può essere di tre tipologie: Uno a uno (1:1) Uno a molti (1:N) Molti a molti (N:N) a seconda di quante istanze delle due entità sono coinvolte nella relazione. Tale caratteristica si dice cardinalità (o molteplicità).
Relazione 1 a 1 In uno stadio, un singolo posto è occupato da uno spettatore e ogni spettatore occupa un posto Cardinalità Totale 1 1 1 Occupare 1 Posto Spettatore 1 1 Cardinalità Parziale
Relazione 1 a N In una classe ci sono uno o più alunni e un alunno appartiene a una sola classe Cardinalità Totale 1 N 1 Appartiene N Classe Alunno 1 1 Cardinalità Parziale
Relazione N a N All’Università uno studente frequenta più corsi e un corso è frequentato da più studenti Cardinalità Totale 1 N N Frequenta N Studente Corso N 1 Cardinalità Parziale
Esercizio 1 Modella la relazione tra le entità Cittadino e dati di Residenza in una specifica data. 1 1 Risiede Cittadino 1 1 Residenza 1 1
Esercizio 1 > Soluzione CodFiscale Nome Cognome IDResidenza Indirizzo Città Risiede Cittadino 1 1 Residenza
Esercizio 2 Modella la relazione tra le entità Persona e Automobile posseduta in una specifica data. 1 N 1 Possiede N Persona Automobile 1 1
Esercizio 2 > Soluzione CodFiscale Nome Cognome Matricola Marca Modello 1 Possiede N Persona Automobile Targa DataImm
Esercizio 3 Modella la relazione tra le entità Concorrente e Gara in un’Olimpiade. 1 N N Partecipa N Concorrente Gara 1 N
Esercizio 3 > Soluzione IDGara CodPassaporto Nome Cognome Tipologia N Partecipa N Concorrente Gara Data Nazionalità
Esercizio 4 PER CASA Modella le seguenti relazioni tra entità con un Diagramma E-R : Studente di una scuola Dipendente di un’azienda Trasmissione in un canale televisivo