See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 861|Vastuse: 0

[Nõuanded] SQL SERVER andmebaas muudab vaikimisi võrdlemisreeglit

[Kopeeri link]
Postitatud 2025-8-4 16:03:56 | | | |
Sissejuhatus

Vaikimisi võrdlemine on SQL Serveri väga oluline osa, mis määrab, kuidas stringiandmeid võrreldakse ja sorteeritakse, kui neid andmebaasis salvestatakse ja kätte saadakse. Erinevad sorteerimisreeglid võivad tuua erinevaid tulemusi, eriti mitmekeelse teksti puhul. Seetõttu on nende kollektsioonide muutmise oskus suureks abiks andmebaaside kujundamisel ja andmete töötlemisel. Selles artiklis käsitletakse, kuidas SQL Serveris vaikimisi kolleerimist muuta ning toob koodinäiteid.

Mis on võrdlemise reegel?

Võrdlemine määratleb märgistiku, võrdlusreegli ja võrdlemise reegli tähemärkide andmete jaoks SQL Serveris. Iga sorteerimisreegel võib kontrollida:

  • Kuidas tähemärgid kodeeritakse (nt UTF-8, ASCII jne)
  • Väike tundlikkus (näiteks "A" ja "a" loetakse võrdseteks või mitte võrdseteks)
  • Aktsendi tundlikkus (nt kuidas käsitletakse "é" ja "e" vahel)


Võrdluste näited

SQL Serveris koosneb kollatsiooni nimi tavaliselt järgmistest osadest:
{märgikomplekt}_{collation}_{tundlikkus}

Näiteks SQL_Latin1_General_CP1_CI_AS, kus:

  • SQL_Latin1_General on märgistik
  • CP1 on koodileht
  • CI tähendab Case Insensitive (Case Insensitive
  • AS tähendab Accent Sensitive




Vaata praeguseid andmebaasi võrdlemise reegleid

SQL-lause näeb välja selline:

Tulemus:Chinese_PRC_CI_AS

Muuda vaikimisi võrdlust

SQL Serveris saab vaikimisi kolleerimist muuta järgmistel viisidel:

  • Sea andmebaasidele võrdlemisreeglid.
  • Sea konkreetsete veergude jaoks võrdlemisreegel.
  • Muuda kogu serveri vaikimisi kolleerimisreegleid.


1. Seadista andmebaasi jaoks võrdlemisreeglid

Kui vajad uue andmebaasi loomisel vaikimisi kolleerimist, saad kasutada järgmist SQL-lauset:

Kui andmebaas eksisteerib ja vajad vaikimisi kolleerimist muutmist, saad kasutada järgmist käsku:

See muudab MyDatabase andmebaasi vaikimisi võrdlemist.

2. Seadista sorteerimisreeglid konkreetsete veergude jaoks

Mõnel juhul võid soovida kasutada erinevaid võrdlusreegleid konkreetse veeru jaoks. Sellisel juhul saad kolleerimise määrata tabeli loomisel:

Ülaltoodud kood loob tabeli nimega MyTable, kus nime veerg kasutab tähe-tundlikku kolleerimist.

3. Muuda vaikimisi kolleerimisreegleid kogu serveri jaoks

Serveri vaikimisi võrdlemise muutmine on tundlik operatsioon. Enne seda veendu, et mõistad, millist mõju see võib avaldada. Kasuta järgmist käsku, et muuta serveri vaikimisi võrdlemist:

Pärast serveri vaikimisi võrdluse muutmist pead SQL Serveri instantsi taaskäivitama, et muudatused jõustuksid.

Võrdluste seisundi graafik

Järgmine olekudiagramm näitab SQL Serveri kolleerimise erinevaid olekuid ja muutusi:



Näidisrakendus

Siin on mõned rakendusstsenaariumid, mis aitavad mõista võrdlusreeglite tähtsust andmebaasi kujundamisel:

  • Mitmekeelne tugi: Mitmekeelsetes rakendustes võib olla vaja seadistada võrdlus konkreetsetele keeltele. Näiteks võib hispaania keeles tähte "ñ" käsitleda erinevate sorteerimisreeglite alusel.
  • Kasutaja määratletud andmed: Kasutaja sisestatud andmed võivad sisaldada erinevaid suurtähti ja aktsentmärke. Sellisel juhul tagab sobiv võrdlus, et kasutajad saavad soovitud tulemused otsimisel ja võrdlemisel.
  • Andmete migratsioon: Kui migreerite andmeid ühest süsteemist teise, on oluline tagada, et sihtandmebaasi võrdlemine oleks kooskõlas lähteandmebaasiga, et vältida andmete ebakõlasid.


Järeldus

SQL Serveris on vaikimisi kolleerimisreeglite korrektne seadistamine ja muutmine andmebaasi disaini kriitiline osa. See mõjutab mitte ainult andmete salvestamist ja otsingut, vaid mõjutab otseselt ka rakenduse kasutajakogemust. Selle artikli koodinäidete ja detailsete selgituste kaudu loodan, et sul on sügavam arusaam kolleerimisreeglite kontseptsioonist ja nende muutmisest. Enne nende muudatuste rakendamist veenduge, et varundage ja testige need vastavalt, et tagada oma andmete terviklikkus ja turvalisus.

Viide:Hüperlingi sisselogimine on nähtav.




Eelmine:RazorLight õpetus .NET/C# mallimootori jaoks
Järgmine:Uurige isiklike failide asukohta (arhiveeritud info).
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com