Corso intensivo 101
10 Moduli
5 settimane

Progettista di modelli di dati

Clicca per copiare

Creazione di un database utilizzando il designer di modelli di dati


Progettazione del database

È il momento di progettare il proprio database. Per farlo, andare alla scheda Database sul pannello di sinistra.

Data models designer

Modelli di dati

I dati del database sono memorizzati sotto forma di tabelle speciali (modelli). Si può notare che abbiamo già un modello. Fa parte del modulo di autorizzazione ed è incluso di default in ogni progetto. Grazie ad esso, vengono creati nuovi utenti dell'applicazione e gestiti quelli esistenti. Ma non ci soffermeremo ora sul suo studio, bensì creeremo il nostro modello.

Immaginiamo di sviluppare un servizio di mappe. Creiamo un modello che contenga informazioni sui Paesi. Per crearlo, è necessario fare clic con il tasto destro del mouse in un'area vuota del canvas e selezionare Create empty model.

Per creare, è sufficiente specificare il nome del modello. Ci occuperemo della generazione automatica degli endpoint e degli elementi dell'interfaccia utente in altri moduli del corso.

Create new model

Campi del modello

Si noti che subito dopo la creazione, il modello contiene già 4 campi. Si tratta di campi di sistema, la cui presenza semplifica notevolmente la creazione iniziale e il successivo utilizzo del modello.

ID (integer) - Identificatore unico, chiave primaria. Viene creato automaticamente per ogni nuova voce della tabella e serve a garantire che non ci siano duplicati. È grazie all'ID che è possibile identificare in modo univoco un record in una tabella. Il suo valore parte da 1 e aumenta automaticamente di 1 per ogni nuova voce.

CreatedAt (datetime) - L'ora in cui il record è stato creato nella tabella.

UpdatedAt (datetime) - L'ora dell'ultima modifica della voce.

DeletedAt (datetime) - L'ora in cui la voce è stata cancellata. Naturalmente, solo se è stata utilizzata una cancellazione morbida. Cioè, una cancellazione di questo tipo, quando il record è solo contrassegnato come cancellato e filtrato dalle richieste di accesso, ma allo stesso tempo rimane fisicamente nella tabella. Questa è una differenza rispetto alla cancellazione in blocco, che in realtà elimina completamente i dati.

Oltre a quelli di sistema, sarebbe opportuno aggiungere campi personalizzati al modello creato. Supponiamo di voler visualizzare il nome del Paese e una descrizione con informazioni su di esso.

La scelta del tipo di campo non dovrebbe essere un problema: String è adatto per il nome e Text per la descrizione informativa.

Add model field

Inoltre, sono disponibili altri quattro interruttori:

Multiple values ​​(Array) - utilizzare array invece di singole voci.

Not null - il campo specificato non può essere vuoto, deve sempre contenere dati.

Unique - il valore del campo deve essere unico, in questo modello non possono esistere due record i cui valori di questo campo siano uguali.

Index - indica che per questo campo verrà creato un indice speciale per velocizzare la ricerca.

In generale, è giusto spuntare i segni solo se è veramente necessario. Ad esempio, si potrebbero contrassegnare Not null e Unique per i nomi dei Paesi, partendo dal presupposto che non può esistere un Paese senza nome o due Paesi con lo stesso nome. Tuttavia, è bene controllare questo aspetto nella fase di creazione della logica dell'applicazione e non porre restrizioni al database stesso.

Allo stesso modo, si crei una tabella con informazioni sulle città. Pensate a quali campi di dati può contenere e di che tipo.

Relazioni tra modelli di dati

I dati del database non esistono da soli, sotto forma di tabelle sparse. Sono collegati tra loro in un certo modo. La chiave per lo sviluppo di un modello di dati è definire queste relazioni e costruire rapporti.

Per stabilire tali collegamenti, è necessario tracciare una linea con il mouse dal confine di un modello a un altro. Nel nostro esempio, sappiamo con certezza che ogni città si trova in un paese, quindi possiamo creare un collegamento da paese a città.

Data models relations

Esistono 3 tipi diversi di collegamenti:

Uno-a-uno (has one). Ogni record della tabella è mappato su un record della tabella associata (questo vale anche al contrario). Un esempio semplice è quello di una persona e del suo passaporto. Possiamo sempre essere sicuri che questa connessione sia unica. Un passaporto può avere un solo titolare e ogni persona può avere un solo passaporto valido.

Uno-a-molti (has many). Ogni record di una tabella può avere molti record in un'altra tabella. Il nostro database è un esempio simile. Un Paese può avere molte città diverse, ma ogni città può appartenere a un solo Paese. Questa è la connessione che faremo.

Molti-a-molti. Una relazione in cui più record di una tabella possono corrispondere a più record di un'altra. Un esempio semplice è la relazione tra insegnanti e studenti. Ogni insegnante può insegnare a molti studenti, così come ogni studente può imparare da molti insegnanti diversi.

Was this article helpful?
Stai ancora cercando una risposta?