بررسی قابلیت 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 150column object_name format a12column object_type format a12column column_name format a12column domain_name format a12column domain_owner format a12column annotation_name format a14column annotation_value format a20select object_name,object_type,column_name,domain_name,domain_owner,annotation_name,annotation_valuefrom user_annotations_usageorder by annotation_name, annotation_value;OBJECT_NAME OBJECT_TYPE COLUMN_NAME DOMAIN_NAME DOMAIN_OWNER ANNOTATION_NAM ANNOTATION_VALUE———— ———— ———— ———— ———— ————– ——————–FRUIT TABLE ID CLASSIFICATION Fruit InfoFRUIT TABLE DESCRIPTION CLASSIFICATION Fruit InfoFRUIT TABLE NAME CLASSIFICATION Fruit InfoFRUIT TABLE CLASSIFICATION Fruit InfoFRUIT TABLE ID SURROGATEKEYFRUIT TABLE DESCRIPTION UI_DISPLAY DescriptionFRUIT TABLE ID UI_DISPLAY Fruit IDFRUIT TABLE NAME UI_DISPLAY Fruit NameFRUIT TABLE UI_DISPLAY Fruit TableFRUIT TABLE VISIBILITY EveryoneFRUIT TABLE ID VISIBILITY Hidden۱۱ rows selected.SQL>برای دریافت خدمات پایگاه داده اوراکل با ما در ارتباط باشید.منبع مستند