Collation

Mi a fene az a collation és miért kavar be nekem?

Ha egyszerűen szeretném elmagyarázni, akkor talán azt mondanám, hogy az adatok rendezési sorrendje.

Az adattáblánkban tárolunk egy csomó sort. Mi magyarok úgy vesszük, hogy ha lekérdezzük ezeket a sorokat, és valami szöveg szerint rendezzük, akkor például úgy lesznek, hogy o-ó-ö-ő-p-q és így tovább. Viszont ha az adatbázis collationje nem hungarian, hanem mondjuk latin1, akkor nem ilyen sorrendben fogjuk visszakapni, hanem úgy lesz, hogy o-ó-ö-p-q-…-z-ő-ű, mert a latin1 collationben nincs hosszú ő és ű betű. Ezért simán a sor végére rendezi be azokat.

Még rondább az eredmény, ha binary collationnel dolgozik az adatbázisunk.

Van még két kapcsoló, a case sensitive (ez szerintem egyértelmű: kisbetű-nagybetű érzékenység) és az accent sensitive (ékezet-érzékenység).

A lenti képen egy adatbázis-tulajdonságok lapot láttok, rajta, hogy hungarian collation, CI vagyis case insesitive, nem érdekli a kis-betű különbség, és AS, vagyis az ékezeteket figyelembe veszi.

Legközelebb pár lekérdezési példában mutatom be, hogy életszerűen ez mit is jelent pontosan, mire kell és lehet figyelni.