Archive for the ‘MySQL’ Category

L’ottimizzazione

L’ottimizzazione nell’uso di un database è un argomento estremamente complesso, in quanto è condizionato da una notevole quantità di variabili. Esistono concetti che sono applicabili in generale alle basi di dati relazionali, e altri che sono specificamente relativi ad un certo RDBMS, in dipendenza delle sue caratteristiche. Naturalmente finchè le nostre applicazioni sono di dimensioni […]

API e connettori

Un database server ovviamente non sarà utilizzato soltanto attraverso i suoi client, ma deve essere raggiungibile da applicazioni di vario genere. L’utilizzo più diffuso di MySQL è probabilmente quello di database per i siti e le applicazioni web; tuttavia è dotato di numerose interfacce applicative e connettori che lo rendono utilizzabile praticamente in qualsiasi contesto. […]

Backup e recovery

Il backup e il recovery dei dati sono, da sempre, attività fondamentali per garantire la sicurezza dei dati di un DBMS. In particolare, attraverso i backup effettuiamo salvataggi del contenuto del database ad un determinato momento, mentre il recovery è l’operazione con la quale ripristiniamo il contenuto del database a seguito di un danneggiamento. Per […]

Transazioni e lock

Una delle classiche problematiche che un DBMS deve gestire è l’accesso simultaneo ai dati da parte di diversi utenti, sia in lettura che in aggiornamento. Una situazione tipica di questo genere è il caso in cui, ad esempio, due utenti leggono lo stesso dato con l’intenzione di aggiornarlo: evidentemente uno dei due lo farà per […]

Le viste (views)

Le viste sono comunemente considerate un modo per mostrare i dati di un database con una struttura diversa da quella che hanno effettivamente sulla base dati. Un uso possibile delle viste è quello di concedere ad un utente l’accesso ad una tabella mostrandogli solo alcune colonne: tali colonne saranno inserite nella vista, sulla quale l’utente […]

I triggers

I trigger sono oggetti associati a tabelle, che vengono attivati nel momento in cui un determinato evento si verifica relativamente a quella tabella. Sono stati introdotti a partire da MySQL 5.0.2. Quando definiamo un trigger, stabiliamo per quale evento deve essere attivato (inserimento di righe, modifiche o cancellazioni) e se deve essere eseguito prima o […]

Stored procedures e stored functions

Le stored procedures (procedure memorizzate) sono un’altra delle caratteristiche la cui assenza è stata a lungo sottolineata dai detrattori di MySQL: con la versione 5.0 si è finalmente posto rimedio a questa assenza. Una stored procedure è un insieme di istruzioni SQL che vengono memorizzate nel server con un nome che le identifica; tale nome consente in […]

Le subquery

L’introduzione delle subquery, avvenuta in MySQL con la versione 4.1, è stata probabilmente l’innovazione più attesa da parte degli utilizzatori di questo database. A lungo infatti è stato sottolineato come la mancanza di alcune funzionalità penalizzasse notevolmente MySQL nel confronto con altri RDBMS, e l’assenza delle subquery era sicuramente fra quelle che più si notavano. […]

Modifica e cancellazione dei dati

Dopo aver visto come inserire e cercare i dati, vediamo ora come modificarli o eliminarli. Per gli aggiornamenti si usa l’istruzione UPDATE, di cui vediamo la sintassi: UPDATE [LOW_PRIORITY] [IGNORE] nome_tabella SET nome_colonna=espressione [, nome_colonna2=espressione2 ...] [WHERE condizioni] [ORDER BY ...] [LIMIT numero_righe]

L’uso delle JOIN

Capita spesso la necessità di selezionare dati prelevandoli fra più tabelle, evidentemente correlate tra loro. A tale scopo si utilizzano le join. Esistono diverse tipologie di join. Fondamentalmente sono tre: la inner join, la outer join e la cross join. La cross join è concettualmente la più semplice, ma raramente trova applicazione in quanto è difficile che abbia un senso logico: si […]