Özet
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 gibiJSON_VALUEJSON işlevlerini kullanın - Düzenli ifadeleri, desen eşleştirme ve metin işleme için
REGEXP_LIKE,REGEXP_REPLACE,REGEXP_SUBSTRve ilgili işlevlerle uygulayın. - ,
EDIT_DISTANCEve gibiEDIT_DISTANCE_SIMILARITYbenzer dize işlevlerini kullanarak yaklaşık eşleşmeleri bulmaJARO_WINKLER_DISTANCE -
MATCHişlecini kullanarak grafik tablolar oluşturma veSHORTEST_PATHiliş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...CATCHhata işlevleriTHROWve 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
OVERpencere işlevleri, satırları daraltmadan analitik hesaplamaları etkinleştirir. Toplamları ve sıralamaları hesaplamak için self-join'ler yerine bunları kullanın. -
JSON_OBJECTveJSON_ARRAYAGGilişkisel verilerden JSON oluştururken,OPENJSONJSON'ı ilişkisel satırlara ayrıştırır. -
JARO_WINKLER_DISTANCEad eşleştirme için en iyi duruma getirilmiştir;EDIT_DISTANCE_SIMILARITYdaha 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 denetleyinCATCH - Tam işlem koruması için
SET XACT_ABORT ONileTRY...CATCH'i birleştirin