Özet

Tamamlandı

Bu modülde daha etkileyici, verimli ve sürdürülebilir veritabanı kodu yazmanıza yardımcı olan gelişmiş T-SQL tekniklerini öğrendiniz. Bu özellikler karmaşık analiz, hiyerarşik veriler, JSON işleme ve hata işleme gibi yaygın veritabanı geliştirme senaryolarını ele alır.

Nasıl yapılacağını öğrendinsiniz:

  • Karmaşık sorguları düzenlemek ve hiyerarşik veri yapılarında gezinmek için özyinelemeli desenler kullanmak için Ortak Tablo İfadeleri (CTE) yazma
  • Sıralama, değişen toplamlar, hareketli ortalamalar ve satır düzeyi ayrıntıyı koruyan analitik hesaplamalar için pencere işlevleri uygulama
  • JSON verilerini ayrıştırmak, oluşturmak ve dönüştürmek için , JSON_OBJECTJSON_ARRAY, , JSON_ARRAYAGGOPENJSONve gibi JSON_VALUEJSON işlevlerini kullanın
  • Düzenli ifadeleri, desen eşleştirme ve metin işleme için REGEXP_LIKE, REGEXP_REPLACE, REGEXP_SUBSTR ve ilgili işlevlerle uygulayın.
  • , EDIT_DISTANCEve gibi EDIT_DISTANCE_SIMILARITYbenzer dize işlevlerini kullanarak yaklaşık eşleşmeleri bulmaJARO_WINKLER_DISTANCE
  • MATCH işlecini kullanarak grafik tablolar oluşturma ve SHORTEST_PATH ilişki geçişi için sorgular yazma
  • Satır satır karşılaştırmaları, varlık denetimleri ve satır başına hesaplamalar için bağıntılı alt sorgular yazma
  • Yapılandırılmış hata işleme uygulayın, TRY...CATCH hata işlevleri THROW ve uygun işlem yönetimi ile

Önemli çıkarımlar

  • Özyinelemeli CTA'lar, kurumsal grafikler veya malzeme listesi yapıları gibi hiyerarşik verilerin çapraz geçişine yönelik standart yaklaşımdır
  • Yan tümceleri olan OVER pencere işlevleri, satırları daraltmadan analitik hesaplamaları etkinleştirir. Toplamları ve sıralamaları hesaplamak için self-join'ler yerine bunları kullanın.
  • JSON_OBJECT ve JSON_ARRAYAGG ilişkisel verilerden JSON oluştururken, OPENJSON JSON'ı ilişkisel satırlara ayrıştırır.
  • JARO_WINKLER_DISTANCE ad eşleştirme için en iyi duruma getirilmiştir; EDIT_DISTANCE_SIMILARITY daha uzun dizeler için daha iyi çalışır
  • Bloklar içinde, hiçbir işlemin etkin olmadığı durumları işlemek için her zaman @@TRANCOUNT’yı ROLLBACK’den önce denetleyin CATCH
  • Tam işlem koruması için SET XACT_ABORT ON ile TRY...CATCH'i birleştirin

Daha fazla bilgi edinin