مسعود سلطانی راد
مسعود سلطانی راد
خواندن ۳ دقیقه·۱ سال پیش

بررسی قابلیت Annotations در Oracle Database 23c


در Oracle Database 23c، ما می توانیم  Annotations(حاشیه نویسی)را به عنوان یک بسط  comments پایگاه داده در نظر بگیریم. با comments ما توانستیم متن آزاد را به اشیایی مانند جداول و ستون ها اضافه کنیم و به ما امکان می دهد هدف و کاربرد آنها را شرح دهیم.  Annotations این را یک گام فراتر می برد و به ما امکان می دهد جفت های نام-مقدار را با اکثر اشیاء پایگاه داده مرتبط کنیم، که می تواند برای توصیف یا طبقه بندی آنها استفاده شود. نام ها و مقادیر متن آزاد هستند، بنابراین ما می توانیم هر چیزی را که برایمان معنادار است انتخاب کنیم.

ممکن است یادداشت هایی را مشاهده کنید که به عنوان ” Annotations استفاده از برنامه” توصیف شده اند. این به سادگی تأکید می کند که Annotations برای کمک به مستندات برنامه شما هستند.

 مقاله بررسی امکانات جدید اوراکل ۲۳c

استفاده از Annotations

اگر یک شی از Annotations پشتیبانی می کند، بند Annotations معمولاً از این قالب پیروی می کند.

ANNOTATIONS ( {ADD|DROP} annotation name {‘annotation value’} {,} )

در اینجا یک مثال ساده از افزودن annotation به جدول آورده شده است. توجه داشته باشید که هنگام افزودن این  Annotations از کلمه کلیدی اختیاری ADD استفاده نمی‌کنیم.

create table fruit (

id           number        annotations (SurrogateKey, UI_Display ‘Fruit ID’, Classification ‘Fruit Info’),

name         varchar2(50)  annotations (UI_Display ‘Fruit Name’, Classification ‘Fruit Info’),

description  varchar2(50)  annotations (UI_Display ‘Description’, Classification ‘Fruit Info’)

)

annotations (UI_Display ‘Fruit Table’, Classification ‘Fruit Info’);

بیایید هر کدام را به ترتیب بررسی کنیم.

SurrogateKey: این annotation به ما می گوید که ستون یک کلید جایگزین است. توجه داشته باشید که این annotation هیچ ارزشی ندارد، زیرا نام برای ارائه معنی کافی است.

UI_Display : این annotation  نام نمایشی ترجیحی را در هر UI می دهد.

Classificaton: این annotation به ما اجازه می دهد تا نوع اطلاعات موجود را طبقه بندی کنیم. در این مورد ما آن را به عنوان “اطلاعات میوه” طبقه بندی می کنیم.

به یاد داشته باشید، همه این annotation ها فقط متن آزادی هستند که ما ساخته‌ایم. آنها هیچ معنایی برای پایگاه داده یا ابزار دیگری به جز معنایی که ما با آنها مرتبط می کنیم ندارند. اگر به فاصله در نام کلید نیاز داریم، باید آنها را دوبار نقل قول کنیم. این در مورد کلمات رزرو شده نیز صادق است.

ما می توانیم annotation را با افزودن یا حذف annotation تغییر دهیم. در این مثال‌ها، یک annotation جدید را بدون استفاده از کلمه کلیدی اختیاری ADD به جدول اضافه می‌کنیم، annotation را با استفاده از کلمه کلیدی DROP از بین می‌بریم و دوباره آن را اضافه می‌کنیم، این بار با استفاده از کلمه کلیدی ADD اختیاری می باشد.

alter table fruit annotations (Visibility ‘Everyone’);

alter table fruit annotations (drop Visibility);

alter table fruit annotations (add Visibility ‘Everyone’);

ما می توانیم کار مشابهی را با annotation  سطح ستون انجام دهیم

alter table fruit modify (id annotations (Visibility ‘Hidden’));

alter table fruit modify (id annotations (drop Visibility));

alter table fruit modify (id annotations (add Visibility ‘Hidden’));

استفاده از :Views

دو دیدگاه اصلی مرتبط با annotation وجود دارد. آنها نماهای USER_ANNOTATIONS و USER_ANNOTATIONS_USAGE هستند، اما شما احتمالا فقط از نمای USER_ANNOTATIONS_USAGE استفاده خواهید کرد.

set linesize 150

column object_name format a12

column object_type format a12

column column_name format a12

column domain_name format a12

column domain_owner format a12

column annotation_name format a14

column annotation_value format a20

select object_name,

object_type,

column_name,

domain_name,

domain_owner,

annotation_name,

annotation_value

from   user_annotations_usage

order by annotation_name, annotation_value;

OBJECT_NAME  OBJECT_TYPE  COLUMN_NAME  DOMAIN_NAME  DOMAIN_OWNER ANNOTATION_NAM ANNOTATION_VALUE

———— ———— ———— ———— ———— ————– ——————–

FRUIT        TABLE        ID                                     CLASSIFICATION Fruit Info

FRUIT        TABLE        DESCRIPTION                            CLASSIFICATION Fruit Info

FRUIT        TABLE        NAME                                   CLASSIFICATION Fruit Info

FRUIT        TABLE                                               CLASSIFICATION Fruit Info

FRUIT        TABLE        ID                                     SURROGATEKEY

FRUIT        TABLE        DESCRIPTION                            UI_DISPLAY     Description

FRUIT        TABLE        ID                                     UI_DISPLAY     Fruit ID

FRUIT        TABLE        NAME                                   UI_DISPLAY     Fruit Name

FRUIT        TABLE                                               UI_DISPLAY     Fruit Table

FRUIT        TABLE                                               VISIBILITY     Everyone

FRUIT        TABLE        ID                                     VISIBILITY     Hidden

۱۱ rows selected.

SQL>

برای دریافت خدمات پایگاه داده اوراکل با ما در ارتباط باشید.

منبع مستند

oracle database ۲۳oracleاوراکلمشاوره اوراکلمسعود سلطانی راد
چند سالی هست در حوزه داده ها ( نگهداری و تحلیل آنها) فعالیت دارم و همیشه سعی کردم آموخته هایم رو به اشتراک بگذارم soltanirad@artarad.ir www.artarad.ir
شاید از این پست‌ها خوشتان بیاید