Le Basi di dati: progettazione concettuale...in base alle similitudini e alle proprietà comuni,...

Post on 05-Jul-2020

9 views 0 download

Transcript of Le Basi di dati: progettazione concettuale...in base alle similitudini e alle proprietà comuni,...

Le Basi di dati: progettazione concettuale

SCHEMA LOGICO

progettazione

concettuale

SCHEMA CONCETTUALE

SCHEMA FISICO

progettazione

fisica

progettazione

logica

requisiti del Sistema

Informativo

Progettazione di una base di dati

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 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à/Relazion i (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 .

La progettazione concettuale

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

• 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

<NomeEntità>

<NomeAttributo1>

<NomeAttributo2>

<NomeAttributo3>

Rappresentazione grafica di entità e attributi

<NomeEntità>

<NomeAttributo>

Attributo chiave

Attributo multiplo

Entità

Attributo non chiave

<NomeAttributo>

<NomeAttributo>

<NomeAttributo>Attributo composto

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

Persona

ComuneNascita

Hobby

Nome

Cognome

CodiceFiscale

DataNascita

Professione

Una possibile rappresentazione dell’entità Persona è

Le relazioni

Una relazione è un legame logico tra due o più entità

rilevanti nella realtà che si sta considerando.

<NomeEntità1> <NomeEntità2><NomeRelazione>

<NomeAttributo1> <NomeAttributo2>

L’istanza di una relazione è una combinazione

(aggregazione) di istanze delle entità che prendono

parte all’associazione.

ESEMPIO

La relazione possiede tra le entità Persona e

Automobile può essere rappresentata in questo

modo

Persona Automobilepossiede

DataAcquisto Notaio

Nome

Cognome

CodiceFiscale

Modello

Marca

Targa

Verdi

Bruni

Rossi

AX 123 YZ

BS 456 TC

RR 001 LN

JK 153 RF

PX 361 AB

Entità Automobile

Entità Persona

Relazione possiede

Istanza di possiede

Istanza di AutomobileIstanza di Persona

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 .

<NomeEntità1> <NomeEntità2><NomeRelazione>

Relazione diretta e inversa

Data una relazione tra due entità, si stabilisce una

relazione diretta e una relazione inversa .

Persona Automobileguidaè guidataguida

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.

Docente dirige Dipartimento

Relazione parziale: linea tratteggiata.

Un docente PUO’ dirigere un dipartimento

Relazione totale: linea continua

Un dipartimento DEVE essere diretto da

un docente

Cardinalità e molteplicità di una relazioneLa 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

Capitale Statoappartiene

Per la relazione diretta: «una capitale appartiene a uno stato»

Per la relazione inversa: «uno stato ha una capitale»

11

1 1

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.

Docente Cassettodispone

Per la relazione diretta: «un docente dispone di uno o più cassetti»

Per la relazione inversa: «un cassetto è sempre intestato a un solo docente»

n1

1 n

11

Continua �

Cardinalità 1:n

Per quanto riguarda la partecipazione

Docente Cassettodispone

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.

n1

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.

Docente Classeinsegna

Per la relazione diretta: «un docente insegna in una o più classi»

Per la relazione inversa: «in una classe insegnano uno o più docenti»

nn

1 n

n 1

Continua �

Cardinalità n:n

Per quanto riguarda la partecipazione

Docente Classeinsegna

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.

nn

Relazione TOTALE Relazione TOTALE