Selezionare colonna NULL in MySql

Giorgio Borelli

Come possiamo selezionare una colonna NULL in una tabella di un database MySql?

Il NULL è un caso particolare dello stato in memoria di una variabile o del "valore" in DB di un campo (colonna). Difficilmente viene impiegato appositamente, potrebbe comunque accadere che per esigenze implementative venga permesso alla colonna di una tabella di accettare valori NULL, e conseguentemente si potrebbe avere l'esigenza di recuperare dati proprio per quelle colonne che siano settate a NULL, l'operatore di uguaglianza non va bene per il linguaggio SQL di MySql, è comunque una query molto semplice, andiamo a vedere come fare.

Prosegue...

Categorie: MySql

Tags: ,

Aggiungere o Sottrarre ore, giorni, minuti e secondi ad una data (datetime) in MySql

Giorgio Borelli

La gestione delle date e del tempo si sà, è sempre un aspetto cruciale nelle applicazioni ed anche un pò ostico per certi versi, soprattutto quando comincia la necessità di aggiungere o sottrarre giorni, minuti, ore e secondi ad una data.

Vediamo invece come a livello di database, l'RDBMS MySql rende semplici queste operazioni, quasi banali direi, con MySql aggiungere del tempo ad un tipo date o datetime è davvero banale, andiamo a vedere come fare.

Prosegue...

Categorie: MySql

Tags: , ,

Differenza tra tipi char e varchar

Giorgio Borelli

State progettando la tabella del vostro database, e dovete definire un tipo per memorizzare delle stringhe (caratteri alfanumerici) ed improvvisamente vi sorge un dubbio, ma devo usare un CHAR o VARCHAR, qual'è la differenza? Andiamo a conoscere questi tipi più da vicini e chiariamo ogni dubbio sul loro utilizzo.

Prosegue...

Categorie: database | MySql | Sql Server

Tags: , ,

Ottenere record precedente e successivo con query al database

Giorgio Borelli

Dato un record della nostra tabella, può essere utile in diverse occasioni voler ottenere il record precedente e/o il record successivo dal database, che sia MySql, SqlServer, Oracle o altro RDBMS. Supponiamo ad esempio di avere la nostra piattaforma di gestione dei contenuti (CMS - Content Management System) e di voler implementare un motore di blogging, una funzionalità molto diffusa su tutti i blog è quella di consentire di leggere articolo precedente e leggi articolo successivo  dato un post o articolo (il nostro record), per far ciò ci serve ottenere dal database il record  precedente e successivo.

Questo è solo un esempio ma i casi potrebbero essere tanti, ottenere il record precedente e successivo è molto semplice e può tornare utile in tanti contesti, per realizzare ciò basta fare due query al database, andiamo a vedere come fare.

Prosegue...

Categorie: database

Tags: , , , ,

Come azzerare il campo contatore in Access

Giorgio Borelli

Record di una tabella Access, con campo contatore Id che non parte da zeroIl campo contatore o Id Replica in un database Access è un numero naturale crescente di 16 bytes, non può essere ri-ordinato e non può essere fatto ripartire da zero o da un numero intermedio rispetto al numero più grande che attualmente è inserito. Proprio per queste sue particolarità, viene usato quasi sempre come chiave primaria in una tabella, proprio perchè essendo un numero unico, identifica in maniera univoca il record. Se ad es. abbiamo 3 records, numerati con Id 5, 6 e 7, se cancelliamo il record 6, il contatore ad un nuovo inserimento comincerà a partire da 8 perdendo la posizione intermedia; o ancora se il nostro contatore è arrivato al record 120 e svuotiamo la tabella, questo ripartirà da 121 e non da zero.

Sebbene questo non sia un problema determinante, tuttavia, da parte degli utilizzatori di Access è molto sentita l'esigenza di azzerare i campi contatore, vuoi perchè la fase di sviluppo è terminata e si desidera partire con un database vuoto ed i contatori azzerati, vuoi per una maggiore precisione e pulizia del database. Qualunque sia lo scopo o l'esigenza Come fare per azzerare il campo contatore in Access?

Prosegue...

Categorie: Access | database

Tags: ,

DbException (0x80040e57): Impossibile aggiungere la quantità di dati desiderata. Inserire o incollare meno dati

Giorgio Borelli

OleDbException (0x80040e57): Impossibile aggiungere la quantità di dati desiderata. Inserire o incollare meno datiDurante la fase di sviluppo di un'applicativo, possiamo imbatterci in questo messaggio d'errore "OleDbException (0x80040e57): Inserire o incollare meno dati" generato a run-time, ovvero si manifesta solo in fase di esecuzione, e non ne capiamo il motivo, il tutto sembra girare perfettamente, funziona, eppure in qualche particolare caso compare questa eccezione, qual'è la causa? Quale errore commettiamo?

L'eccezione a cui faccio riferimento è generata dal Data Provider OleDb, compatibile sia con Access che con le vecchie versioni di Sql Server (dalla 7.0 in giù), il problema però è generico e può presentarsi anche con Data Provider specifici come il Jet Engine di Access. Il problema è nella insert, o meglio si manifesta durante un comando sql insert, risolverlo è davvero banale, andiamo a scoprire come fare.

Prosegue...

Categorie: Access | database | Sql Server

Tags: , ,

I tipi di dato in Sql Server

Giorgio Borelli

Visualizzazione colonne con i relativi tipi di dato di una tabella Microsoft Sql ServerNel precedente articolo avevamo visto quali erano i principali tipi di dati di un database Access, e spiegato l'importanza del corretto utilizzo dei tipi nella definizione di una tabella di un database. Ribadiamo nuovamente che la definizione dei tipi in un database è un'operazione fondamentale, la scelta adeguata del tipo di dato adatto a rappresentare un'informazione costituisce la base per lo sviluppo di un'applicazione funzionale e manutenibile, e permette inoltre di ottimizzare le tabelle e lo spazio che esse occupano.

Pertanto, oggi voglio parlarvi dei tipi definibili per un'altro noto e diffusissimo database relazionale, stiamo parlando di Sql Server, il potente database Engine di casa Microsoft.

Anche per Sql Server conoscere e definire i tipi di dati corretti, è un passo di fondamentale per l'architettura di un database performante.  Noteremo come a differenza di Access i tipi di dato definibili in Sql Server è molto più ampia e completa sotto tutti i punti di vista, si possono infatti di definire tipi per qualsivoglia dato e con dimensioni di gran lunga superiori a quelle permesse d'Access, sino a giungere alla dichiarazione di tipi personalizzati definiti dall'utente. Andiamo quindi a vedere quindi quali sono i tipi di dato in Sql Server.

Prosegue...

Categorie: database | Sql Server

Tags: ,

I tipi di dato in Access

Giorgio Borelli

Visualizzazione struttura di una tabella Access con vari tipi di datoQuando si progetta un database per un'applicativo, dopo aver pensato bene e fatta un'analisi dell'architettura della sorgente dati e steso il diagramma ERD (Entità Relazioni), il passo successivo è quello di cominciare a definire le tabelle con i propri tipi.

La definizione dei tipi in un database è un'operazione molto importante, poichè la scelta adeguata del tipo di dato adatto a rappresentare un'informazione, costituisce la base per lo sviluppo di un'applicazione funzionale e manutenibile, e permette inoltre di ottimizzare le tabelle, archiviando i dati nel loro formato corretto e rispare bytes gestendo il tipo corretto.

Anche per Access vale quanto detto, sebbene sia usato spesso per applicazioni di piccole dimensioni, la definizione dei tipi in Access assume un'importanza se vogliamo ancora più rilevante, proprio per ottimizzare al meglio la base di dati e risparmiare spazio, sfruttando così appieno le sue potenzialità ed il limite di 2Gb di spazio per l'archiviazione dati che esso ci mette a disposizione.

Conoscere e definire i tipi di dati corretti in Access, è di fondamentale importanza per la stesura di un database performante. Andiamo a vedere quali sono i tipi di dati definibili in Access.

Prosegue...

Categorie: Access | database

Tags: ,

Uno script per pianificare il backup su Sql Server Express senza l'uso del servizio Sql Server Agent

Giorgio Borelli

Sql Server pianificare il backup di database con uno script Transact-SQLNegli ultimi articoli abbiamo parlato ampiamente del backup di database sul sistema Sql Server, mettendo assieme una guida suddivisa in quattro parti. Lo scopo finale del nostro percorso era quello di pianificare ed automatizzare i backup dei database anche sulle versioni Express di Sql Server (gratuite), le quali non prevedendo il servizio Sql Server Agent erano limitate sotto questo punto di vista.

Anche se fortemente legato alla guida al Backup su Sql Server dei precedenti articoli, ho voluto appositamente dedicare un'articolo a parte per la realizzazione dello script per il backup, primo perchè andremo ad introdurre alcuni concetti nuovi (come l'utility SQLCMD) e in secondo per separare nettamente la parte teorica della guida e quella pratica per l'implementazione dello script per il backup spiegato in questo articolo.

Lo script di backup che andremo a realizzare, sfrutta le conoscenze acquisite nei precedenti quattro articoli intitolati "Guida al backup di database con Sql Server".

Gli strumenti di cui abbiamo bisogno per realizzare tutto ciò sono:

Prosegue...

Categorie: database | Sql Server

Tags: , , , , , ,

Guida al backup di database con Sql Server - 4° parte

Giorgio Borelli

effettuare il backup di database tramite le istruzioni Transact-SQL di Sql ServerAbbiamo visto nell’articolo precedente “Guida al backup di database con Sql Server – 3° parte” come effettuare manualmente il backup di database con Sql Server Management Studio, ed abbiamo specificato che un altro possibile metodo è tramite le dichiarazioni Transact-SQL.

Vedremo appunto in questo articolo come usare queste dichiarazioni per eseguire il backup dei nostri database.

Precisiamo nuovamente che per poter effettuare un backup di database, è necessario aver specificato un dispositivo di backup, questo può essere definito sia su disco che su nastro, collocato sullo stesso hard disc locale in cui gira l’istanza di Sql Server (sconsigliato), su una risorsa di rete opportunamente condivisa o su un disco remoto.

Le dichiarazioni Transact-SQL utilizzate per effettuare il backup sono due: Prosegue...

Categorie: database | Sql Server

Tags: , , , , ,