nare.it  

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.
Schema E-R: Scheletro
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.
Schema E-R: Dettaglio Disco
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.
Schema E-R: Dettagli Artista e Redattore
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.
Schema E-R: Dettagli Recensione e Intervista
Figura 4: Dettagli Recensione e Intervista
Integrando i concetti riferendosi allo "schema scheletro", otteniamo lo schema E-R di Figura 5.
Schema E-R: Schema Concettuale
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).