Microsoft SQL Server 2016 T-SQL yenilikləri. JSON

Salam Dostlar.

Microsoft SQL Server 2016 yenilikləri barədə mövzumuzu davam edirik. Bu gün biz sizinlə Microsoft SQL Server 2016 versiyasının ən mühüm yeniklərindən biri olan JSON formatının dəstəklənməsi ilə tanış olacağıq.

Bildiyiniz kimi JSON verilənlərin mübadiləsi formatıdır. XML-ə oxşayır, lakin daha asandır. XML kimi insan tərəfindən asanlıqla oxuna bilər və adi mətn faylında həm verilənləri həm də bu verilənlərin strukturunu saxlamaq imkanını yaradır. Veb proqramlarında, brauzerlə işləyən müxtəlif proqramlarda, mobil proqramlaşdırmada geniş istifadə olunur. Çox asan olduğuna görə populyarlaşıb. Bu format verilənlərin saxlanılması üçün deyil, verilənlərin mübadiləsi üçün idealdır. Əvvəllər JSON formatı ilə işləmək üçün SQL serverə əlavə servislər və proqramlar yükləmək lazım olurdu. İndi bunlara artıq ehtiyac qalmadı. JSON formatı SQL server 2016 tərəfindən dəstəklənir, lakin burada bir nüans var – SQL Server JSON formatını adi mətn kimi qəbul edir. Digər VBİS-lərdə isə JSON ayrıca verilən tipi kimi istifadə olunur.

JSON XML kimi bizə bütün sistemlər tərəfindən əla oxuna və anlaşıla bilən adi mətn faylında həm verilənləri həm də onların strukturunu saxlamaq imkanını verir, lakin XML-dən daha asandır, məsələn burada açılan və bağlanan “teq”lər yoxdur. JSON strukturuna daxil edilənlər ya obyekt olur ya da ki massiv. Fiqurlu mötərizələr arasında obyektin parametrləri göstərilir, massivlər isə kvadrat mötərizələrə alınır.

 JSON aşağıdakı üstünlüklərə malikdir:

  • Yığcamdır.
  • Onun cümlələri asan oxunur və həm insan, həm də kompüterlə tərtib edilə bilər.
  • Proqramlaşdırma dillərinin əksəriyyətində onu məlumatların strukturuna dəyişdirmək asandır (saylar, sətirlər, məntiqi dəyişənlər, massivlər və sair).
  • Proqramlaşdırma dillərinin əksəriyyəti JSON strukturlarının yaradılması və oxunması üçün funksiyalara və kitabxanalara malikdir.

JSON abreviaturası JavaScript Object Notation (JavaScript obyektlərinin təsəvvürü) sözlərindən yaranmışdır.

Aşağıdakı nümunədə XML və JSON yazılışını müqayisə etmək olar:

JSON formatında:

"menu": {
  "id": "sened",
  "value": "Sened",
  "popup": {
    "menuitem": [
      {"value": "New", "onclick": "CreateNewDoc()"},
      {"value": "Open", "onclick": "OpenDoc()"},
      {"value": "Close", "onclick": "CloseDoc()"}
    ]
  }
}}

Həmin mətn XML formatında:

<menu id="sened" value="Sened">
  <popup>
    <menuitem value="New" onclick="CreateNewDoc()" />
    <menuitem value="Open" onclick="OpenDoc()" />
    <menuitem value="Close" onclick="CloseDoc()" />
  </popup>
</menu>

SQL Server 2016 – da JSON üçün XML formatına oxşar funksiyalar və operatorlar yaradılmışdır. Yeganə bir fərq var: XML verilənlər tipi kimi JSON verilənlər tipi mövcud deyil. JSON verilənlərini biz adi NVARCHAR/VARCHAR verilənlər tipində olan sütunlarda saxlaya bilərik.

 SQL Server 2016 – da JSON formatı üçün aşağıdakı funksiyalar və operatorlar yaradılmışdır:

FOR JSON AUTO operatoru.  FOR XML AUTO operatoruna oxşayır. Cədvəldə olan məlumatı sorğu ilə JSON mətn formatında təqdim etmək üçün istifadə olunur.

FOR JSON PATH operatoru.  FOR XML PATH operatoruna oxşayır. JSON strukturuna daha çox nəzarət etmək imkanını verir.

OPENJSON funksiyası. OPENXML funksiyası ilə eynidir. JSON mətnini cədvəl formasında təqdim etmək üçün istifadə olunur.

ISJSON funksiyası. Mətn tipli sətrində  JSON formatının olub-olmamasını yoxlayır.

JSON_VALUE funksiyası. JSON sətrindən skalyar qiymətinin çıxarılması üçün istifadə olunur.

JSON_QUERY funksiyası. JSON mətnindən fraqment (obyekt və ya massiv) çıxarmaq üçün istifadə olunur.

JSON_MODIFY funksiyası. JSON mətnində dəyişiklər etmək və JSON mətninin yenilənməsi üçün istifadə olunur.

Hələlik bu qədər. Növbəti məqalələrdə görüşənədək.

Diqqətinizə görə təşəkkür edirəm.

Səs: +10. Bəyənilsin Zəifdir

Müəllif: Rauf Khalafov

Şərh yazın