MySQL Workbench. Guida al data modeling per sviluppatori e DBA. MySQL Business White Paper Luglio 2009. Copyright 2010, Sun Microsystems, Inc



Documenti analoghi
CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Work di American Express

Informativa sulla privacy

Scenario di Progettazione

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda.

Riepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0

Gestione documentale. Arxivar datasheet del Pag. 1

1. BASI DI DATI: GENERALITÀ

Quando si trasferisce un modello 3D da un'applicazione CAD a un'altra, si possono perdere ore e addirittura giorni nel tentativo di ottenere una

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

LEAD GENERATION PROGRAM

Volumi di riferimento

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it

I cookie sono classificati in base alla durata e al sito che li ha impostati.

Sistemi informativi secondo prospettive combinate

SOLUZIONE Web.Orders online

WEBGIS 1.0. Guida per l utente

INFORMATIVA SUI COOKIE

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

DSCube. L analisi dei dati come strumento per i processi decisionali

Il modello di ottimizzazione SAM

La tecnologia cloud computing a supporto della gestione delle risorse umane

Dispensa di database Access

Strumenti per la gestione della configurazione del software

INFORMATIVA SUI TRATTAMENTI DEI DATI PERSONALI

Progettaz. e sviluppo Data Base

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

PROXYMA Contrà San Silvestro, Vicenza Tel Fax

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

SIEBEL CRM ON DEMAND MARKETING

Supporto alle decisioni e strategie commerciali/mercati/prodotti/forza vendita;

START Affidamenti diretti e Procedure concorrenziali semplificate. Istruzioni per i concorrenti Ver. 1.0

Console di Monitoraggio Centralizzata

LE CARATTERISTICHE. Caratteristiche. - tel fax pag. 2

MANUALE DELLA QUALITÀ Pag. 1 di 6

Si applica a: Windows Server 2008

automatizzare il flusso di lavoro degli imballaggi

SCENARIO. Personas ALICE Lucchin / BENITO Condemi de Felice. All rights reserved.

ARCHIVIAZIONE DOCUMENTALE NEiTdoc

MService La soluzione per ottimizzare le prestazioni dell impianto

Novità di Access 2010

Database. Si ringrazia Marco Bertini per le slides

Attività federale di marketing

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Comprendere il Cloud Computing. Maggio, 2013

database: modello entityrelationship

WorkFLow (Gestione del flusso pratiche)

Base di dati e sistemi informativi


I database relazionali (Access)

Mon Ami 3000 Produzione base Produzione articoli con distinta base e calcolo dei fabbisogni

Supply Intelligence. Informazioni rapide e approfondite sui fornitori potenziali

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Visual basic base Lezione 01. L'ambiente di sviluppo

Gestione dei documenti e delle registrazioni Rev. 00 del

Gestione dell account AdWords di Google Guida pratica

La Metodologia adottata nel Corso

TITOLARE DEL TRATTAMENTO Il "titolare" del trattamento di eventuali dati personali rilevati a seguito della consultazione del sito è SEVAL S.r.l.

della manutenzione, includa i requisiti relativi ai sottosistemi strutturali all interno del loro contesto operativo.

Lezione 1. Introduzione e Modellazione Concettuale

Come archiviare i dati per le scienze sociali

Sviluppo Applicativi personalizzati per automatizzare le Analisi SPC

Fiery Driver Configurator

Domande e risposte su Avira ProActiv Community

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Dematerializzare per Semplificare

ORACOLO Gestione questionari.

Utilizzo dei Cookie Cosa sono i cookie? A cosa servono i cookie? cookie tecnici cookie, detti analitici cookie di profilazione

MODULO 5 Appunti ACCESS - Basi di dati

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software

Modalità e luogo del trattamento dei Dati raccolti Modalità di trattamento

In questa pagina si descrivono le modalità di gestione del sito in riferimento al trattamento dei dati personali degli utenti che lo consultano.

Approfondimento: Migrazione dei database e backup della posta

LA SOLUZIONE APPLICATIVA PER UN EFFICIENTE SALES MANAGEMENT

Corso di Amministrazione di Reti A.A. 2002/2003

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

EasyMACHINERY ERPGestionaleCRM. partner

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

EXPLOit Content Management Data Base per documenti SGML/XML

Il database management system Access

lem logic enterprise manager

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Manuale d'uso del Connection Manager

Ogni documento digitalizzato, carta attivo o passivo, viene di infatti accompagnato identità da una sorta di elettron

Automazione Industriale (scheduling+mms) scheduling+mms.

Professional Planner 2008

UNI EN ISO 9001:2008 Sistemi di Gestione per la Qualità: requisiti e guida per l uso

FIRESHOP.NET. Gestione del taglia e colore.

4.5 CONTROLLO DEI DOCUMENTI E DEI DATI

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

ALICE AMMINISTRAZIONE UTENTI WEB

Organizzazione degli archivi

Nuovo Order Manager per il software NobelProcera

HR - Sicurezza. Parma 17/12/2015

Benvenuti! Novità di PaperPort 10

Soluzioni HP per la Gestione della Stampa. Tutto TEMPO GUADAGNATO.

Newsletter. Notiziario settimanale 3-9 marzo Finanziarie. La ÒsofferenzaÓ sanata va cancellata dalla banca dati

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

SOMMARIO Introduzione Caratteristiche generali della piattaforma Amministrazione degli utenti 5

Transcript:

MySQL Workbench Guida al data modeling per sviluppatori e DBA MySQL Business White Paper Luglio 2009 Copyright 2010, Sun Microsystems, Inc

Indice dei contenuti 1 INTRODUZIONE...3 2 TIPI DI DATI DA GESTIRE...3 3 GESTIONE DEI DATI BASATA SU MODELLI... 4 4 VANTAGGI DELLA GESTIONE DEI DATI BASATA SU MODELLI...5 4.1 Gestione dei metadati... 5 4.1.1 Application delivery rapida... 5 4.1.2 Gestione delle modifiche... 6 4.1.3 Gestione dei pacchetti applicativi... 6 4.1.4 Reporting e comunicazione... 7 4.1.5 Gestione delle prestazioni... 7 5 MYSQL WORKBENCH DATA MODELING E PROGETTAZIONE PER MYSQL...8 5.1 Progettazione del database... 8 5.2 Forward e Reverse Engineering... 10 5.3 Gestione delle modifiche... 10 5.4 Reporting e documentazione... 12 5.5 Panoramica sulle funzionalità di MySQL Workbench... 12 6 CONCLUSIONE... 12 Copyright 2010, Sun Microsystems, Inc. Pagina 2 di 13

1 Introduzione I dati sono la linfa di tutte le aziende di successo, indipendentemente dalla dimensione dell'azienda o dal settore di attività. I dati possono assumere forme diverse: può trattarsi di nuovi dati transazionali sotto forma di ordini in entrata provenienti da un sito Web, oppure di business intelligence estrapolati dai dati dei clienti per consentire ai dirigenti aziendali di prendere decisioni strategiche intelligenti. Ci sono poi le informazioni storiche necessarie ai compliance officer, oppure i metadati che descrivono i vari elementi che costituiscono i sistemi basati sui dati e il loro utilizzo. La perdita o una cattiva gestione dei dati critici è spesso per un'azienda un'esperienza devastante, che si può tradurre in enormi costi finanziari e in cattiva reputazione. Per questo motivo, le grandi aziende moderne non lasciano niente al caso quando si tratta di definire, progettare e implementare i propri dati. Con un approccio professionale e basato su processi, si creano e gestiscono i dati dei sistemi aziendali. Tale processo è seguito da esperti della gestione dei dati, che utilizzano un sistema basato su modelli e implementano i giusti strumenti affinché l'acquisizione e l'amministrazione dei dati siano corrette. In questo documento prenderemo in esame i vari tipi di dati che le aziende devono gestire, così come le motivazioni che portano alla scelta di un sistema basato su modelli per la gestione dei dati e i vantaggi di questo tipo di soluzione. Il documento spiega inoltre come MySQL Workbench possa rivelarsi un aiuto indispensabile per esperti di data modelling, sviluppatori e DBA che debbano gestire la complessa infrastruttura di dati in aziende dinamiche e in crescita. 2 Tipi di dati da gestire Sono moltissimi i modi per classificare e categorizzare i dati utilizzati dalle aziende. La maggior parte dei dati può essere tuttavia riassunta in sette gruppi: 1. Dati operativi: sono i dati alla base dell'elaborazione delle transazioni, che provengono da ordini clienti nuovi o aggiornati, nonché altri dati relativi ai prodotti e ai servizi che le aziende vendono. Questo tipo di dati si trovano solitamente nei database relazionali che supportano i flussi di dati transazionali. 2. Dati di business intelligence: sono i dati operativi attuali e precedenti, utilizzati per analizzare le abitudini di acquisto dei clienti, l'impatto di determinati programmi di marketing, ecc. Questo tipo di dati risiede generalmente nelle cosiddette aree di gestione temporanea, ossia data warehouse o data store analitici. Sono tenuti separati dai dati operativi perché i tempi di risposta del sistema siano migliori. 3. Dati storici: rispecchiano l'attività storica dei sistemi aziendali oppure tengono traccia dell'utilizzo dei dati all'interno di un'organizzazione. A differenza dei dati di business intelligence, si accede raramente a questi dati. Devono essenzialmente rimanere disponibili per esigenze di conformità normativa o di settore. 4. Dati di integrazione: sono utilizzati per gestire il flusso di dati dai sistemi operativi ai data store analitici o storici. Per lo più definiscono il processo con il quale i dati transazionali diventano dati di business intelligence. 5. Dati master: sono paragonabili ai "dati di riferimento", che non dipendono da altri elementi di dati per identità o significato. Si tratta solitamente di dati di consenso condivisi uniformemente tra i sistemi. 6. Metadati: sono '"dati sui dati" e servono a descrivere gli elementi di dati e il loro utilizzo. 7. Dati non strutturati: sono solitamente gestiti all'interno di sistemi per la gestione dei contenuti (sebbene alcune aziende li stiano spostando nei database RDBMS tradizionali) che seguono il ciclo di vita evolutivo delle informazioni digitali (file video, documenti, ecc.). Come già detto, esistono classificazioni più dettagliate dei dati. Quelle sopra descritte riassumono comunque ciò che un'azienda deve affrontare in termini di gestione dei dati. Copyright 2010, Sun Microsystems, Inc. Pagina 3 di 13

3 Gestione dei dati basata su modelli Secondo molti esperti la soluzione basata su modelli sembra essere il metodo migliore per gestire l'acquisizione, la definizione e l'implementazione dei dati all'interno di un'organizzazione. Sui modelli si basano quindi l'utilizzo e la relazione tra dati appartenenti alle categorie analizzate nella sezione precedente. Questa regola va applicata sia ai sistemi esistenti sia a quelli in fase di realizzazione. I modelli sono lo strumento migliore per rappresentare la definizione di elementi di dati alla base dei vari data store di un'azienda. Pertanto, non sorprende che la maggior parte delle aziende IT utilizzi i diagrammi ER (Entity-Relation Diagram o ERD) oppure altre forme simili di data modeling per acquisire e conservare le strutture di dati. La gestione di dati basata su modelli è dimostrata da uno studio condotto da IDC e Infoworld in Nord America alla fine del 2005. Questa ricerca spiega che la maggior parte delle aziende si affida a strumenti per la creazione di modelli quando deve acquisire e implementare i dati: È interessante notare che anche le aziende con pochi dipendenti utilizzano questa soluzione. Quasi ¾ delle grandi aziende utilizzano o utilizzeranno a breve un metodo basato su modelli. Il fatto che questa procedura sia ampiamente diffusa dimostra che i vantaggi dell'utilizzo dei modelli nella gestione dei dati sono reali e tangibili. È utile evidenziare brevemente tali vantaggi per poi analizzarli nel dettaglio e capire perché sia meglio scegliere i modelli per la gestione dei dati e non altre soluzioni. Copyright 2010, Sun Microsystems, Inc. Pagina 4 di 13

4 Vantaggi della gestione dei dati basata su modelli I vantaggi della gestione dei dati basata su modelli sono più di uno. Tra i più tangibili: Gestione dei metadati: assicura la consistenza dei dati, applica gli standard degli elementi di dati utilizzati in un'azienda e consente di identificare e classificare gli elementi per il data governance. Application delivery rapida: riduce i tempi di creazione e implementazione di un progetto di dati fisici, nonché dell'applicazione che utilizza il database sottostante. Gestione delle modifiche: aiuta a gestire le modifiche tra diverse iterazioni di strutture di dati. Gestione dei pacchetti applicativi: elimina il senso di mistero che circondava i pacchetti applicativi e crea un rendering grafico del cuore di ciascuna applicazione, ossia il database. Reporting e comunicazione: semplifica considerevolmente la comunicazione e il reporting tra strutture di dati nuove e modificate. Gestione delle prestazioni: consente di individuare più rapidamente eventuali difetti nella progettazione dei dati, che potrebbero determinare tempi di risposta inefficienti nei sistemi basati. Queste aree sono analizzate nel dettaglio nelle prossime sezioni. 4.1 Gestione dei metadati L'importanza di disporre di elementi di dati con definizioni chiare e standardizzate è ben nota a quelle aziende che, con difficoltà, hanno dovuto individuare e correggere i dati che hanno lo stesso significato e si riferiscono allo stesso elemento e, nonostante ciò, hanno definizioni differenti nei vari sistemi e applicazioni. Ad esempio, è importante verificare che un elemento di dati denominato CUSTOMER_ID abbia una definizione univoca all'interno di tutti i sistemi che lo utilizzano (tipo di dati e significato corretti, ecc.). In questo modo, è possibile utilizzarlo con più tranquillità anche in applicazioni future o in data store analitici alimentati da più sistemi. Una corretta gestione dei metadati è una scelta giustificata anche per esigenze di compliance di settore e di legge. Oggigiorno, le aziende devono disporre di tutti gli strumenti necessari per assicurare un livello molto alto di qualità dei dati (dati sempre validi; dati che soddisfino scopo e definizione al 100%), privacy dei dati (solo internamente o esternamente), protezione dei dati (molto sensibili, non sensibili, ecc.), elementi di dati dell'azienda (es. Finance, ecc.) e compliance (Sarbanes Oxley, ecc.). La scelta di gestire i metadati utilizzando dei modelli consente ai data architect e ad altri responsabili della gestione dei dati di un'organizzazione di acquisire e catalogare tutti gli aspetti degli elementi di dati. I modelli e gli strumenti che facilitano la gestione dei metadati permettono inoltre di consultare, presentare, ricercare ed esaminare con facilità gli aspetti che determinano le modifiche di tutti gli elementi di dati definiti. 4.1.1 Application delivery rapida Il fulcro di quasi tutte le applicazioni moderne è il database sottostante. È quindi fondamentale che non vi sia alcun ritardo nella progettazione e implementazione fisica delle strutture di dati che supporteranno le applicazioni aziendali più importanti. Non esistono alternative al metodo basato su modelli, perché è in effetti il solo in grado di fornire rapidamente un buon progetto per un database fisico. Spesso la progettazione di un database inizia a livello concettuale, ossia con la definizione delle entità di dati, delle rispettive relazioni e degli attributi, senza fare riferimento ad una particolare piattaforma con database fisico. Dopo essere stato definito, un modello di dati logico è trasformato in un modello fisico indirizzato ad un DBMS relazionale Copyright 2010, Sun Microsystems, Inc. Pagina 5 di 13

specifico, ad esempio MySQL, Oracle, ecc. Spesso il modello logico necessita di modifiche per poter soddisfare i requisiti di una determinata piattaforma fisica e per esigenze di prestazioni. Potrebbe servire, ad esempio, aggiungere il partizionamento alle tabelle. Oltre a modellare gli oggetti standard (tabelle, indici, ecc.), il codice può essere impiegato in taluni modelli fisici per raccogliere in un solo punto tutto ciò che riguarda i dati. Quanto detto vale per oggetti come stored procedure, trigger e quant'altro incluso in un modello. È inoltre possibile includere gli aspetti legati alla protezione di un progetto, registrando quindi i dettagli su login utente e autorizzazioni agli oggetti individuali. Tutte queste funzionalità sono incluse in MySQL Workbench e consentono agli sviluppatori di gestire i progetti con più semplicità. Tutto ciò di cui necessitano per creare e gestire gli aspetti dei dati delle applicazioni è infatti offerto dagli strumenti basati su modelli. Tutti i buoni strumenti di data modeling, come MySQL Workbench, supportano il Forward Engineering di progetti fisici. Pertanto l'intero codice SQL utilizzato per creare un database e i relativi oggetti sono trascritti automaticamente e funzionano correttamente fin da subito, eliminando così il processo di scrittura manuale di codice SQL, tipicamente laborioso e soggetto a errori. 4.1.2 Gestione delle modifiche Durante la progettazione dei dati e dei rispettivi database è importante considerare il controllo della versione e la gestione del ciclo di vita, esattamente come per le applicazioni. Per data architect, DBA e sviluppatori è necessaria una corretta gestione delle modifiche per progetti di database e metadati. L'utilizzo di una forma di repository correlato ad una soluzione basata su modelli è la scelta migliore. Tuttavia possono funzionare anche altri metodi manuali per l'archiviazione di modelli di dati e schemi di metadati precedenti. La difficoltà che probabilmente i responsabili della gestione dei dati devono affrontare in ambito di gestione delle modiche è riuscire a effettuare cambiamenti complessi in progetti di database fisici esistenti. La preparazione di un'analisi dettagliata sull'impatto di determinate modifiche, nonché degli script di modifica del database, può rivelarsi un'attività lunga e soggetta a errori. Errori durante tali modifiche possono costare veramente caro. Fortunatamente, molti dei migliori strumenti di modellazione, come MySQL Workbench, risolvono tali problemi, poiché integrano utility per la sincronizzazione che consentono a DBA e sviluppatori di apportare le modifiche a un modello di dati fisico e di sincronizzare tali modifiche su un database fisico esistente. Lo strumento gestisce l'intera operazione: prepara l'analisi sull'impatto e genera il codice corretto per la modifica del database. Tutte le modifiche possono essere visualizzate in anteprima, prima che siano effettive sul database di destinazione. Molti strumenti consentono anche l'operazione inversa. È quindi possibile modificare un modello di dati per assorbire le modifiche apportate a un database fisico esistente. Si tratta di un aspetto importante, poiché capita spesso di dover modificare un database in circostanze di emergenza. Se però i modelli sono in uso perché sottoposti a modifica o revisione, è necessario eseguire un loro aggiornamento affinché riflettano ciò che è realmente contenuto nell'infrastruttura IT. 4.1.3 Gestione dei pacchetti applicativi I pacchetti applicativi sono spesso un mistero per esperti di dati e sviluppatori di applicazioni, soprattutto per quanto riguarda l'utilizzo del database sottostante. Inoltre, nel caso sia necessario apportare migliorie o modifiche al pacchetto, è sempre importante valutare l'impatto di tali cambiamenti e assicurarsi che siano eseguiti correttamente sin da subito. Questo processo può essere considerevolmente semplificato utilizzando una soluzione basata su modelli. I modelli sono infatti uno strumento perfetto per comprendere visualmente le relazioni e le definizioni dei dati in una struttura di database complessa. Tramite il Reverse-Engineering, disponibile in quasi tutti i buoni strumenti di modellazione, un DBA o uno sviluppatore può visualizzare rapidamente il funzionamento interno del database di un pacchetto applicativo e capire quali parti del database siano utilizzate. Qualora siano necessarie modifiche o aggiunte al database, uno strumento di Copyright 2010, Sun Microsystems, Inc. Pagina 6 di 13

modellazione è in grado di generare un'analisi sull'impatto delle modifiche e il codice perché tali alterazioni diventino effettive. 4.1.4 Reporting e comunicazione Le aziende moderne contano un numero elevato di persone che "consumano" i dati acquisiti e aggiornati internamente. Alcune di queste persone sono esperte dal punto di vista tecnico, mentre altre no. In questo caso la difficoltà sta nel sapere come illustrare e comunicare le modalità di accesso ai dati di cui gli utenti hanno bisogno. La stessa necessità si nota nei grandi team di sviluppo, dove tutti i membri lavorano sullo stesso set di strutture di dati. Devono sapere sempre come codificare la propria parte di un'applicazione creata dal gruppo, così che l'accesso al database di destinazione sia eseguito correttamente. Anche in questo caso, i modelli possono rivelarsi la soluzione ideale. Sono, infatti, strumenti utilissimi, sia per i tecnici, sia per le persone meno esperte, e consentono di conoscere la definizione dei dati e le modalità per accedervi. Buoni strumenti di modellazione come MySQL Workbench possono essere un aiuto su questo fronte, perché permettono di creare ed esportare dei file grafici dei progetti. Molti di questi strumenti offrono anche funzionalità di reportistica, con cui è possibile creare dei report basati su testo e/o su Web in cui i grandi modelli vengono scomposti in formati tabulari leggibili e navigabili con più facilità. 4.1.5 Gestione delle prestazioni I database veloci non sono uno sfizio, quanto una necessità. I database che gestiscono siti Web utilizzati in tutto il mondo devono concludere le transazioni degli utenti e visualizzare le informazioni ad una velocità tale che impedisca ai clienti di passare ad un sito della concorrenza. Inoltre, le aziende che necessitano di informazioni interne aggiornate non possono permettersi di aspettare che i processi "macinino" numeri e informazioni sui concorrenti. Devono invece poter disporre di database capaci di produrre i dati necessari velocemente, per poter essere competitivi nell'economia moderna. Nella speranza di migliorare le prestazioni generali del database, molti tecnici ignorano il fattore numero uno che probabilmente contribuisce a creare un RDBMS estremamente veloce: il progetto di un database fisico. Se un database è lento, spesso si decide di aggiungere potenza all'hardware. Tuttavia se la progettazione dell'hardware non è ottimale, ciò non funzionerà mai. Nel breve termine la situazione potrebbe sembrare migliorata e, nel caso in cui il database sia per natura relativamente statico, potrebbe rimanere immutata. In realtà, se il database è dinamico e il volume dei dati e degli utenti cresce di continuo, la situazione precipiterà alla situazione iniziale. È importante invece rilevare, nel progetto fisico del database, i difetti a livello di prestazioni e le opportunità di messa a punto. Il problema sta infatti alla base. Se la base è difettosa, è necessario ripristinare l'ordine prima di procedere con altro. Ecco come interpretare il funzionamento del monitoraggio delle prestazioni: durante il monitoraggio delle prestazioni di un database, il DBA convalida l'implementazione della progettazione fisica. Se il sistema di monitoraggio delle prestazioni non fa altro che emettere segnali luminosi, allarmi e avvisi tramite pager, probabilmente la progettazione fisica non funziona correttamente. Se dal monitoraggio delle prestazioni non provengono segnali allarmanti, la progettazione fisica dovrebbe essere funzionante. Alcuni sostengono che il codice SQL sia il fattore determinante nelle prestazioni di un database. In realtà, fondamentale è il progetto fisico, il codice viene dopo. La creazione di progetti fisici efficienti e robusti può dimostrarsi un'attività difficile e intricata. Gli esperti informatici devono ricorrere ad alcuni strumenti impegnativi e potenti che sappiano districarsi tra le difficoltà che implicano la creazione e il retrofit di progetti complessi di database fisici. Sono lontani i giorni in cui un DBA o un modeler riusciva a gestire gran parte del suo lavoro con un interfaccia di query SQL e uno strumento di disegno. Oggigiorno, i database relazionali sono troppo sofisticati e contengono troppe complessità per tali strumenti primitivi. Chi si occupa della creazione dei database deve, come minimo, essere supportato da uno strumento solido di data modeling e da un prodotto robusto per il monitoraggio delle prestazioni. Come già Copyright 2010, Sun Microsystems, Inc. Pagina 7 di 13

spiegato, il monitoraggio delle prestazioni consiste nell'effettiva convalida del progetto fisico di un database. In caso di difetti di base identificati durante il monitoraggio, i DBA e gli sviluppatori devono poter disporre di un eccellente strumento di progettazione che li aiuti a correggere gli errori e che, rapidamente, possa modificare schemi talvolta complicati. 5 MySQL Workbench Data modeling e progettazione per MySQL MySQL Workbench è uno strumento di progettazione e modellazione di database visuale, fornito da MySQL/Sun. Grazie a questo tool, gli sviluppatori e i DBA possono creare nuovi modelli di dati fisici per i database MySQL e modificare quelli esistenti, utilizzando le funzionalità di Reverse/Forward Engineering e di gestione delle modifiche. MySQL Workbench è stato progettato per aumentare la produttività dell'utente e riuscire a concettualizzare, comunicare, generare e gestire i metadati principali dell'azienda, nonché i database ad elevate prestazioni e i data warehouse. L'interfaccia e i processi automatici di MySQL Workbench garantiscono la buona riuscita del lavoro di molti utenti che operano nelle aziende, tra cui DBA, sviluppatori di applicazioni, data architect e responsabili IT. Il prodotto funziona su Windows, Linux e Mac; gli utenti possono così progettare i database utilizzando tutti i più noti sistemi operativi per desktop. Una breve panoramica sulla serie di funzionalità di MySQL Workbench consentirà di illustrare i vantaggi offerti dallo strumento, già menzionati nella sezione sulla gestione dei dati basata su modelli. 5.1 Progettazione del database L obiettivo principale di MySQL Workbench è aiutare gli sviluppatori e i DBA a creare visivamente dei progetti di database fisici che si trasformeranno poi in database MySQL. I modelli sono di gran lunga il mezzo migliore e più efficiente per comprendere e creare un database valido e ben funzionante. MySQL Workbench consente agli utenti di accelerare il lavoro utilizzando una serie di funzioni e utility. MySQL Workbench permette a sviluppatori e DBA di creare uno o più modelli nell'interfaccia e fornisce varie viste degli oggetti in corso di progettazione (tabelle, viste, stored procedure). Copyright 2010, Sun Microsystems, Inc. Pagina 8 di 13

Figura 1 - Interfaccia visuale di MySQL Workbench Esistono molti altri strumenti e utility differenti all'interno di questa soluzione, che permettono ai data modeler di progettare e implementare rapidamente i modelli di dati fisici su cui stanno lavorando. MySQL Workbench contiene tutti gli elementi di data modeling principali che ci si aspetta di trovare in uno strumento per la progettazione di database: progettazione visuale di tutti gli oggetti che costituiscono un database, tra cui tabelle, relazioni tra tabelle (chiavi esterne), viste, trigger, stored procedure, funzioni, autorizzazioni per gli oggetti e tanto altro ancora. Grazie ad editor di facile utilizzo è possibile aggiungere o modificare elementi, come colonne, indici, chiave esterne, privilegi, ecc. Si può inoltre utilizzare la funzione "Undo" per annullare le modifiche apportate e ripristinare tutto come prima che la modifica avesse effetto. Inoltre, MySQL Workbench dispone di una serie di altri strumenti con i quali i DBA e gli sviluppatori creano rapidamente progetti di database corretti fin da subito. L'utility "Model Validation" controlla l'eventuale presenza di errori e comunica all'utente tutti i problemi riscontrati. Per i modelli estesi di difficile navigazione esiste la funzionalità "Zoom", che permette ai data modeler di ingrandire o rimpicciolire l'immagine per ottenere una vista ampia sull'intero modello di dati, oppure la focalizzazione su un'area specifica. Per individuare i vari oggetti (tabelle, nomi di colonne, ecc.) all'interno di un modello esteso, è possibile ricorrere all'utility avanzata "Find" con cui localizzare tutte le occorrenze corrispondenti ai criteri di ricerca forniti dall'utente, con la possibilità inoltre di accedere all'elemento con un semplice clic del mouse. Lo strumento propone un'ampia serie di funzioni utili, ad esempio la possibilità di scegliere tra notazioni di modellazione differenti, una funzione di "Autolayout" che dispone automaticamente le tabelle in un diagramma, nonché una funzionalità di scripting che permette agli utenti esperti di ampliare questa soluzione utilizzando il linguaggio LUA. Copyright 2010, Sun Microsystems, Inc. Pagina 9 di 13

5.2 Forward e Reverse Engineering La funzionalità Forward Engineering di un progetto di database fisico è tra le più utilizzate negli strumenti di modellazione. Lo strumento può generare il codice SQL necessario per creare un database fisico su un server target. MySQL Workbench offre questo tipo di utilità, che consente di tradurre un modello di dati visuale rapidamente e semplicemente in un database fisico su un server MySQL target, con il vantaggio che il codice SQL funziona correttamente fin da subito, senza dover più ricorrere al tradizionale processo laborioso che prevede la trascrizione manuale del complesso codice SQL. Oltre ad aiutare a comprendere i database esistenti personalizzati, o parte di pacchetti applicativi, MySQL Workbench offre anche un'utility di Reverse Engineering che crea un collegamento con qualsiasi server MySQL esistente, generando un nuovo modello di dati dell'intero sistema MySQL sorgente (o di parte di esso). Una volta all''interno dello strumento, tutti gli oggetti e le relative relazioni possono essere visualizzati, aggiunti e modificati con semplicità. Figura 2 - Il Forward Engineering di MySQL Workbench può essere facilmente personalizzato Figura 3 - Utility di Reverse Engineering per modellare e modificare database esistenti 5.3 Gestione delle modifiche La gestione delle modifiche del database consiste normalmente nell'aggiornamento delle diverse versioni degli schemi e nella relativa modifica dei database esistenti. Si tratta di per sé di attività complesse e impegnative. Copyright 2010, Sun Microsystems, Inc. Pagina 10 di 13

Per sostenere DBA e sviluppatori nella gestione delle modifiche, MySQL Workbench offre l'utility "Synchronization" che mette a confronto un modello di dati e il server MySQL di destinazione, quindi lancia una sincronizzazione tra i due. Utilizzando MySQL Workbench, un DBA o uno sviluppatore prima si collega a un server MySQL, poi lo strumento confronta tutti gli aspetti del modello attualmente utilizzato con il database fisico MySQL. L'utility "Synchronization" offre una visualizzazione grafica di tutte le differenze rilevate e lascia allo sviluppatore o al DBA la decisione su come procedere. È possibile scegliere fra tre opzioni per ciascuna delle differenze individuate tra un modello e un database fisico: 1. Ignorare le differenze 2. Sincronizzare il modello con il server del database fisico 3. Sincronizzare il server del database fisico con il modello Figura 4 - Le funzioni di sincronizzazione possono apportare una o più modifiche al database in una volta sola MySQL Workbench consente all'utente di procedere su base generale o su singolo oggetto, lasciando al DBA libera scelta. Dopo aver completato la sincronizzazione, il DBA può salvare il modello di MySQL Workbench e conservare le versioni del modello e del database in quel determinato momento. Copyright 2010, Sun Microsystems, Inc. Pagina 11 di 13

5.4 Reporting e documentazione La creazione della documentazione di un database può rivelarsi un processo lungo e complesso. Fortunatamente, MySQL Workbench offre un'utility rapida per la reportistica e la documentazione, che semplifica considerevolmente questa procedura. Un modello può essere documentato in formato testo o HTML; include inoltre tutti gli oggetti e modelli presenti in una sessione MySQL Workbench attiva. Figura 5 - Funzioni di reporting per documentare rapidamente un modello esistente 5.5 Panoramica sulle funzionalità di MySQL Workbench MySQL Workbench è attualmente disponibile gratuitamente in edizione open source e a pagamento in versione standard. Per una panoramica su MySQL Workbench e sulle differenti funzionalità tra la versione gratuita e quella a pagamento, visitate il sito: http://www.mysql.it/products/workbench/features.html 6 Conclusione Le aziende moderne sanno riconoscere l'importanza di una soluzione basata su modelli, capace di gestire la definizione e la progettazione dei dati impiegati nei principali sistemi produttivi. I modelli non sono secondi a nessuno quando si tratta di comprendere, organizzare e gestire rapidamente applicazioni personalizzate e pacchetti applicativi basati sui dati. Perché i responsabili dei dati possano affrontare le problematiche che la progettazione e l'analisi di database complessi implicano, MySQL offre MySQL Workbench, che aiuta DBA e sviluppatori sia a creare rapidamente nuovi database MySQL sia a gestire il ciclo di vita di quelli esistenti, utilizzando le funzioni per Copyright 2010, Sun Microsystems, Inc. Pagina 12 di 13

la gestione delle modifiche e la reportistica. Grazie a MySQL Workbench, un DBA è in grado di aumentare la propria produttività, poiché questo strumento elimina i processi manuali, precedentemente descritti, soggetti ad errori. È così possibile disporre rapidamente di applicazioni MySQL più efficienti. Per altre informazioni su MySQL Workbench, sui download e sulle versioni gratuite e commerciali, visitate il sito Web di MySQL all'indirizzo www.mysql.it. L URL http://dev.mysql.com/workbench/ vi rimanda direttamente al sito di MySQL Workbench. Sono inoltre disponibili diversi white paper MySQL su altri aspetti d interesse aziendale (TCO, ecc.) e tecnico (storage engine, ecc.). Visitate il sito http://www.mysql.it/why-mysql/white-papers/ per scaricare gratuitamente i documenti. Copyright 2010, Sun Microsystems, Inc. Pagina 13 di 13