TG Telegram Group & Channel
Software Philosophy | United States America (US)
Create: Update:

کار با داده‌های JSON در SQL Server

فرمت JSON یک فرمت سبک و محبوب برای تبادل و ذخیره داده‌های بدون ساختار است. از SQL Server 2016 به بعد، قابلیت‌های بومی برای پردازش JSON در SQL Server، Azure SQL Database، Azure SQL Managed Instance، Azure Synapse Analytics و SQL Database در Microsoft Fabric وجود دارد. این یعنی ترکیبی از انعطاف NoSQL و قدرت دیتابیس‌های رابطه‌ای!

قابلیت‌های کلیدی:

- استخراج مقادیر:
۱. قابلیت ISJSON: بررسی صحت فرمت JSON
۲. قابلیت JSON_VALUE: استخراج مقادیر اسکالر
۳. قابلیت JSON_QUERY: استخراج اشیاء یا آرایه‌ها
۴. قابلیت JSON_MODIFY: ویرایش مقادیر JSON

- تبدیل JSON به ردیف‌ها:
- با OPENJSON داده‌های JSON را به جدول تبدیل کنید.

- نوع داده json:
- در SQL Server 2025 برای ذخیره‌سازی و پردازش بهینه‌تر معرفی شده است.

- فرمت‌بندی خروجی به JSON:
- با FOR JSON نتایج کوئری را به فرمت JSON تبدیل کنید.

- ساخت اشیاء و آرایه‌ها:
- توابع JSON_OBJECTAGG و JSON_ARRAYAGG برای تولید ساختارهای JSON.

کاربردها:
- ساده‌سازی مدل‌های داده پیچیده
- مدیریت داده‌های IoT، لاگ‌ها و REST API
- ذخیره JSON در ستون‌های NVARCHAR با امکان ایندکس‌گذاری

---

تابع JSON_OBJECTAGG در Transact-SQL
این تابع به شما کمک می‌کند از داده‌های SQL (ستون‌ها، مقادیر یا نتایج تجمیعی) شیء JSON بسازید. زوج‌های کلید/مقدار را دریافت می‌کند و خروجی استاندارد تحویل می‌دهد.

ویژگی‌ها:
- استفاده در SELECT:
- قابل ترکیب با GROUP BY یا GROUPING SETS.

- ساخت آرایه‌های JSON:
- برای آرایه به جای شیء، از JSON_ARRAYAGG استفاده کنید.

- دسترسی:
- در Azure SQL Database، Azure SQL Managed Instance (با Always-up-to-date) و Fabric Data Warehouse در دسترس است.


مثال‌های کدی

مثال ۱: ساخت شیء JSON از داده‌های یک جدول
فرض کنید جدولی به اسم Employees داریم با ستون‌های EmployeeID و Name. می‌خواهیم یک شیء JSON بسازیم که EmployeeID کلید و Name مقدار باشد.

SELECT JSON_OBJECTAGG(EmployeeID, Name) AS EmployeeJson
FROM Employees;


خروجی نمونه:
{
"1": "Ali Rezaei",
"2": "Sara Ahmadi",
"3": "Mohammad Hosseini"
}


مثال ۲: ترکیب با GROUP BY برای داده‌های تجمیعی
فرض کنید جدولی به اسم Orders داریم با ستون‌های CustomerID و OrderAmount. می‌خواهیم برای هر مشتری مجموع سفارشات را به صورت JSON برگردانیم.

SELECT CustomerID,
JSON_OBJECTAGG(OrderID, OrderAmount) AS OrderSummary
FROM Orders
GROUP BY CustomerID;


خروجی نمونه:
[
{"CustomerID": 101, "OrderSummary": {"Order1": 500, "Order2": 750}},
{"CustomerID": 102, "OrderSummary": {"Order3": 300}}
]


‼️برای دیدن نمونه مثال و مطالعه بیشتر به لینک‌های زیر مراجعه کنید:

🔗لینک اول

🔗لینک دوم

🔗لینک سوم

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

#هوتن_همتی (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

_______

کار با داده‌های JSON در SQL Server

فرمت JSON یک فرمت سبک و محبوب برای تبادل و ذخیره داده‌های بدون ساختار است. از SQL Server 2016 به بعد، قابلیت‌های بومی برای پردازش JSON در SQL Server، Azure SQL Database، Azure SQL Managed Instance، Azure Synapse Analytics و SQL Database در Microsoft Fabric وجود دارد. این یعنی ترکیبی از انعطاف NoSQL و قدرت دیتابیس‌های رابطه‌ای!

قابلیت‌های کلیدی:

- استخراج مقادیر:
۱. قابلیت ISJSON: بررسی صحت فرمت JSON
۲. قابلیت JSON_VALUE: استخراج مقادیر اسکالر
۳. قابلیت JSON_QUERY: استخراج اشیاء یا آرایه‌ها
۴. قابلیت JSON_MODIFY: ویرایش مقادیر JSON

- تبدیل JSON به ردیف‌ها:
- با OPENJSON داده‌های JSON را به جدول تبدیل کنید.

- نوع داده json:
- در SQL Server 2025 برای ذخیره‌سازی و پردازش بهینه‌تر معرفی شده است.

- فرمت‌بندی خروجی به JSON:
- با FOR JSON نتایج کوئری را به فرمت JSON تبدیل کنید.

- ساخت اشیاء و آرایه‌ها:
- توابع JSON_OBJECTAGG و JSON_ARRAYAGG برای تولید ساختارهای JSON.

کاربردها:
- ساده‌سازی مدل‌های داده پیچیده
- مدیریت داده‌های IoT، لاگ‌ها و REST API
- ذخیره JSON در ستون‌های NVARCHAR با امکان ایندکس‌گذاری

---

تابع JSON_OBJECTAGG در Transact-SQL
این تابع به شما کمک می‌کند از داده‌های SQL (ستون‌ها، مقادیر یا نتایج تجمیعی) شیء JSON بسازید. زوج‌های کلید/مقدار را دریافت می‌کند و خروجی استاندارد تحویل می‌دهد.

ویژگی‌ها:
- استفاده در SELECT:
- قابل ترکیب با GROUP BY یا GROUPING SETS.

- ساخت آرایه‌های JSON:
- برای آرایه به جای شیء، از JSON_ARRAYAGG استفاده کنید.

- دسترسی:
- در Azure SQL Database، Azure SQL Managed Instance (با Always-up-to-date) و Fabric Data Warehouse در دسترس است.


مثال‌های کدی

مثال ۱: ساخت شیء JSON از داده‌های یک جدول
فرض کنید جدولی به اسم Employees داریم با ستون‌های EmployeeID و Name. می‌خواهیم یک شیء JSON بسازیم که EmployeeID کلید و Name مقدار باشد.

SELECT JSON_OBJECTAGG(EmployeeID, Name) AS EmployeeJson
FROM Employees;


خروجی نمونه:
{
"1": "Ali Rezaei",
"2": "Sara Ahmadi",
"3": "Mohammad Hosseini"
}


مثال ۲: ترکیب با GROUP BY برای داده‌های تجمیعی
فرض کنید جدولی به اسم Orders داریم با ستون‌های CustomerID و OrderAmount. می‌خواهیم برای هر مشتری مجموع سفارشات را به صورت JSON برگردانیم.

SELECT CustomerID,
JSON_OBJECTAGG(OrderID, OrderAmount) AS OrderSummary
FROM Orders
GROUP BY CustomerID;


خروجی نمونه:
[
{"CustomerID": 101, "OrderSummary": {"Order1": 500, "Order2": 750}},
{"CustomerID": 102, "OrderSummary": {"Order3": 300}}
]


‼️برای دیدن نمونه مثال و مطالعه بیشتر به لینک‌های زیر مراجعه کنید:

🔗لینک اول

🔗لینک دوم

🔗لینک سوم

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

#هوتن_همتی (لینکدین)

کانال تلگرام:
@SoftwarePhilosophy

_______


>>Click here to continue<<

Software Philosophy




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)