Upload
sesto-bassi
View
221
Download
0
Embed Size (px)
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