Le Basi di dati: progettazione concettuale.

Slides:



Advertisements
Presentazioni simili
Progettazione concettuale
Advertisements

Progettazione concettuale
4 – Progettazione – Introduzione e Modello E-R
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Modello E-R Generalizzazioni
Eprogram informatica V anno.
Cloud informatica V anno.
1 Variabili. 2 Tipi di variabili Una variabile è qualche proprietà di un evento che è stata misurata. Le variabili sono attributi dei fenomeni e pertanto.
Basi di dati - Fondamenti
Il modello logico Il modello logico.
La progettazione concettuale
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Progettazione di una base di dati relazionale
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rileaborato da M. Lenzerini - Basi di dati
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Secondo Compito: PROGETTAZIONE DI UN DATABASE Claudia Angione
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
di Basi di Dati: Overview
Esercitazione Modello ER 1
Dal problema al processo risolutivo
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Progettazione di una base di dati relazionale
Raccolta ed Analisi dei Requisiti nella Progettazione
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Definizione e caratteristiche
Progettazione di una base di dati relazionale
Dal problema al processo risolutivo
Basi di Dati: Introduzione
La normalizzazione delle relazioni
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Un’università vuole raccogliere ed organizzare in un database
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
I vincoli di integrità Alcuni aspetti della realtà NON possono essere modellati solamente con entità, attributi e relazioni, per esempio i vincoli di integrità.
FAQ.
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione logica: Il modello relazionale
Gli schemi concettuali
Basi di dati - Fondamenti
Progettazione concettuale
I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI Numeri.
Partizionamento/accorpamento di concetti
La modellazione concettuale
Le basi di dati: progettazione concettuale.
OGGETTO E TIPO DI OGGETTO
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Progettazione di una base di dati
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Selezione e Proiezione
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Il questionario: progettazione e redazione II Modulo
Progettazione di una base di dati
Definizione e caratteristiche
Vincoli di Integrità Non tutte le combinazioni possibili di valori dei domini su cui è definita una relazione sono accettabili. Alcuni attributi possono.
Transcript della presentazione:

Le Basi di dati: progettazione concettuale

progettazione concettuale Progettazione di una base di dati progettazione concettuale requisiti del Sistema Informativo SCHEMA CONCETTUALE SCHEMA FISICO progettazione logica progettazione fisica SCHEMA LOGICO

Analisi dei requisiti I requisiti devono innanzitutto essere acquisiti Le fonti possono essere molto diversificate tra loro: utenti, attraverso: interviste documentazione apposita documentazione esistente „ normative (leggi, regolamenti di settore) regolamenti interni, procedure aziendali realizzazioni preesistenti modulistica La raccolta dei requisiti è un’attività difficile e non standardizza-bile; in genere procede di pari passo con la fase di analisi (la prima analisi stimola nuove domande, ecc.)

La progettazione concettuale La progettazione concettuale consiste nell’organizzare 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

La progettazione concettuale Tra i possibili modelli concettuali è molto diffuso il modello Entità/Relazioni (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.

Lo schema 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 entità sono ciò che esiste all’interno della realtà che si vuole modellare e di cui interessa rappresentare alcuni fatti (le proprietà). Le proprietà (o attributi) sono i fatti che si intende rappresentare e che interessano poiché descrivono le caratteristiche di specifiche entità.

Astrazione Il procedimento mentale che permette di evidenziare alcune proprietà, ritenute significative degli oggetti osservati, escludendone altre giudicate non rilevanti, prende il nome 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à.

Entità Il tipo di entità descrive la struttura di tutte le entità di una certa natura. Esempio: I singoli cantanti («Lucio Dalla», «Sting» e così via) possono essere classificati nel tipo entità Cantanti. Ogni singolo esemplare che appartiene a un tipo di entità e detto istanza.

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. Esempio: Sono attributi semplici: Nome, Cognome, Età, Sesso…

Caratteristiche di un attributo Ogni attributo è specificato da: un nome un formato, che indica il tipo di valori che può assumere (testo, intero, data, vero/falso,…) una dimensione (non per data o vero/falso) che indica il massimo numero di caratteri o cifre; un valore: i diversi valori assunti determinano le diverse istanze dell’entità. L’insieme dei possibili valori assunti da un attributo si chiama dominio; una opzionalità che indica la possibilità di non essere sempre valorizzato (attributo obbligatorio o facoltativo).

Attributi composti o aggregati Gli attributi composto o aggregati sono costituiti mediante aggregazione di altri attributi che, a loro volta, possono essere semplici o composti. Esempio: Sono attributi semplici: Nome, Cognome, Età, Sesso… È un attributo aggregato DataDiNascita perché composto dagli attributi semplici Giorno, Mese e Anno.

Attributi multipli Gli attributi multipli sono inseriti in un elenco di lunghezza variabile di attributi dello stesso tipo. Esempio: Per l’entità Persona, un esempio di attributo multiplo è Hobby.

Attributi chiave Il concetto chiave e particolarmente importante. Si definisce chiave candidata o superchiave una chiave che consente di distinguere un’istanza di un’entità da un’altra in modo univoco. Esempio: per distinguere due istanze di un’entità Persona potremmo usare un attributo CodiceFiscale gli attributi Nome, Cognome, Data Tra le chiavi candidate, quella con il minore numero di attributi prende il nome di chiave (o primary key).

Attributi chiave 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.

Rappresentazione grafica di entità e attributi <NomeAttributo1> <NomeEntità> <NomeAttributo2> <NomeAttributo3> per le entità si utilizza un rettangolo per gli attributi non chiave si utilizza una linea dal rettangolo al nome dell’attributo gli attributi chiave si rappresentano come gli attributi non chiave e in più si sottolinea il nome o si cambia il colore del cerchio gli attributi multipli terminano con una doppia freccia per gli attributi composti la linea termina con un quadrato

Rappresentazione grafica di entità e attributi <NomeEntità> Attributo non chiave <NomeAttributo> Attributo chiave <NomeAttributo> Attributo multiplo <NomeAttributo> Attributo composto <NomeAttributo> Per convenzione utilizziamo Nomi al singolare per le entità Iniziali maiuscole per i nomi delle entità e degli attributi Iniziali maiuscole per i nomi di attributi definiti con più parole

ESEMPIO Una possibile rappresentazione dell’entità Persona è CodiceFiscale ComuneNascita DataNascita Nome Persona Professione Cognome Hobby

<NomeRelazione> Le relazioni Una relazione è un legame logico tra due o più entità rilevanti nella realtà che si sta considerando. L’istanza di una relazione è una combinazione (aggregazione) di istanze delle entità che prendono parte all’associazione. <NomeRelazione> <NomeEntità1> <NomeEntità2> <NomeAttributo1> <NomeAttributo2>

ESEMPIO La relazione possiede tra le entità Persona e Automobile può essere rappresentata in questo modo possiede Persona Automobile DataAcquisto Notaio CodiceFiscale Targa Nome Modello Cognome Marca

AX 123 YZ Verdi BS 456 TC Bruni RR 001 LN JK 153 RF Rossi PX 361 AB Entità Automobile Entità Persona Relazione possiede AX 123 YZ Verdi BS 456 TC Bruni RR 001 LN JK 153 RF Rossi PX 361 AB Istanza di possiede Istanza di Persona Istanza di Automobile

<NomeRelazione> Grado di una relazione Si definisce grado di una relazione il numero di entità che partecipano alla relazione Una relazione tra due entità è detta binaria. Se le entità sono più di due, la relazione è detta multipla. <NomeRelazione> <NomeEntità1> <NomeEntità2>

Relazione diretta e inversa Data una relazione tra due entità, si stabilisce una relazione diretta e una relazione inversa. guida guida è guidata Persona Automobile

Partecipazione di una relazione 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, il valore 0 o 1. Lo 0 indica che la partecipazione è facoltativa, mentre il valore 1 indica che la partecipazione è obbligatoria.

Partecipazione di una relazione Una relazione diretta tra le entità X e Y è totale quando il legame tra le entità deve essere sempre presente, cioè ad ogni elemento di X deve corrispondere almeno un elemento di Y, altrimenti si dice parziale. Lo stesso si può dire per la relazione inversa. dirige Docente Dipartimento Relazione totale: linea continua Un dipartimento DEVE essere diretto da un docente Relazione parziale: linea tratteggiata. Un docente PUO’ dirigere un dipartimento

Cardinalità e molteplicità di una relazione La molteplicità tra le entità X e Y indica il numero massimo di istanze dell’entità Y che possono trovarsi in relazione con un’istanza dell’entità Y e viceversa. La cardinalità di un’associazione fra le entità X e Y descrive parallelamente la molteplicità dell’associazione diretta e quella della sua inversa.

Cardinalità 1:1 La cardinalità può essere 1:1 (uno a uno) o biunivoca quando a un’istanza di X corrisponde una e una sola istanza di Y e viceversa 1 appartiene 1 Capitale Stato Per la relazione diretta: «una capitale appartiene a uno stato» 1 1 Per la relazione inversa: «uno stato ha una capitale» 1 1

Cardinalità 1:n La cardinalità può essere 1:n (uno a molti) o semplice quando a un’istanza di X possono corrispondere una o più istanze di Y. 1 dispone n Docente Cassetto Per la relazione diretta: «un docente dispone di uno o più cassetti» 1 n Per la relazione inversa: «un cassetto è sempre intestato a un solo docente» 1 1 Continua 

Cardinalità 1:n Per quanto riguarda la partecipazione dispone Docente Per la relazione diretta: «un docente DEVE disporre di almeno un cassetto»: associazione totale Per la relazione inversa: «un cassetto PUO’ NON essere assegnato ad alcun docente»: associazione parziale. 1 dispone n Docente Cassetto Relazione TOTALE Relazione PARZIALE

Cardinalità n:n La cardinalità può essere n:n (molti a molti) o complessa quando a una o più istanze di X possono corrispondere una o più istanze di Y. n insegna n Docente Classe Per la relazione diretta: «un docente insegna in una o più classi» 1 n Per la relazione inversa: «in una classe insegnano uno o più docenti» n 1 Continua 

Cardinalità n:n Per quanto riguarda la partecipazione insegna Docente Per la relazione diretta: «un docente DEVE insegnare in almeno una classe: associazione totale. Per la relazione inversa: «una classe DEVE avere almeno un docente»: associazione totale. n insegna n Docente Classe Relazione TOTALE Relazione TOTALE