It:Progettare il database "sulla carta"

From NeoWiki

(Difference between revisions)
Jump to: navigation, search

Valterb (Talk | contribs)
(translation started)
Next diff →

Revision as of 15:53, 6 August 2007

Questo articolo fa parte della serie di articoli Verso Base e Ritorno.

Prima di iniziare a creare un nuovo documento di Base in NeoOffice, è importante pensare attentamente a quale tipo di dati si vorranno conservare al suo interno e qual è il modo al quale vi accederai. Progettare il tuo database sulla carta all'inizio ti farà risparmiare ore di frustrazione e di ricostruzione dopo.

Contents

Prime Domande

Inizia a progettare il tuo database facendoti queste domande:

  • Che tipi di dati ho bisogno di immagazzinare?
Per un diario di un appassionato di ornitologia i dati di cui ci sarà bisogno sono i nomi degli uccelli, le date di avvistamento, le posizioni di avvistamento, le informazioni relative al tipo di escursione o alle condizioni atmosferiche, ecc.
  • Cosa voglio fare con i dati? Che tipo di Rapporto voglio essere in grado di generare?
Per un diario di ornitologia, potremmo voler conoscere:
i dati relativi ad una particolare escursione (p.e. quali tipi di uccelli ho visto al Lago di Massaciuccoli il 1° maggio 2007?);
la lista di tutti gli uccelli visti in un particolare posto indipendentemente dalla data (p.e. tutti gli uccelli visti presso il Lago di Massaciuccoli);
la lista di tutti gli uccelli che si sono visti indipendentemente dal luogo (quali sono le specie viste almeno una volta);
la lista degli uccelli visti in un certo posto in determinate condizioni atmosferiche.
  • Come dovranno essere raggruppati i dati?
Un semplice database lineare (lcome, per esempio, i database prodotti con ClarisWorks/Appleworks) ti permette solo di lavorare con un tabella o un gruppo di dati. Questo limita i tipi di dati che possono essere archiviati ed il modo di farli interagire. I database relazionali come Base (e File Maker Pro e Helix RADE per l'ambiente Classic), ti permette di lavorare con tabelle di dati indipendenti che possono essere messe in relazionein una grande varietà di modi.

Immaginare come raggruppare i dati o di quali tabelle abbiamo bisogno è essenziale. Rifletti attentamente su quali dati sono collegati strettamente e quali dati hanno bisogno di essere indipendenti da altri gruppi di dati. In un semplice database per archiviare della musica, per esempio, potresti volere tre gruppi: Album (nome, data, ecc.), Canzoni e Artisti. Questi potrebbero essere separati perché ogni Album contiene più di una Canzone, ed un Artista (o un Gruppo) produce più di un Album.

Per il diario di un ornitologo il modo più naturale è probabilmente avere questi gruppi:
Uccelli (un record per ogni specie)
Escursioni (un record per ogni escursione)
Posti (un record per ogni posto)
Avvistamenti (un record per ogni avvistamento di uccelli)


Progettare le tabelle ed i campi

Una volta che avrai pensato a queste domande allora sarai pronto ad iniziare a progettare alle tabelle ed ai campi di cui hai bisogno. Le tabelle servono almeno a due scopi differenti:

  1. per immagazzinare i dati essenziali allo scopo del tuo database;
  2. per fare in modo che la coerenza dei dati immessi sia facilitata.

Per lo scopo di questo articolo ho deciso di dividere le tabelle in due catagorie: "Tabelle Essenziali", quelle tabelle che contengono dati essenziali per lo scopo del database, e "Tabelle Convenienti", quelle tabelle la cui esistenza aiuta nell'immissione dei dati. Questi termini sono di mia invenzione, quindi puoi usare i termini che più di aggradano.

Progettare le Tabelle Essenziali

Fai un elenco di ogni Tabella Essenziale della quale hai bisogno. Includi i nomi di tutti i campi che devono essere inclusi in ogni tabella. Assicurati di includere una "Chiave Primaria" in ogni tabella. Le Chiavi Primarie sono campi il cui contenuto è unico per ogni record. Molto frequentemente la Chiave Primaria è un numero intero auto-generato da Base. Ma, a volte, può avere senso che la Chiave Primaria sia qualcos'altro. Per ogni campo devi decidere di quale tipo di dato hai bisogno (testo, data, numero, si/no, ecc.).

Una volta che hai il tuo elenco iniziale decidi come le tabelle sono relazionate una con l'altra: quali sono i campi in comune tra le tabelle?

Quello qui sotto è l'elenco delle tabelle essenziali per il diario dell'ornitologo:

Tabella Uccelli

Ho usato la lista AOU disponibile come file xls prelevata dal sito web della American Ornithologists' Union's (naturalmente è in inglese). I campi sono definiti dall'intestazione delle colonne. Se volessi un elenco in italiano potresti dare un'acchiata a [www.parks.it/parco.po.to/XLS/Check-listPoTO.xls questo].
Ho aggiunto un campo/colonna ID column/Field per usarlo come Chiave Primaria.

(Per maggiori informazioni sull'uso di un foglio elettronico come base per una tabella, per favore consulta l'articolo Creare una tabella a partire da un foglio elettronico, per ora ancora in inglese).

Tabella Escursioni

IDescursione
Data
DataPartenza
DataRitorno
Posto (in relazione con la tabella Posti)
CondizioniMetereologiche
Vento
Temp (come testo)
Partecipanti
Commenti

Tabella Avvistamenti

IDavvistamento
NomeUccello (in relazione con la tabella Uccelli)
IDescursione (in relazione con la Tabella Escursioni)
Maschio (Si/No)
Femmmina (Si/No)
Piccoli (Si/No)
Commenti (comportamento degli uccelli, ecc.)

{Nota: se vuoi tenere sotto controllo anche l'avvistamento di una famiglia degli uccelli, aggiugni un campo si/no per ogni componente della famiglia)

Tabella Posto

Posto (in relazione con la tabella escursioni)
Comune
Provincia
Stato
Tipo_di_terreno
Tipo_di_acqua

Note that there is no direct relationship between the Field Trips Table and the Birds Table nor is there a direct relationship between the Locations Table and the Sightings Table or the Locations Table and Birds Table. But these tables can be related together in Queries, as long as the Query includes third table that does relate to the 'unrelated' tables. For example, while the Sightings Table and the Locations Table do not have a direct connection, the Field Trips table can act as an intermediary, as it relates to both of these tables.

Planning Convenience Tables

I am calling "Convenience Tables" those tables whose purpose is primarily to make data entry easier and more consistent. Once forms have been created, these tables can be used to create Combo Boxes or List Boxes, allowing users to choose, for example, the terrian type from a pre-defined list.

For the birder's journal, the following "convenience tables" are planned. In this example, the tables contain only one field (plus, potentially, a primary key):

Weather
Wind
Terrain Types
States/Provinces
Water Types
Counties/Provinces
Country


Creating the Database Document

It is finally time to create a new database document.

Under the File menu, choose New and then Database
In the Database Wizard window, make sure the Create a new database radio button is selected.
Click Next
Make sure that the Yes, register the database for me and Open the Database for Editing settings are selected.
Click Finish

The Next Steps

You are now ready to begin creating your tables. Table creation is covered in the following articles:

Creating a Table From a Spreadsheet
Creating a Table in Design View

Be sure to keep your notes about the design of your database. More decisions will need to be made later. It will be easier to make those decisions if you can refer to this list of tables and fields.

Related External Links


Questo articolo in altre lingue: English Français
Personal tools