Giriş
Varsayılan derleme, SQL Server'ın çok önemli bir parçasıdır ve veritabanında depolanıp alındığında dizi verilerinin nasıl karşılaştırıldığını ve sıralandığını belirler. Farklı sıralama kuralları, özellikle çok dilli metinlerle ilgili durumlarda farklı sonuçlara yol açabilir. Bu nedenle, bu derlemeleri nasıl değiştireceğinizi bilmek, veritabanları tasarlarken ve veri işlerken büyük fayda sağlayacaktır. Bu makale, SQL Server'da varsayılan derlemenin nasıl değiştirileceğine ve kod örnekleri sunacağına dair detaylara değinecek.
Karşılaştırma kuralı nedir?
Collation, SQL Server'daki karakter verilerinin karakter setini, karşılaştırma kuralını ve derleme kuralını tanımlar. Her sıralama kuralı şunları kontrol edebilir:
- Karakterlerin nasıl kodlandığı (örneğin UTF-8, ASCII vb.)
- Küçük küçük harf hassasiyeti (örneğin, "A" ve "A" eşit veya eşit olarak kabul edilmiyor)
- Aksan hassasiyeti (örneğin, "é" ve "e" arasındaki ele alınma)
Toplama örnekleri
SQL Server'da bir derlemenin adı genellikle aşağıdaki bölümlerden oluşur:
{karakter seti}_{derleme}_{hassasiyet} Örneğin, SQL_Latin1_General_CP1_CI_AS burada:
- SQL_Latin1_General karakter seti
- CP1 kod sayfasıdır
- CI, Case Insensitive (Case Insensitive anlamına gelir)
- AS, Accent Sensitive anlamına gelir
Mevcut veritabanı derleme kurallarını görüntüleyin
SQL ifadesi şöyle görünüyor:
Sonuç:Chinese_PRC_CI_AS
Varsayılan derlemeyi değiştirin
SQL Server'da varsayılan derlemeyi aşağıdaki şekillerde değiştirebilirsiniz:
- Veritabanları için derleme kuralları belirleyin.
- Belirli sütunlar için bir toplama kuralı belirleyin.
- Tüm sunucu için varsayılan toplama kurallarını değiştirin.
1. Veritabanı için derleme kuralları oluşturun
Yeni bir veritabanı oluştururken varsayılan derleme ayarlamanız gerekiyorsa, aşağıdaki SQL ifadesini kullanabilirsiniz:
Bir veritabanı varsa ve varsayılan derlemeyi değiştirmeniz gerekiyorsa, aşağıdaki komutu kullanabilirsiniz:
Bu, MyDatabase veritabanının varsayılan derlemesini değiştirir.
2. Belirli sütunlar için sıralama kuralları oluşturun
Bazı durumlarda, belirli bir sütun için farklı derleme kuralları kullanmak isteyebilirsiniz. Bu durumda, tabloyu oluştururken derlemeyi belirtebilirsiniz:
Yukarıdaki kod, Adı sütununun büyük harf hassasiyetli bir derlemenin kullanıldığı MyTable adlı bir tablo oluşturur.
3. Tüm sunucu için varsayılan toplama kurallarını değiştirin
Bir sunucunun varsayılan derleme işlemini değiştirmek hassas bir işlemdir. Bunu yapmadan önce, etkisini anladığınızdan emin olun. Sunucunun varsayılan derlemesini değiştirmek için aşağıdaki komutu kullanın:
Sunucunuzun varsayılan derlemesini değiştirdikten sonra, değişikliklerin yürürlüğe girmesi için SQL Server örneğini yeniden başlatmanız gerekir.
Koleksiyonların durum grafigi
Aşağıdaki durum diyagramı, SQL Server derlemedeki farklı durumları ve değişiklikleri gösterir:
Örnek uygulama
İşte veritabanı tasarımında derleme kurallarının önemini anlamanıza yardımcı olacak bazı uygulama senaryoları:
- Çok dilli destek: Çok dilli uygulamalarda, belirli diller için bir derleme kurmanız gerekebilir. Örneğin, İspanyolcadaki "ñ" harfi farklı sıralama kuralları altında farklı şekilde işlenebilir.
- Kullanıcı Tanımlı Veriler: Kullanıcı tarafından girilen veriler farklı büyük harf ve aksan işaretleri içerebilir. Bu durumda, uygun bir derleme kullanıcıların arama ve karşılaştırma sırasında istedikleri sonucu almasını sağlayabilir.
- Veri taşınması: Verileri bir sistemden diğerine taşırken, hedef veritabanının derlemesinin kaynak veritabanıyla tutarlı olduğundan emin olmak önemlidir; böylece veri tutarsızlıkları önlenir.
son
SQL Server'da, varsayılan derleme kurallarını doğru şekilde yapılandırmak ve değiştirmek veritabanı tasarımının kritik bir parçasıdır. Sadece veri depolama ve alım süreçlerini etkilemekle kalmaz, aynı zamanda uygulamanın kullanıcı deneyimini de doğrudan etkiler. Bu makaledeki kod örnekleri ve ayrıntılı açıklamalar sayesinde, derleme kuralları kavramını ve bunları nasıl değiştirebileceğinizi daha derin bir şekilde anlamanızı umuyorum. Bu değişiklikleri uygulamadan önce, verilerinizin bütünlüğünü ve güvenliğini sağlamak için yedekleme ve test ettiğinizden emin olun.
Referans:Bağlantı girişi görünür. |