# Costruire semplici banche dati

## Introduzione

Per imparare le basi di &kexi;, potresti costruire una semplice banca dati usando le funzionalità più elementari di &kexi;. Per rendere le cose più semplici gli argomenti relativi alla progettazione avanzata di una banca dati non verranno affrontati qui.

Comincia creando una nuova Rubrica vuota.

Ora che hai un nuovo progetto di banca dati vuoto, compi i prossimi passi:

1. Progetta le tabelle della banca dati. Leggi designing-tables.

2. Inserisci i dati nella tabelle. Leggi entering-data-into-tables.

3. Progetta le interrogazioni per la banca dati. Leggi designing-queries.

4. Progetta i moduli. Leggi designing-forms.

5. Usa i moduli per inserire i dati. Leggi entering-data-using-forms.

## Progettare le tabelle della banca dati

Per prima cosa, ci saranno due tabelle aggiunte alla tua banca dati: persone e numeri_telefonici. Sono esattamente le stesse tabelle descritte nel capitolo Banca dati e foglio di calcolo. Puoi trovare un layout per Persone nella sezione Integrità e validità dei dati in questo capitolo.

1. Seleziona Inserisci Tabella dalla barra del menu. Puoi anche utilizzare il pulsante Crea oggetto: tabella nella barra degli strumenti del Navigatore progetto.

2. Apparirà la finestra designer per la tabella. Osservando la parte alta della finestra noterai che &kexi; ti ha proposto un nome generico per la nuova tabella, tipo modello. La progettazione della tabella non viene ancora salvata, così potrai assegnarle un nome più appropriato in seguito. Inoltre, per la stessa ragione, il nome della tabella non è ancora visibile nel Navigatore progetto.

### Finestra Designer tabella

### La finestra Designer tabella è composta dalle seguenti colonne:

- CP - Chiave primaria.

- Descrizione campo - descrizione del campo che sarà visibile durante l'inserimento dei dati.

- Tipo di dati - una casella a scelta multipla che contiene una lista dei tipi di dati e che ti permette di impostare una regola generale per i dati immessi in un dato campo. Ad esempio, quando viene impostato il tipo di dati numero intero per un campo, un utente della banca dati non riuscirà ad inserire lettere in questo campo.

- Commenti - qui puoi inserire qualsiasi informazione utile a comprendere lo scopo del campo. Questo testo addizionale verrà salvato all'interno del progetto della tabella e sarà visibile solamente in modalità progettazione.

Nella finestra Designer tabella ogni riga corrisponde a un singolo campo della tabella. Puoi renderti conto di essere nella modalità design perché il pulsante Passa alla modalità vista design è acceso nella barra degli strumenti principale di &kexi;.

### Progettazione della tabella Persone

1. Fai clic sulla prima riga nella cella della colonna Descrizione campo ed inserisci Nome come descrizione del campo.

   ### Note sui nomi dei campi e sulle descrizioni

   - Ogni campo di una tabella deve avere un nome ed una didascalia, non possono essere vuoti.

   - Il nome del campo è una parola usata dalla banca dati, tipicamente non visibile agli utenti dell'applicazione. I nomi non possono contenere caratteri speciali (nazionali, come ±, ¶, Ü) o degli spazi. I nomi devono contenere solamente lettere romane, numeri e trattini bassi "_". Usa l'ultimo al posto di spazi o trattini.

   - I nomi dei campi devono cominciare con una lettera o un trattino basso "_", mai con un numero.

   - Non importa se usi lettere minuscole o maiuscole. Per &kexi; il nome di banca dati "Persone" è lo stesso di "persone".

   - Le descrizioni dei campi, d'altro canto, ti permettono di inserire qualsiasi lettera e carattere speciale. Verrà mostrata agli utenti dell'applicazione per banche dati.

2. ### In maniera simile, inserisci i seguenti campi nel progetto della tabella:

   - cognome

   - via

   - numero_casa

   - città

3. Tutti i campi precedenti, eccetto numero_casa, sono di tipo testo. Modifica il tipo del campo numero_casa in numero intero. Per fare ciò, fai clic su una cella nella colonna Tipo di dati, riga numero_casa, e fai clic sul pulsante della casella a discesa (puoi anche premere F4 oppure &Alt;Giù. Apparirà la lista dei tipi di dati. Seleziona il tipo Numero intero.

   D'ora in poi il campo numero_casa accetterà solamente dei numeri.

4. Il progetto della tabella Persone è pronto. Fai clic sul pulsante Passa alla vista dati nella barra degli strumenti per completare la progettazione e per passare alla vista dati per la tabella. Questo ti permette di inserire dati nella tabella.

5. Visto che il progetto non è ancora stato salvato nella banca dati, apparirà la finestra di dialogo Salva oggetto con nome. Devi specificare il nome della nuova tabella.

   &kexi; offre un nome generico come Tabella1. Per modificarlo, inserisci Persone nel campo Descrizione e premi il tasto Invio oppure fai clic sul pulsante OK. Il campo Descrizione verrà utilizzato per mostrare la tabella agli utenti finali della banca dati, ⪚ come un modulo. A differenza del nome, la descrizione può contenere qualsiasi carattere inclusi gli spazi ed i caratteri speciali.

   Nota che riempendo il campo Descrizione verrà riempito automaticamente anche il campo Nome. Per tua comodità vale ancora la regola di utilizzare solamente lettere, numeri ed il trattino basso "_". Puoi modificare i contenuti del campo Nomese vuoi.

6. Ti verrà chiesto di accettare l'aggiunta automatica di una chiave primaria alla tabella. Fai clic sul pulsante Aggiungi chiave primaria per continuare.

7. La tabella Persone è stata creata ed aperta nella vista dati. Il suo nome appare nel pannello del Navigatore progetto.

8. Crea la tabella numeri_telefonici, in maniera simile a come hai creato la tabella persone.

9. Crea un campo persona di tipo Numero intero e telefono di tipo Testo. Non usare un tipo numerico qui perché i numeri telefonici possono avere forme e prefissi diversi.

10. Fai clic sul pulsante Passa alla vista datisulla barra degli strumenti ed inserisci la descrizione Telefoni per la tabella. Come per la tabella precedente, permetti a &kexi; di creare automaticamente delle chiavi primarie.

&enteringdataintotables; &querydesigning; &designingforms; &enteringdatausingforms;