|
PROGETTAZIONE CONCETTUALE
SVILUPPO SCHEMA E-R CONCETTUALE
Sulla base dei requisiti raccolti, procediamo alla realizzazione di uno schema Entità-Relazioni che rappresenti il
dominio reale del problema seguendo una strategia mista: andiamo, quindi, a costruire uno "schema scheletro" che
riassuma i concetti fondamentali dell'applicazione, per poi dettagliare i singoli concetti e utilizzare, quindi, lo stesso
"schema scheletro" per integrare più agevolmente i singoli concetti.
Analizzando i requisiti, possiamo partire riferendoci allo schema scheletro riportato in Figura 1.
Figura 1: Schema Scheletro
Analizziamo dapprima l'entità DISCO. Innanzitutto, nelle specifiche non è indicato
come un disco possa essere univocamente identificato; si evince che il titolo non basta ma che di certo il titolo e i nomi d'arte
degli artisti che realizzano il disco possono identificare il disco stesso; ciò non è utile, però, per
pensare a una identificazione esterna per mezzo della relazione REALIZZAZIONE: infatti,
DISCO partecipa ad essa con molteplicità (1,N) (un disco può essere realizzato
da uno o più artisti). Si può, pertanto, prendere in considerazione un attributo, non indicato nelle specifiche, che
sia un identificatore per l'entità DISCO: introduciamo, quindi, l'attributo
Codice, identificatore per l'entità DISCO.
Occorre poi rappresentare il concetto che un disco contiene dei brani musicali ordinati; ogni brano in un disco, quindi,
sarà caratterizzato dal titolo e da un numero intero che ne indica la posizione nel disco (all'interno di quella che
è detta track-list del disco). Questo concetto può essere rappresentato con l'attributo composto
multivalore Brano, composto dagli attributi Titolo e
Numero; lo schema ottenuto è quello in Figura 2. Si osservi che gli attributi
Foto, Voto Medio e Numero Voti sono opzionali,
il primo in quanto può non esserci una foto del disco, gli altri perché un disco può non essere stato votato
da alcun visitatore; l'attributo Valutazione, infine, può essere derivato da questi ultimi due
attributi mediante la formula Valutazione=Voto Medio*Numero Voti; l'attributo
Valutazione, però, non è opzionale: si assume, infatti, come chiaramente specificato nei
requisiti, che per un disco che non abbia ricevuto alcun voto si assuma una valutazione pari a 0.
Figura 2: Dettagli Disco
Analizziamo ora l'entità ARTISTA; dai requisiti si evince che il nome d'arte dell'artista
lo identifica univocamente; aggiungendo gli attributi all'entità, si ottiene lo schema in Figura 3. Si osservi che gli
attributi Foto e Nazione sono opzionali, mentre l'attributo
Sito è opzionale e multivalore. L'attributo Genere, infine,
non solo è opzionale e multivalore, ma può essere derivato, attraverso la relazione
REALIZZAZIONE, dall'attributo Genere dell'entità
DISCO: rimandiamo alla progettazione logica per una analisi di questo aspetto e per la
decisione di conservare o meno la ridondanza.
Figura 3: Dettagli Artista e Redattore
Riguardo all'entità REDATTORE, basta aggiungere gli attributi per ottenere il semplice
dettaglio di Figura 3; l'attributo E-mail è opzionale (si può non conoscere l'email di un
redattore), mentre si osserva che sono individuabili due identificatori, uno costituito dalla coppia
(Cognome,Nome) e l'altro dall'attributo User-ID: infatti, le User-ID dei
redattori dovranno essere univoche.
Per le relazioni Intervista e Recensione, basta aggiungere
gli attributi, ottenento gli schemi di dettaglio di Figura 4.
Figura 4: Dettagli Recensione e Intervista
Integrando i concetti riferendosi allo "schema scheletro", otteniamo lo schema E-R di Figura 5.
Figura 5: Schema E-R concettuale (clicka sull'immagine per ingrandire)
DOCUMENTAZIONE DELLO SCHEMA E-R CONCETTUALE
DIZIONARIO DEI DATI
Entità
Entità |
Attributi |
Itentificatore |
Descrizione |
Redattore |
Cognome, Nome, Email (0..1), User-ID, Password |
(Cognome,Nome) oppure User-ID |
Un redattore è un individuo responsabile della gestione dei contenuti della webzine; realizza
recensioni di dischi e interviste agli artisti; modifica i contenuti della webzine via Internet, utilizzando un
user-ID univoco e una password per l'autenticazione; un redattore può essere univocamente identificato anche dai
suoi cognome e nome |
Artista |
Nome d'arte, Foto (0..1), Descrizione, Genere (0..N), Sito (0..N), Nazione (0..1) |
Nome d'arte |
Un Artista è un individuo, o un gruppo di individui, caratterizzato da un nome d'arte univoco e
proveniente da una determinata nazione, operante nel campo della musica; un artista può realizzare dischi; un
artista ha una descrizione e può avere una foto; un artista è caratterizzato in base ai generi dei dischi
che ha realizzato; un artista può avere siti web che lo riguardano; un artista può rilasciare interviste
ai redattori della webzine |
Disco |
Codice, Brano {Numero, Titolo} (1..N), Casa Discografica, Genere, Foto (0..1), Anno, Valutazione, Voto Medio (0..1),
Numero Voti (0..1), Titolo |
Codice |
Un disco è una registrazione, avente un titolo e identificata da un codice, contenente uno o più
brani musicali; un disco è realizzato da uno o più artisti; un disco è pubblicato da una casa
discografica in un determinato anno; un disco può essere recensito da un redattore ; un disco è classificato
in base al suo genere ; un disco può avere una foto della copertina; un disco può essere votato dai
visitatori della webzine e quindi può avere un voto medio e un numero di voti ottenuti, dai quali si ricava una
valutazione complessiva del disco |
Relazioni
Relazione |
Attributi |
Entità coinvolte |
Descrizione |
Realizzazione |
Nessuno |
Artista (0,N), Disco (1,N) |
Esprime il concetto che gli artisti realizzano dischi; un disco è realizzato da uno o più artisti; un
artista realizza 0 o più dischi |
Intervista |
Titolo, Data, Testo |
Artista (0,N), Redattore (0,N) |
Esprime il concetto che un artista rilascia interviste ai redattori della webzine; un redattore può occuparsi
di 0 o più interviste; un artista può rilasciare 0 o più interviste; le interviste sono realizzate
in una determinata data e sono caratterizzate da un testo e da un titolo |
Recensione |
Titolo, Data, Testo, Voto |
Disco (0,1), Redattore (0,N) |
Esprime il concetto che un disco può essere recensito da un redattore della webzine; un redattore può
occuparsi di 0 o più recensioni; un disco può avere al più una recensione; le recensioni sono
realizzate in una determinata data e sono caratterizzate da un testo e da un titolo, oltre che da un voto attribuito dal
redattore indicante la sua opinione sul disco recensito |
REGOLE DI DERIVAZIONE
-
RD01 - La valutazione di un disco si ottiene moltiplicando il voto medio per il numero di voti del disco; se
voto medio e numero di voti non sono definiti (il disco non è stato ancora votato da alcun visitatore) la valutazione
è pari a 0.
-
RD02 - I generi che caratterizzano un artista sono i generi dei dischi realizzati dall'artista.
REGOLE DI VINCOLO
-
RV01 - Il voto medio deve essere un numero compreso fra 0 e 10.
-
RV02 - Il numero di un brano presente in un disco deve essere un numero intero strettamente positivo.
-
RV03 - I numeri dei brani di un disco devono essere consecutivi e partire da 1 (ad esempio, immaginando un
disco con 4 brani, i numeri di questi devono essere 1, 2, 3, 4 e non possono essere, ad esempio, 1, 3, 4, 6 oppure 4, 5, 6,7).
-
RV04 - Il voto di una recensione deve essere un numero intero compreso fra 0 e 10.
-
RV05 - Non devono esservi più interviste fatte dal medesimo redattore al medesimo artista nella
medesima data.
QUALITÀ DELLO SCHEMA E-R CONCETTUALE
Un esame dello schema E-R realizzato ci permette di constatarne la qualità; i concetti descrivono completamente le
specifiche in maniera, ci pare, appropriata e corretta, e lo schema appare facilmente leggibile; inoltre, tutti i concetti
coinvolti nelle operazioni sono raggiungibili per mezzo dello schema. Lo schema, peraltro, non è minimale, ma rimandiamo
alla progettazione logica per un attento esame delle ridondanze (che comunque sono state adeguatamente documentate).
|
|