BASI DI DATI e WEB a cura di Gianluca Di Tomassi

CAP 5. PROGETTAZIONE LOGICA DI IPERTESTO: SCHEMA ADM

Traduzione dallo schema NCM allo schema ADM

Ristrutturazione dello schema ADM

Figura 5.1 Schema traduzione da NCM ad ADM

Figura 5.2 Schema ADM ristrutturato

Figura 5.3 Schema ADM proposto

Vincoli dello schema ADM ( LINK CONSTRAINTS )

In questo paragrafo viene affrontata la progettazione logica dell'ipertesto, che ha come obiettivo quello di produrre uno schema ADM (Araneus Data Model) per la rappresentazione dei dati.

La caratteristica fondamentale di uno schema ADM è lo schema di pagina (page scheme): esso descrive un insieme di pagine WEB con caratteristiche comuni: un’istanza di un dato page scheme è una pagina WEB.

Per raggiungere lo schema finale procederemo in primo luogo con una traduzione dello schema NCM (navigation conceptual model) in uno schema ADM, ed in seguito con una eventuale ristrutturazione di questo al fine di ottenere una rappresentazione migliore e più logica dei dati dal punto di vista delle pagine WEB.

 

5.1 Traduzione dallo schema NCM allo schema ADM

La traduzione si è svolta operando i seguenti passi :

  • Si è deciso di tradurre le macroentitá piú ricche di informazioni con una pagina per ogni istanza, mentre quelle per cui si potevano raggruppare le varie istanze su un'unica pagina sono state tradotte con una pagina unica.

    Di conseguenza per le entitá Progetto, Finanziamento, Materiale_Scaricabile, Doc_SW, Esempio si è deciso di utilizzare una pagina per ogni istanza. Diversamente per la macroentitá Pubblicazioni abbiamo rappresentato tutte le istanze su un'unica pagina come tuple di una lista.

  • Tutte le relazioni con cardinalità maggiore di uno sono state tradotte con una lista avente come attributi la chiave descrittiva della macroentità d’arrivo e la sua corrispondente page-scheme.Diversamente le relazioni con cardinalità al piú uno sono state tradotte con un link diretto verso la page-scheme della macroentità d’arrivo
  • Il nodo unione e stato convertito nella corrispondente unione eterogenea dell’ADM.
  • [Torna ad inizio pagina]

     

    5.2 Ristrutturazione dello schema ADM

    Dopo una prima traduzione ci si è accorti della difficoltà di navigazione nello schema ADM creato , dovuta all’eccessiva corposità di alcuni page_scheme. Pertanto si sono decise le seguenti modifiche.

    Il passo successivo è stato quello di sostituire il nodo unione con la pagina Risultati (una per progetto), in cui sono presenti il nome del Progetto, la lista delle Documentazioni Software, quella del materiale Scaricabile, un link alle pubblicazioni (le quali sono state divise in pagine in cui ognuna contiene la lista delle pubblicazioni relative ad un solo progetto).

    Inoltre è presente un link al finanziamento ed uno al progetto relativi alla pagina considerata.

    Figura 5.1 Schema traduzione da NCM ad ADM

     

    Figura 5.2 Schema ADM ristrutturato

     

    Figura 5.3 Schema ADM proposto

    [Torna ad inizio pagina]

     

    5.3 Vincoli dello schema ADM ( LINK CONSTRAINTS )

    PAGINA_PROGETTO.ListaCollaborazioni.NomeProgetto=PAGINA_PROGETTO.ListaCollaborazioni.Nome

    PAGINA_PROGETTO.ListaCoordinatori.Nome=PAGINA_PERSONA.Nome

    PAGINA_PROGETTO.ListaCoordinatori.Cognome= PAGINA_PERSONA.Cognome

    PAGINA_PROGETTO.ListaPartecipanti.Nome= PAGINA_PERSONA.Nome

    PAGINA_PROGETTO.ListaPartecipanti.Cognome= PAGINA_PERSONA.Cognome

    PAGINA_PROGETTO.ListaRisultati.Codice=PAGINA_PUBBLICAZIONI.ListaPubblicazioni.Codice

    PAGINA_PROGETTO.ListaRisultati.Titolo=PAGINA_PUBBLICAZIONI.ListaPubblicazioni.Titolo

    PAGINA_PROGETTO.ListaRisultati.Codice=PAGINA_MATERIALE_SCARICABILE.Codice

    PAGINA_PROGETTO.ListaRisultati.Titolo=PAGINA_MATERIALE_SCARICABILE.Titolo

    PAGINA_PROGETTO.ListaRisultati.Codice=PAGINA_DOC._SW.Codice

    PAGINA_PROGETTO.ListaRisultati.Titolo=PAGINA_DOC._SW.Titolo

    PAGINA_PROGETTO.ListaFinanziamenti.Nome=PAGINA_FINANZIAMENTO.Nome

    PAGINA_PROGETTO.ListaFinanziamenti.Data=PAGINA_FINANZIAMENTO.Data

    PAGINA_PROGETTO.ListaEsempi.Titolo=PAGINA_ESEMPIO.Titolo

     

    PAGINA_FINANZIAMENTO.ListaRisultati.Codice=PAGINA_PUBBLICAZIONI.ListaPubblicazioni.Codice

    PAGINA_ FINANZIAMENTO.ListaRisultati.Titolo=PAGINA_PUBBLICAZIONI.ListaPubblicazioni.Titolo

    PAGINA_ FINANZIAMENTO.ListaRisultati.Codice=PAGINA_MATERIALE_SCARICABILE.Codice

    PAGINA_ FINANZIAMENTO.ListaRisultati.Titolo=PAGINA_MATERIALE_SCARICABILE.Titolo

    PAGINA_ FINANZIAMENTO.ListaRisultati.Codice=PAGINA_DOC._SW.Codice

    PAGINA_ FINANZIAMENTO.ListaRisultati.Titolo=PAGINA_DOC._SW.Titolo

    PAGINA_ FINANZIAMENTO.ListaPersoneCoinvolte.Nome=PAGINA_PERSONA.Nome

    PAGINA_ FINANZIAMENTO.ListaPersoneCoinvolte.Cognome=PAGINA_PERSONA.Cognome

    PAGINA_ FINANZIAMENTO.ListaProgettiFinanziati.Nome=PAGINA_PROGETTO.Nome

     

    PAGINA_PUBBLICAZIONI.ListaPubblicazioni.ListaAutori.Nome=PAGINA_PERSONA.Nome

    PAGINA_PUBBLICAZIONI.ListaPubblicazioni.ListaAutori.Cognome=PAGINA_PERSONA.Cognome

    PAGINA_PUBBLICAZIONI.ListaPubblicazioni.Progetto_Correlato=PAGINA_PROGETTO.Nome

    PAGINA_PUBBLICAZIONI.ListaPubblicazioni.ListaFinanziamenti.Nome=PAGINA_FINANZIAMENTO.Nome

    PAGINA_PUBBLICAZIONI.ListaPubblicazioni.ListaFinanziamenti.Data=PAGINA_FINANZIAMENTO.Data

     

    PAGINA_MATERIALE_SCARICABILE.Progetto_correlato = PAGINA_PROGETTO.Nome

    PAGINA_MATERIALE_SCARICABILE.ListaFinanziamenti.Nome=PAGINA_FINANZIAMENTO.Nome

    PAGINA_MATERIALE_SCARICABILE.ListaFinanziamenti.Data=PAGINA_FINANZIAMENTO.Data

     

    PAGINA_DOC_SW.Progetto_correlato.Progetto=PAGINA_PROGETTO.Nome

    PAGINA_DOC_SW.ListaFinanziamenti.Nome=PAGINA_FINANZIAMENTO.Nome

    PAGINA_DOC_SW.ListaFinanziamenti.Data=PAGINA_FINANZIAMENTO.Data

     

    PAGINA_PERSONA.ListaPartecipProg.NomeProgetto=PAGINA_PROGETTO.Nome

    PAGINA_PERSONA.ListaFinanziamenti.Nome=PAGINA_FINANZIAMENTO.Nome

    PAGINA_PERSONA.ListaFinanziamenti.Data=PAGINA_FINANZIAMENTO.Data

    PAGINA_PERSONA.ListaPubblicazioni.Codice=PAGINA_PUBBLICAZIONI.ListaPubblicazioni.Codice

    PAGINA_PERSONA.ListaPubblicazioni.Titolo=PAGINA_PUBBLICAZIONI.ListaPubblicazioni.Titolo

     

    INDICE