Sei sulla pagina 1di 4

Progettazione concettuale

La progettazione concettuale è un argomento che fa parte della famiglia più grande di progettazione di un
sistema informativo. La progettazione segue un percorso in loop (chiamato anche ciclo di progettazione),
che segue le seguenti fasi:
- Pianificazione: si identifica come migliorare l’organizzazione, quali applicazioni aggiungere e quali
dati sono necessari, e si fissano gli obiettivi.
- Sviluppo: le applicazioni e le basi di dati supporto delle app vengono implementate.
- Gestione corrente: utilizziamo quello che abbiamo creato, se funziona si continua, se invece
insorgono problemi ho la necessità di migliorare il sistema e pass alla fase successiva.
- Check up: individuo cosa devo migliorare per rientrare poi nella fase di pianificazione.

Focalizzandoci unicamente nella progettazione di una base di dati, possiamo suddividere le operazioni in
cinque fasi (ognuna indipendente dalle fasi successive, ma non da quelle precedenti):
- Analizzo il dominio applicativo, ovvero il contesto reale a cui applicherò la mia base di dati;
- Raccolta dei requisiti, ovvero raccolgo i dati necessari per supportare le operazioni;
- Progettazione concettuale, ovvero traduco i requisiti del sistema in qualcosa che sia una formale
descrizione di quello che voglio rappresentare. Creo quindi uno schema E/R:
- Progettazione logica, ovvero produco come output di questa fase uno schema logico;
- Progettazione fisica, ovvero produco come output di questa fase un database e il proprio DBMS.

Modello concettuale Entità/Relazione (E/R)


 Entità: viene chiamata entità un concetto rilevante per il dominio. È un concetto con vita
autonoma. Es: studente, docente (nel contesto università).
Rappresentazione:

Nome entità

 Relazione: una relazione è un legame tra più entità (relazione viene intesa quindi come
associazione). Es: iscrizione ad un corso è una relazione che lega l’entità studente con l’entità corso.
Rappresentazione:

Studente Iscrizione Corso

 Proprietà/Attributi: sono dettagli (caratteristiche) relative ad entità o relazioni. Es: l’entità studente
ha come attributi un nome, un cognome, una matricola. Possono essere anche composti (es:
studente legato ad un indirizzo come entità, e l’entità indirizzo ha come attributi la Via, N° civico e
CAP)
Rappresentazione:

Studente Nome

Cognome Matricola
 Cardinalità (numerosità): Esprime un vincolo sul numero di elementi coinvolti in una relazione per
ogni entità. Viene espressa con una minima cardinalità e una massima cardinalità. Entrambi questi
valori hanno dei valori di riferimento generalmente utilizzati: per la minima si assume il valore 0 o
1; per la massima si usa il valore 1 o n. Ipotizzando la situazione in cui uno studente può decidere di
frequentare uno o più corsi, vediamo come la relazione è un sottoinsieme del prodotto cartesiano
tra i due insiemi “Studente” e “Corsi”. La cardinalità viene espressa in questo modo:
Studente frequenta
almeno un corso fino ad
un massimo di N, mentre
il corso può avere da 0
studenti a N studenti.

La cardinalità è associata anche agli attributi:

(1, 1) (1, 1)
1. Rel 1:1 = Reparto Ha Direttore

(0, N) (0, 1)
2. Rel 1:N = Docente
Ins Corso

(1,N) (0, N)
3. Rel N:N (molti a molti) = Studente Fr
Corso
e

Nel primo caso ho un reparto per un direttore e un direttore per un reparto.


Nel secondo caso ho u docente per ogni corso, ma N corsi per ogni docente.
Nel terzo caso entrambe le unità partecipano in modo multiplo.
 Relazioni ricorsive: si parla di relazione ricorsiva
quando un elemento ha una relazione con se
stesso. Es 

 Chiave: sono gli attributi che permettono di identificare il singolo elemento all’interno di una
identità. È rappresentata da un pallino nero e può essere anche composta, ovvero un insieme di
attributi che creano la chiave. Es:

 Entità deboli: sono entità che non si possono definire autonomamente se non in relazione alle
entità a cui sono collegate. Es:

Camera è una entità debole, il numero per essere considerato chiave deve essere legato
inevitabilmente all’albergo e al suo codice. Quando ho un’entità debole ho sempre una cardinalità
(1, 1).

 Generalizzazione: descrive una dipendenza tra entità in cui un’entità può essere una
specializzazione o una derivazione di un’altra entità. Es:

Entità figlie (studente e docente) ereditano gli


attributi dell’entità genitore (persona). Ciò significa
che docente e studente prendono gli attributi CF,
Nome ed Età ereditati dall’entità persona. Inoltre,
entrambi sono legati all’entità “A” poiché lo è anche
l’entità genitore.

Tipi di generalizzazione:
- Generalizzazione totale: ogni elemento genitore è almeno un’occorrenza di una entità figlia
(nell’esempio precedente una persona deve essere sempre o studente o docente). rappr.
- Generalizzazione parziale: non tutti gli elementi dell’entità genitore si devono per forza tradurre
nelle entità figlie (nell’esempio, una persona può essere studente, docente oppure altro).  rappr.
- Generalizzazione esclusiva: un’occorrenza “A” è al più un’occorrenza dei figli (persona può essere
studente o docente, non entrambe).
Es:

1. Libro può avere un autore? Falso, la cardinalità è (1, N) quindi può avere anche N autori.
2. Autore può scrivere libri? Vero, la cardinalità (0, N) indica che un autore può avere scritto anche
zero libri.
3. Libro deve avere casa editrice? Vero, la cardinalità (1,1) indica che deve avere per forza una casa
editrice.
4. 4. Libro può avere argomenti? Falso, la cardinalità (1, N) indica che deve avere almeno un
argomento.

Potrebbero piacerti anche