آشنایی با نوع داده ای JSON در پایگاه داده اوراکل 21c



آشنایی با نوع داده ای JSON در پایگاه داده اوراکل 21c

آشنایی با نوع داده ای JSON در دیتابیس اوراکل 21c

در این مقاله زمیوس در بخش دیتابیس قصد داریم در مورد آشنایی با نوع داده ای JSON در پایگاه داده اوراکل 21c آشنا بشیم. نوع داده JSON در نسخه پیش نمایش Oracle 20c معرفی شد تا پشتیبانی JSON بومی را ارائه دهد و performance و عملکرد پردازش JSON را بهبود ببخشد. و در نهایت در پایگاه داده  Oracle 21c در دسترس قرار گرفته است.

 نوع داده ای JSON 

 نوع داده ای JSON در دیتابیس اوراکل بهینه شده نوع داده ای binary JSON است که اصطلاحا آن را OSON می نامند. که هدف از این نوع داده  برای جستجوی سریعتر و عملکرد DML در پایگاه داده و در کلاینت های پایگاه داده از نسخه 20c/21c به بالا طراحی شده است. 

ما یک ستون در یک جدول با استفاده از نوع داده JSON ایجاد میکنیم ، این ستون درست مانند هر نوع داده دیگر تعریف می شود. 

 نوع داده ای JSON _ 1

ما می توانیم جدول را با استفاده از داده های JSON از طریق سه روش با استفاده از سازنده JSON (JSON constructor) پر کنیم.

 نوع داده ای JSON _ 2

برخی از Inserts درجهای اطلاعات بدون استفاده صریح از سازنده JSON خوب کار می کنند ، اما استفاده صریح از آن منطقی  و درست است.

داده ها در جدول در قالب دودویی binary ذخیره می شوند ، بنابراین یک داده ها در خروجی کوئری چندان مفید و کاربردی نیست.

 نوع داده ای JSON _ 3

کوئری های نمایش داده های json

از طریق تابع JSON_SERIALIZE برای تبدیل  داده های JSON از هر نوع داده پشتیبانی شده به متن قابل خواندن استفاده می شود که در اوراکل 19c معرفی شد ، اما در اوراکل 21c از نوع داده JSON توسعه یافته و بهبود داده شده است.

کوئری های نمایش داده های json_1

ما می توانیم با استفاده از توابع معمولی SQL/JSON که در نسخه های قبلی اوراکل معرفی شده است از نوع داده ای جدید JSON نیز پشتیبانی می کنند ، استفاده کنید و مقادیر را جستجو کنیم.

به عنوان مثال در تصویر زیر برای مشاهده مقادیر ستون با نوع داده های JSON از تابع JSON_VALUE  استفاده کنید. 

کوئری های نمایش داده های json_2

در مثال زیر با استفاده از تابع JSON_QUERY داده ها را نمایش می دهیم. 

کوئری های نمایش داده های json_3

در مثال زیر با استفاده از تابع JSON_TABLE داده ها را نمایش می دهیم. 

کوئری های نمایش داده های json_4

ما همچنین می توانیم داده ها را با استفاده از نماد نقطه جستجو کنیم و نمایش دهیم.  به خاطر داشته باشید که داده ها باینری  binary هستند ، بنابراین ما باید آنها را با استفاده از تابع JSON_SERIALIZE به متن تبدیل کنیم.

کوئری های نمایش داده های json_5

تابع JSON_SCALAR

تابع JSON_SCALAR نمونه ای یا instance از نوع JSON را از مقدار SQL Scalar ایجاد می کند.

تابع JSON_SCALAR_1

ما می توانیم با استفاده از تابع JSON_SERIALIZE ببینیم و نمایش دهیم که با تبدیل مقدار JSON به متن چه مقداری را ایجاد کرده ایم.

تابع JSON_SCALAR_2

PL/SQL و پشتیبانی از JSON

برای بسیاری از عملیات خیلی شبیه به استفاده از تابع JSON_TRANSFORM ، که در پایگاه داده Oracle 21c معرفی شده است می باشد و مشکلی نیست و می توانید در PL/SQL از نوع داده ای JSON استفاده کنید.

در PL/SQL نوع داده و آبجکت جدیدی به نام JSON_OBJECT_T از نوع داده ای JSON پشتیبانی می کند. در مثال زیر مقدار JSON را از جدول t1 دریافت می کند و آن را به نوع داده ای JSON_OBJECT_T تبدیل می کند و در PL/SQL می توانید مقدار JSON را مورد عملیات و پردازش قرار دهیم. 

PL/SQL و پشتیبانی از JSON_1

و زمانی که عملیات و پردازش روی داده های JSON که در نوع داده ای JSON_OBJECT_T  به اتمام رسید ما باید داده ه JSON به نوع داده ای JSON با استفاده از تابع TO_JSON تبدیل کنیم و در پایگاه داده اوراکل قرار دهیم. 

PL/SQL و پشتیبانی از JSON_2

برای مطالعه بیشتر لینک های زیر را مشاهده کنید: 

جهت ثبت پیام باید در سایت عضو شوید و یا وارد سایت شده باشید .
ورود به حساب کاربری / ایجاد حساب کاربری
کار با Built-in Functions در پایتون (2)

کار با Built-in Functions در پایتون (2)

در این مقاله زمیوسی در بخش آموزش قصد داریم در مورد کار با Built-in Functions در پایتون صحبت کنیم. شما قبلاً با محبوب ترین تابع در پایتون یعنی ()print آشنا شدید.

Cheat Sheet در پایتون - مبانی پایتون (1)

Cheat Sheet در پایتون - مبانی پایتون (1)

پایتون 3 یک زبان برنامه نویسی واقعا همه کاره است که دوستش دارم هم برای توسط توسعه دهندگان وب web developers، دانشمندان داده data scientists و ...

10 وب سایت برای حل تمام سوالات مربوط به برنامه نویسی

10 وب سایت برای حل تمام سوالات مربوط به برنامه نویسی

در این مقاله زمیوسی، قصد داریم در مورد 10 سایت که برای حل تمام سوالات مربوط به برنامه نویسی شما صحبت کنیم. در هنگام یادگیری برنامه نویسی یا توسعه یک نرم افزار ....

APEX_ZIP : مدیریت فایل های Zip از PL/SQL

APEX_ZIP : مدیریت فایل های Zip از PL/SQL

در این قسمت از آموزش مقاله زمیوس در بخش دیتابیس قصد داریم مجدد با یکی از قابلیت های APEX آشنا شویم در این مقاله با استفاده از پکیج APEX_ZIP ...