Johdanto
Oletusvertailu on erittäin tärkeä osa SQL Serveriä, joka määrittää, miten merkkijonodataa verrataan ja lajitellaan, kun se tallennetaan ja haetaan tietokannasta. Eri lajittelusäännöt voivat johtaa erilaisiin tuloksiin, erityisesti monikielisen tekstin käsittelyssä. Siksi näiden yhdistelmien muokkaamisen osaaminen auttaa suuresti tietokantojen suunnittelussa ja datan käsittelyssä. Tässä artikkelissa perehdytään siihen, miten SQL Serverin oletuskokoamista voi muokata ja annetaan esimerkkejä koodista.
Mikä on vertailusääntö?
Vertailu määrittelee merkkidatan merkistömäärän, vertailusäännön ja vertailusäännön SQL Serverissä. Jokainen lajittelusääntö voi hallita:
- Miten merkit koodataan (esim. UTF-8, ASCII jne.)
- Kirjainkoon herkkyys (esimerkiksi "A" ja "a" katsotaan yhtä suuriksi tai eivät yhtä suuriksi)
- Aksentin herkkyys (esim. miten "é" vs. "e" käsitellään)
Esimerkkejä yhdistelyistä
SQL Serverissä kokouksen nimi koostuu yleensä seuraavista osista:
{merkkijoukko}_{kokoaminen}_{herkkyys} Esimerkiksi SQL_Latin1_General_CP1_CI_AS, jossa:
- SQL_Latin1_General on merkistö
- CP1 on koodisivu
- CI tarkoittaa Case Insensitive (Case Insensitive
- AS tarkoittaa Accent Sensitive
Katso nykyiset tietokannan vertailusäännöt
SQL-lause näyttää tältä:
Tulos:Chinese_PRC_CI_AS
Muokkaa oletusvertailua
SQL Serverissä oletuskokoamista voi muokata seuraavilla tavoilla:
- Aseta tietokantojen vertailusäännöt.
- Aseta vertailusääntö tietyille sarakkeille.
- Muokkaa oletuskokoamissääntöjä koko palvelimelle.
1. Luo tietokannalle vertailusäännöt
Jos sinun täytyy asettaa oletusvertailu uuden tietokannan luomisessa, voit käyttää seuraavaa SQL-lausetta:
Jos tietokanta on olemassa ja sinun täytyy muuttaa oletuskokoamista, voit käyttää seuraavaa komentoa:
Tämä muuttaa MyDatabase-tietokannan oletuskokoamista.
2. Aseta lajittelusäännöt tietyille sarakkeille
Joissain tapauksissa saatat haluta käyttää eri kokoamissääntöjä tietylle sarakkeelle. Tässä tapauksessa voit määrittää kokoamisen luodessasi taulukon:
Yllä oleva koodi luo MyTable-nimisen taulukon, jossa Nimi-sarake käyttää kirjainkoon sensitiivistä kokoamista.
3. Muokkaa koko palvelimen oletuskokoamissääntöjä
Palvelimen oletuskokoamisen muokkaaminen on arkaluonteinen toimenpide. Ennen kuin teet tämän, varmista, että ymmärrät, millainen vaikutus sillä voi olla. Käytä seuraavaa komentoa muuttaaksesi palvelimen oletuskokoamista:
Kun olet muokatut palvelimen oletuskokoamista, sinun täytyy käynnistää SQL Server -instanssi uudelleen, jotta muutokset astuvat voimaan.
Vertailujen tilakaavio
Seuraava tilakaavio näyttää SQL Serverin kokoamisen eri tilat ja muutokset:
Esimerkkisovellus
Tässä on joitakin sovellusskenaarioita, jotka auttavat ymmärtämään vertailusääntöjen merkitystä tietokantasuunnittelussa:
- Monikielinen tuki: Monikielisissä sovelluksissa saatat joutua asettamaan vertailun tietyille kielille. Esimerkiksi espanjan kirjainta "ñ" voidaan käsitellä eri tavoin eri lajittelusääntöjen mukaan.
- Käyttäjän määrittelemät tiedot: Käyttäjän syöttämät tiedot voivat sisältää erilaisia isoja kirjaimia ja aksenttimerkkejä. Tässä tapauksessa sopiva vertailu voi varmistaa, että käyttäjät saavat halutut tulokset hakiessaan ja vertaillessaan.
- Datan siirto: Kun siirrät dataa järjestelmästä toiseen, on tärkeää varmistaa, että kohdetietokannan vertailu on yhdenmukainen lähdetietokannan kanssa, jotta datan epäjohdonmukaisuudet välttyvät.
johtopäätös
SQL Serverissä oletuskokoamissääntöjen asianmukainen konfigurointi ja muokkaaminen on olennainen osa tietokantasuunnittelua. Se ei vaikuta vain datan tallennukseen ja hakuun, vaan myös suoraan sovelluksen käyttäjäkokemukseen. Tämän artikkelin koodiesimerkkien ja yksityiskohtaisten selitysten kautta toivon, että sinulla on syvällisempi ymmärrys collation-sääntöjen käsitteestä ja siitä, miten niitä voi muuttaa. Ennen näiden muutosten toteuttamista varmista, että varmuuskopioit ja testaat ne asianmukaisesti varmistaaksesi tietojesi eheyden ja turvallisuuden.
Viittaus:Hyperlinkin kirjautuminen on näkyvissä. |