Realizzare un sito web in Jsp passo dopo passo (III-2 Parte)

Pagina 2 di 2

Progettazionelogica

La progettazione logica prevede innanzitutto laristrutturazione dello schema E-R elaborato nella fase dellaprogettazione concettuale: noi, per questioni di spazio,abbiamo riportato soltanto la versione finale dello schemaE-R, cioè quella ristrutturata, in quanto èpraticamente identica a quella precedente (ad eccezione diuna generalizzazione che è stata eliminata).

Come si può facilmente notare, nello schema ritroviamole entità e le relazioni esattamente come sono statedescritte nel dizionario dei dati. 

 


 

 

Fig. 6 Descrizione del database

 

Traduzione verso il modello relazionale

Siamo sempre  nella fase della progettazione logica dicui, un ulteriore passo fondamentale, è la traduzionedello schema E-R ristrutturato nel modello relazionale, cheriportiamo di seguito:

Vulnerabilità(Codice, Autore, Nome, Info*, UsoTipico, CVE,ServizioInternet, DataPubblicazione*, DataAggiornamento,Pericolosità, TipoVulnerabilità)

Vincolo di integrità referenziale tra l'attributoAutore e l'attributo ID della relazione Autore.

SistemaOperativo(Codice, Nome, Release, Tecnologia, ServicePack*)

Patch(Nome, LinkSito, Dimensione*,Vulnerabilità)

Vincolo di integrità referenziale tra l'attributoVulnerabilità e l'attributo Codice della relazioneVulnerabilità.

Exploit(Nome,Vulnerabilità , Versione*, Dimensione,TipoFile, UsoTipico, DataPubblicazione*, DataAggiornamento)

Vincolo di integrità referenziale tra l'attributoVulnerabilità e l'attributo Codice della relazioneVulnerabilità.

Autore(ID, Nome, LinkSito*, Email*, TipoAutore)

BersagliO(SO, Vulnerabilità )

Vincolo di integrità referenziale tra l'attributoSO e l'attributo Codice della relazione SISTEMAOPERATIVO;

vincolo di integrità referenziale tra l'attributoVulnerabilità e l'attributo Codice della relazioneVulnerabilità.

 

Realizzazione(Exploit, Autore, Vulnerabilità )

Vincolo di integrità referenziale tra l'attributoAutore e l'attributo ID della relazione Autore;

vincolo di integrità referenziale tra l'attributoExploit e l'attributo Nome della relazione EXPLOIT;

vincolo di integrità referenziale tra l'attributoVulnerabilità e l'attributo Vulnerabilitàdella relazione EXPLOIT.

 

 

 

NORMALIZZAZIONE

E' questa l'ultima fase della progettazione delnostro database: l' obiettivo è di dimostrare chelo schema di base di dati relazionale ottenuto verifica lacosiddetta  forma normale, proprietà chene certifica la qualità.

Per gli schemi che non dovessero soddisfare questaproprietà è possibile applicare un procedimentodetto di normalizzazione che permette ditrasformarli in nuovi schemi che garantiscono invece unaforma normale. Nel nostro caso non dovrebbe presentarsiquesta necessità in quanto il modello relazionaleè stato ottenuto con le precise metodologie diprogettazione viste in precedenza che di solito permettono diottenere schemi in forma normale.

Ciò che dobbiamo dimostrare è che ciascunadelle relazioni che abbiamo ottenuto si trova nella forma:

  • BCNF (forma normale di Boyce e Codd), quando per ogni dipendenza funzionale X->Y definita su una relazione r, X contiene una chiave di r.


oppure

  • 3FN (terza forma normale), quando per ogni dipendenza funzionale X->Y definita su una relazione r, X contiene una chiave di r oppure ogni attributo in Y è contenuto in almeno una chiave di r.


Relazione

Dipendenze funzionali

Commento

Vulnerabilità

Codice -> Autore, Nome, Info, UsoTipico, CVE, ServizioInternet, DataPubblicazione, DataAggiornamento, Pericolosità, TipoVulnerabilità

BCNF

Autore

ID -> Nome

ID,Nome -> LinkSito, Email, TipoAutore

BCNF

Patch

 Vulnerabilità  -> Nome

 Nome -> LinkSito, Dimensione

3FN

Exploit

Vulnerabilità -> Nome

Nome, Vulnerabilità -> Versione, Dimensione, TipoFile, UsoTipico, DataPubblicazione, DataAggiornamento

3FN

Sistema Operativo

Codice -> Nome, Release, Tecnologia, ServicePack

BCNF

Bersaglio

Vulnerabilità -> SO

BCNF

Realizzazione

Vulnerabilità -> Exploit, Autore

3FN

 

Come si può notare tutte le nostre relazioni sono inBCNF o al limite in 3FN, quindi non necessitano delprocedimento di normalizzazione. Questo, come ci aspettavamo,verifica la qualità del nostro schema di base di datiche non deve quindi essere ulteriormente decomposto.