Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei...

Preview:

Citation preview

Progettazione Progettazione concettualeconcettuale

A. FerrariA. Ferrari

Le fasiLe fasi

ObiettivoObiettivoLa “progettazione concettuale” ha La “progettazione concettuale” ha l’obiettivo di riorganizzare tutti gli l’obiettivo di riorganizzare tutti gli elementi risultanti dalla fase di elementi risultanti dalla fase di “definizione dei requisiti” per produrre “definizione dei requisiti” per produrre un un modello astratto della base di datimodello astratto della base di dati..

Il modello Il modello concettualeconcettuale

Il modello concettuale è un documento Il modello concettuale è un documento ufficialeufficiale

di riferimento per i committentidi riferimento per i committenti

di comunicazione verso i progettisti della di comunicazione verso i progettisti della fase successiva di progettazione logica.fase successiva di progettazione logica.

LinguaggiLinguaggiPer realizzare il modello concettuale Per realizzare il modello concettuale sono utilizzati vari linguaggi, per lo più sono utilizzati vari linguaggi, per lo più di natura graficadi natura grafica

UML (Unified Modeling Language)UML (Unified Modeling Language)

Diagrammi E/R Diagrammi E/R (Entity Relationship) (Entità Associazioni)(Entity Relationship) (Entità Associazioni)

Diagrammi E/RDiagrammi E/R1976 Peter P. Chen.1976 Peter P. Chen.

Modello grafico per descrizione dei dati Modello grafico per descrizione dei dati e delle loro relazioni.e delle loro relazioni.

Modello concettuale indipendente dalla Modello concettuale indipendente dalla realizzazione.realizzazione.

Gli elementi del Gli elementi del diagrammadiagramma

EntitàEntitàRappresentano classi di oggetti (fatti, cose, Rappresentano classi di oggetti (fatti, cose, persone, ...) che hanno proprietà comuni ed persone, ...) che hanno proprietà comuni ed esistenza autonoma ai fini dell'applicazione di esistenza autonoma ai fini dell'applicazione di interesseinteresse

AssociazioniAssociazioniLe associazioni (dette anche relazioni) Le associazioni (dette anche relazioni) rappresentano un legame tra due o più entitàrappresentano un legame tra due o più entità

AttributiAttributiLe entità e le associazioni possono essere Le entità e le associazioni possono essere descritte usando una serie di attributi. Tutti gli descritte usando una serie di attributi. Tutti gli oggetti della stessa classe entità (associazione) oggetti della stessa classe entità (associazione) hanno gli stessi attributihanno gli stessi attributi

EntitàEntitàLe entità corrispondono a classi di Le entità corrispondono a classi di oggetti del mondo reale e vengono oggetti del mondo reale e vengono rappresentate graficamente con un rappresentate graficamente con un riquadro che contiene il nome.riquadro che contiene il nome.

In uno schema, ogni entità ha un nome In uno schema, ogni entità ha un nome che la identifica univocamente.che la identifica univocamente.

<nome entità>

Studente

AttributiAttributiProprietà elementari Proprietà elementari delle entità:delle entità:

NomeNomeFormato (tipo di dato)Formato (tipo di dato)DimensioneDimensioneValoreValoreOpzionalità Opzionalità (obbligatorio/facoltativ(obbligatorio/facoltativo)o)

La scelta degli attributi La scelta degli attributi riflette il livello di riflette il livello di dettaglio con il quale dettaglio con il quale vogliamo rappresentare vogliamo rappresentare le informazioni sulle le informazioni sulle entità e sulle entità e sulle associazioniassociazioni

<attributo 1>

<attributo 2>

<attributo 3>

<nome entità>

Nome

ClasseStudente

Attributi compostiAttributi compostiGli attributi composti o aggregati sono Gli attributi composti o aggregati sono costituiti dall’aggregazione di altri costituiti dall’aggregazione di altri attributi.attributi.

Esempio:Esempio:Dati anagraficiDati anagrafici

Indirizzo Indirizzo

Attributi multipliAttributi multipliElenco di lunghezza variabili di attributi Elenco di lunghezza variabili di attributi dello stesso tipo.dello stesso tipo.

Esempio:Esempio:Sport praticatiSport praticati

Voti ottenutiVoti ottenuti

ChiaveChiaveInsieme di attributi che identificano in Insieme di attributi che identificano in modo univoco un’entitàmodo univoco un’entità

Possono esistere più chiavi.Possono esistere più chiavi.Esiste sempre almeno una chiaveEsiste sempre almeno una chiave(al limite costituita da tutti gli attributi).(al limite costituita da tutti gli attributi).È opportuno scegliere come chiave un È opportuno scegliere come chiave un sottoinsieme il più ridotto possibile degli sottoinsieme il più ridotto possibile degli attributi.attributi.Possono esistere chiavi artificiali.Possono esistere chiavi artificiali.

Gli attributi chiave vengono Gli attributi chiave vengono rappresentati sottolineatirappresentati sottolineati

AssociazioniAssociazioniL’associazione (relationship) è un legame L’associazione (relationship) è un legame fra due entitàfra due entità

Un’associazione fra due entità ha due Un’associazione fra due entità ha due versiversi

Normalmente si utilizzano sostantivi per Normalmente si utilizzano sostantivi per le entità e verbi per le associazionile entità e verbi per le associazioni

Viene rappresentata graficamente da un Viene rappresentata graficamente da un rombo contenente il nome rombo contenente il nome dell'associazionedell'associazione

Associazione: Associazione: esempioesempio

Associazioni Associazioni binariebinarie

<associazione>

<entità 1><entità 2>

Associazioni Associazioni binarie esempiobinarie esempio

Appartiene ClasseStudente

Associazioni Associazioni multiplemultiple

<associazione>

<entità 1><entità 2>

<entità 1>

Associazioni Associazioni multiplemultipleesempioesempio

Fa lezione

ClasseDocente

Aula

Associazioni Associazioni unarieunarie

<associazione>

<entità>

Associazioni Associazioni unarieunarie

esempioesempio

E’ genitore Persona

Più associazioni Più associazioni fra entitàfra entità

Risiede

CittàPersona

E’ nata

Associazioni 1:1Associazioni 1:1Una istanza dell’entità A corrisponde a Una istanza dell’entità A corrisponde a una sola istanza dell’entità B e una sola istanza dell’entità B e viceversa.viceversa.

Possiede TastieraComputer1 1

Associazioni 1:nAssociazioni 1:nUno a moltiUno a molti

Una istanza dell’entità A corrisponde a Una istanza dell’entità A corrisponde a più istanze dell’entità B e una istanza più istanze dell’entità B e una istanza dell’entità B corrisponde a una sola dell’entità B corrisponde a una sola istanza dell’entità A .istanza dell’entità A .

Possiede DiscoFissoComputer1 n

Associazioni n:nAssociazioni n:nMolti a moltiMolti a molti

Una istanza dell’entità A corrisponde a Una istanza dell’entità A corrisponde a più istanze dell’entità B e una istanza più istanze dell’entità B e una istanza dell’entità B corrisponde a più istanze dell’entità B corrisponde a più istanze dell’entità A .dell’entità A .

StampaSu StampanteDiRete

Computern n

Totale/ParzialeTotale/ParzialeTotale se ogni elemento fa parte Totale se ogni elemento fa parte dell’associazionedell’associazione

Linea continuaLinea continua

Parziale se alcuni elementi non ne Parziale se alcuni elementi non ne fanno partefanno parte

Linea tratteggiataLinea tratteggiata

Possiede MonitorComputer

Regole di lettura Regole di lettura (1)(1)Possiede TastieraComputer

1 1

Un computer possiede un monitor, un monitor è collegato a un computer

Possiede TastieraComputer1 1

Un computer può possedere un monitor, un monitor è collegato a un computer

Regole di lettura Regole di lettura (2)(2)Possiede DiscoFissoComputer

1 n

Un computer possiede uno o più dischi fissi, un disco è collegato a un computer

Possiede DiscoFissoComputer1 n

Un computer può possedere uno o più dischi fissi, un disco è collegato a un computer

Regole di lettura Regole di lettura (3)(3)

Stampa StampanteDiRete

Computern n

Un computer stampa su una o più stampanti, una stampante riceve stampeda uno o più computer

Stampa StampanteDiRete

Computern n

Un computer può stampare su una o più stampanti, una stampante riceve stampeda uno o più computer

esempio erratoesempio errato

Stampa StampanteDiRete

Computer1 n

Un computer può stampare su una o più stampanti di rete, una stampante di rete riceve stampe da un computer (uno solo!)

La lettura dello schema evidenzia l’errore di progettazione

Gerarchie ISAGerarchie ISAAstrazione per Astrazione per generalizzazionegeneralizzazione

ISA (is a) (è un)ISA (is a) (è un)

Nell’esempio un Mac Nell’esempio un Mac è un Computerè un Computer

Computer

PC Mac

Vincoli d’integritàVincoli d’integritàAsserzioni che devono essere soddisfatte.Asserzioni che devono essere soddisfatte.

Vincoli impliciti (imposti dalla struttura Vincoli impliciti (imposti dalla struttura dei dati):dei dati):

Univocità di chiave primariaUnivocità di chiave primaria

Vincoli sulla totalità delle associazioniVincoli sulla totalità delle associazioni

Vincoli espliciti:Vincoli espliciti:V1: 0<Età<120V1: 0<Età<120

V2: anno(Dipendente.DataAssunzione -V2: anno(Dipendente.DataAssunzione -Dipendente.DataNascita)>16Dipendente.DataNascita)>16

Recommended