5° Anno TEORIA 4. Introduzione al linguaggio SQL | Page 36

16 . Il linguaggio SQL Vers . 9.3 – Marzo 2024
Eseguire QUERY CASE SENSITIVE in SQL ( tabella case sensitive ) PREMESSA
I character set ( insiemi di caratteri ) sono i diversi sistemi attraverso i quali i caratteri alfanumerici , i segni di punteggiatura e tutti i simboli visualizzabili su un computer vengono memorizzati in un valore binario . In ogni set di caratteri , ad un valore binario corrisponde un carattere ben preciso .
Di conseguenza , quando una stringa viene memorizzata utilizzando un certo set di caratteri , dovrà essere visualizzata attraverso quello stesso insieme , altrimenti alcuni caratteri potrebbero apparire diversi da come ce li aspettiamo .
L ' esempio classico di questo inconveniente si verifica in genere con le lettere accentate e , a volte , con il simbolo dell ' Euro , che ogni tanto capita di vedere non rappresentati correttamente , ad esempio su una pagina web : segno che non stiamo visualizzando quella pagina con il giusto insieme di caratteri .
MySQL , a partire dalla versione 4.1 , ha introdotto un supporto molto avanzato alla gestione di diversi character set . Infatti ci consente di gestire i set di caratteri a livello di server , database , tabella e singola colonna , nonchè di client e di connessione .
Ad ogni set di caratteri sono associate una o più COLLATION , che rappresentano i modi possibili di confrontare le stringhe di caratteri facenti parte di quel character set .
Per fare un esempio quindi potremo dire che una determinata tabella utilizza il CHARACTER SET latin1 ( quello maggiormente usato in Europa Occidentale ) e la COLLATION latin1 _ general _ cs .
Tale collation è multilingue ( cioè non specifica per una lingua ) e " case sensitive " come dimostra il " cs " finale , cioè tiene conto della differenza fra maiuscole e minuscole nell ' ordinare o confrontare le stringhe .
In generale possiamo dire che il nome di ogni COLLATION segue un determinato standard : - inizia con il nome del CHARACTER SET a cui si riferisce , - comprende di solito una specifica relativa ad una lingua , - e termina con cs ( case sensitive ) o ci ( case insensitive ) a seconda che tenga o meno in considerazione la differenza tra maiuscole e minuscole , oppure con bin quando il valore binario dei caratteri è utilizzato direttamente per i confronti .
Normalmente l ' esistenza di una collation dedicata ad una singola lingua si ha quando le regole generali del set di caratteri non soddisfano le esigenze di quella lingua . Le collation dedicate al tedesco , ad esempio , servono a trattare nel giusto modo le vocali con dieresi ( ad esempio Ü ) e la lettera " sharp " ( ß )
.
Le istruzioni SQL " SHOW CHARACTER SET " e " SHOW COLLATION " ci consentono di ottenere la lista , rispettivamente , dei set di caratteri e delle collation disponibili sul server .
Dei primi viene mostrata , per ogni insieme , la collation di default . Delle seconde possiamo vedere a quale set di caratteri appartengono : è chiaro infatti , da ciò che abbiamo detto finora , che ogni collation è legata ad un singolo character set .
In mancanza di inizializzazione il charset di default sarà latin1 con la collation latin1 _ swedish _ ci .
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it ) Pag . 36