Next: L'approccio World Wide Web
Up: Università degli Studi di
Previous: Scopo del progetto
  Contents
La struttura di archiviazione
La progettazione di una struttura di classificazione è uno dei primi passi
per fornire una organizzazione efficiente e facilmente gestibile.
In passato [Bec95] sono state studiate varie forme di
indicizzazione, ma uno standard che tuttora è in uso e che si è rivelato
adatto agli scopi è da considerasi l'LSM-Templates [KW94]
(Linux Software Map).
Questa calssificazione è stata originariamente sviluppata per indicizzare
archivi sul sito Internet SunSITE2,
un archivio di programmi
per il sistema operativo Linux. È simile al formato
Internet Mail Headers [Cro92], in cui abbiamo una coppia
chiave-valore dove il valore può svilupparsi su più righe.
Tale schema si presenta con dei modelli strutturati (templates) che
contengono 12 attributi:
- Title: il nome dell'archivio
- Version: viene indicata la versione (o la data se il documento non ha
versione)
- Entered-date: la data in cui è stato donato l'archivio
- Description: una descrizione dettagliata del programma
- Keywords: una lista di parole chiavi sotto cui classificare l'oggetto
- Author: l'autore originale del software
- Maintained-by: colui che attualmente si occupa dell'assistenza del software
- Primary-site: il sito Internet principale dove è disponibile la risorsa
- Alternate-site: un sito Internet da utilizzare se il principale non è
disponibile
- Original-site: il sito Internet originale da cui è stato prelevato il file
- Platforms: caratteristiche necessarie per funzionamente dell'applicativo
- Copying-policy: politica di ditribuzione dell'archivio (GPL, Shareware,
Freeware, etc...)
Purtroppo di rado si può trovare un utente disposto a classificare in
maniera meticolosa gli archivi che inserisce nel sito ftp. Come conseguenza
sono stati resi obbligatori alcuni campi, quali Title,
Version, Entered-date, Description, che
non possono mancare pena la rimozione del software caricato.
Questo insieme di attributi non è però sufficiente a fornire una traduzione uno
a uno in un sistema relazione (DBMS). Non è infatti pensabile
implementare tale schema in una sola grande tabella.
Per questa ragione ho deciso di introdurre degli attributi addizionali
che consentono di creare delle strutture tabellari più maneggevoli.
Inoltre possono essere effettuate delle query più mirate che forniscono
dei risultati di qualità migliore.
Seguendo l'esempio della RFC-822, i campi che non appartengono allo standard
de facto LSM, iniziano con il prefisso X-:
- X-Filename: è il nome del file con cui verrà memorizzato
l'archivio nel sito
- X-Os: rappresenta il sistema operativo per cui è destinato
l'applicativo (scelto da una rosa di voci modificabile dall'amministratore)
- X-Directory: il percorso dove il file andrà a risiedere.
Avendo a disposizione questi attributi (e pochi altri, vedi 6.1)
si può facilmente costruire uno schema E-R
che permette di relazionare gli archivi aventi un certo nome
e destinati ad un particolare sistema operativo con un
percorso all'interno del sito. Risulta così univoca la
ricerca di risorse e si ha la possibilità di visualizzare tutti i dettagli
inseriti.
Formalmente si tratta di definire i seguenti schemi fondamentali:
- lsm-mandatory(X-Filename, X-Os, X-Directory, Title, Version,
Entered-date, Description)
- primary-site(X-Filename, X-Os, X-Site, X-Size, X-Unit,
X-Basedirectory, X-Check)
In questo modo, definendo come chiave esterna (foreign key)
dell'entità primary-site la coppia (X-Filename, X-Os),
abbiamo che l'archivio risulta determinato con tutti suoi dati
caratteristici.
Considerando gli attributi delle due tabelle come gli unici dati obbligatori
per la classificazione dell'archivio e osservando che gli attributi
Entered-date, X-Size, X-Unit possono essere determinati
direttamente dal file caricato, si può sperare che l'utente compili
abbastanza volentieri un piccolo questionario.
Next: L'approccio World Wide Web
Up: Università degli Studi di
Previous: Scopo del progetto
  Contents
Mirko Manea
2000-05-07