Database
 sql >> Database >  >> RDS >> Database

Progettazione di database con Vertabelo

La progettazione del database va ben oltre il semplice disegno di linee e riquadri. In questo articolo, rifletto sul processo di modellazione dei dati con un'enfasi sulle migliori pratiche, nonché su come utilizzare gli strumenti per implementare tali migliori pratiche per creare una buona progettazione di database.

La progettazione del database è il processo di produzione di un modello dettagliato di un database. L'inizio della modellazione del database implica l'acquisizione di una conoscenza dell'area di business e delle funzionalità in fase di sviluppo.

Se non sei sicuro dei passaggi coinvolti nel processo di progettazione del database, ti rimando a questa descrizione dei passaggi di progettazione del database.

Inizia a fare la modella:parla con l'azienda

Questo è un principio chiave nella tecnologia dell'informazione. Stiamo risolvendo un problema aziendale dal lato dei dati in modo che i dati richiesti siano disponibili. Dobbiamo parlare con gli uomini d'affari per capire le loro esigenze.

Dobbiamo porre domande come:

  • "Qual è il dominio?"
  • "Quali sono le sfide in questo dominio?"
  • "Quali sono i problemi da risolvere?"
  • "Quali informazioni dobbiamo conservare?"

Parlando con l'azienda, possiamo considerare compromessi che potrebbero influenzare il modello di database. Mettiamo anche le basi per la modellazione.

Usiamo un esempio concreto. Prendi un'applicazione di contabilità per un'azienda:dovresti modellare clienti, fornitori, fatture, pagamenti, conti, saldi, ecc. Devi conoscere questi concetti e la contabilità. Puoi farlo solo parlando agli uomini d'affari.

Mettere in ordine i concetti

Questo lavoro iniziale con il business ti condurrà a un modello di quali "concetti" devono essere archiviati nel database (leggi questa spiegazione dei diversi livelli di modelli). Dal concetto di ciò che dobbiamo memorizzare nel database, ovvero il nostro modello concettuale, passiamo a uno logico. Il modello logico documenta i concetti e le regole di business su cui sovrapponiamo i dettagli (potrebbe interessarti leggere questa discussione sull'obsolescenza della modellazione logica dei dati).

Se non sei sicuro dei diversi tipi di modelli di dati, consulta il nostro articolo su come implementare modelli di dati concettuali, logici e fisici con Vertabelo.

Il modello dei dati logici aggiunge ulteriori informazioni ai concetti che abbiamo già documentato. Descrive come sono strutturati i dati e come le entità sono correlate tra loro. Inoltre, include informazioni sui tipi di dati che stiamo gestendo.

In Vertabelo, possiamo creare un modello di dati logici attraverso un diagramma di relazione entità logica (ERD). Controlla i dettagli su come eseguire la modellazione logica dei dati con Vertabelo.

Ecco un modello di dati logico semplice e non ancora completo di clienti, fornitori, fatture, pagamenti e conti.

Un altro vantaggio che trovo lavorando con Vertabelo è che non devo preoccuparmi troppo della notazione esatta. Lo strumento di modellazione ti consente di preoccuparti della progettazione e non delle specifiche delle notazioni e dei simboli del diagramma entità-relazione (ERD), che, ovviamente, dovrebbero essere l'ultima delle tue preoccupazioni durante il processo di progettazione del database.

Diventiamo fisici

Per lavorare effettivamente con il database, dobbiamo passare dal nostro modello logico a uno fisico. Lo strumento Vertabelo ci consente di generare facilmente un modello di dati fisici da uno logico. Per prima cosa crei un modello di dati logici, quindi puoi "auto-magicamente " generane uno fisico selezionando il modello logico e facendo clic su "Genera modello dati fisico" (consulta questa guida dettagliata per i passaggi esatti).

Ovviamente, il modello di dati fisici generato sarà simile al modello logico; tuttavia, i tipi di dati logici verranno tradotti in tipi di dati consentiti per il particolare sistema di gestione del database (DBMS) per il quale si genera il modello fisico. Il modello fisico indicherà anche quali attributi sono chiavi esterne tra le tabelle. Potresti anche voler eseguire una modellazione aggiuntiva relativa agli aspetti fisici del database, ad esempio indici e viste.

Inoltre, è possibile creare direttamente un modello dati fisico; non è necessario crearne uno logico prima. Passare direttamente a un modello fisico avrà senso per attività di modellazione più piccole e dirette, in cui il dominio aziendale è meglio definito. Il processo di modellazione del database fisico è semplice e non dovrebbe presentare troppe sfide. Avere un modello di dati logico si rivelerà utile per progetti più grandi, ma averne almeno uno fisico è meglio che non averne affatto.

Evoluzione della progettazione del tuo database

Gli sviluppatori generalmente pensano che il modello di database dovrebbe ruotare attorno al codice effettivo, mentre i modellatori di dati pensano che il codice dovrebbe essere creato sulla base di un modello di dati relativamente statico. La modellazione dei dati oggi deve essere collaborativa . Il codice e il modello di dati si influenzano a vicenda avanti e indietro.

Quindi, abbiamo bisogno di uno strumento che supporti un processo di progettazione e modellazione di database collaborativi. Oltre a collaborare con l'azienda per creare il progetto concettuale, i modellatori di dati devono collaborare durante il ciclo di sviluppo per aggiornare i modelli di dati logici e fisici come richiesto. Modellatori e sviluppatori devono adattare il modello fino a quando non supporta realmente i requisiti aziendali e non funzionali del sistema.

Ovviamente, i cambiamenti possono portare a errori. Ancora una volta, avere uno strumento può aiutare; uno strumento che convalida costantemente il tuo modello di dati è inestimabile. Vertabelo dispone di una convalida in linea, in tempo reale e integrata per i modelli di dati logici e fisici in modo che i problemi vengano rilevati durante la modellazione, non durante l'implementazione. E gli errori rimangono visibili per tutti coloro che collaborano. Inoltre, puoi regolare le impostazioni di convalida come richiesto. Ecco un esempio del mio modello di dati incompleto con diversi errori e avvisi.

Tornando all'esempio della contabilità, potresti scoprire durante lo sviluppo che non è sufficiente modellare una singola valuta come euro o dollari per fatture e pagamenti. Piuttosto, dovresti archiviare gli importi con la rispettiva valuta e convertirli nella valuta "base" in cui si tiene la contabilità dell'azienda. Potresti anche aver bisogno dei tassi di cambio valuta e delle informazioni storiche dei tassi utilizzati per la conversione delle valute in passato.

È qui che uno strumento di modellazione di database collaborativo come Vertabelo dimostra davvero il suo valore. È possibile trovare ulteriori informazioni sull'utilizzo di Vertabelo per la modellazione collaborativa. Devi solo fare clic e condividere il tuo modello con i membri del tuo team.

Fisico per l'implementazione

Una volta che hai la tua prima versione del modello fisico, probabilmente sarai ansioso di iniziare a lavorare con il database vero e proprio. Per fare ciò, Vertabelo genererà script SQL DDL (Data Definition Language) per creare il database. Non scriverò tutti i dettagli qui, poiché puoi trovarli nell'articolo della knowledge base online su come generare uno script SQL creando un database.

Lascia che te lo dica per esperienza:questa è una caratteristica così gradita. Eviti di dover affrontare i capricci delle diverse sintassi SQL DDL del database e puoi concentrarti sul tuo design .

Versione

Ora, come ho scritto sopra, i tuoi modelli si evolveranno, sia durante la progettazione del database, durante lo sviluppo del software o in seguito durante l'utilizzo effettivo del tuo database. Ci sono due fantastiche funzionalità di Vertabelo di cui voglio essere sicuro che tu sia a conoscenza.

Innanzitutto, Vertabelo include la gestione delle versioni. Puoi tenere traccia delle modifiche e gestire le versioni dei modelli di dati, quindi è facile "tornare indietro nel tempo" e ripristinare una versione precedente, se necessario. Se sei disciplinato, puoi contrassegnare le diverse versioni con nomi precisi, sia che si tratti di bozze o di versioni effettive del database.

L'altra caratteristica, che ho sognato per molti anni durante la modellazione del mio database, è la capacità dello strumento Vertabelo di automaticamente generare script di migrazione tra le versioni del tuo modello di dati. Ho perso il conto delle volte in cui ho dovuto scrivere manualmente e correggere ripetutamente gli script di migrazione. Ecco un esempio di generazione degli script di migrazione tra due versioni di un database per un sondaggio online.

Che vantaggio per i modellatori di dati avere uno strumento che gestisce in modo efficiente le versioni e calcola l'impatto delle modifiche tra le versioni!

Modelli grandi

Per prima cosa, vorrei essere onesto. Non lavoro sempre con modelli di grandi dimensioni, ma a volte devo crearli. Anche in questo caso, Vertabelo ci offre una soluzione per organizzare i nostri modelli.

Possiamo raggruppare visivamente tabelle con aree tematiche; se desideri vedere come farlo, puoi anche guardare un video sulla gestione di modelli di dati di grandi dimensioni in Vertabelo.

È inoltre possibile utilizzare questa tecnica quando si esegue il reverse engineering da uno script DDL SQL in un modello di dati.

Inizia con la progettazione di database

Se stai cercando alcune best practice per la progettazione di database, ti consiglio di dare un'occhiata a questo articolo. Per suggerimenti per una migliore progettazione del database, non devi cercare oltre questo articolo. E guarda questo per consigli su come iniziare a utilizzare Vertabelo per la progettazione del tuo database.