Catalog در DB2
Catalog یک دیتابیس سیستمی (DSNDB06) در DB2 می باشد که تعریف و اطلاعاتِ کلیه ی Object های DB2 را در خود نگهداری می کند. به عبارتی مجموعه ای از جداول است که حاوی اطلاعات دیتایی هستند که DB2 کنترل می کند.
Catalog دارای جداولی از اطلاعات درباره ی هر چیزی است که در DB2 تعریف شده است. از جمله Tablespace، ایندکس، جدول، Storage Group ها.
زمانی که شما ساختاری در DB2 می سازید، تغییر می دهید و یا حذف می کنید، DB2 رکوردهایی که آن ساختارها را در Catalog تعریف می کنند را نیز اضافه، تغییر و یا حذف می کند و ارتباط آن ساختار با سایر Object ها را بازسازی می نماید.
مثال:
SYSIBM.SYSTABLES یکی از جداول Catalog می باشد که زمانی که یک جدول ساخته می شود، اطلاعات آن را ذخیره می کند. DB2 در زمان ساخت جدول، یک رکورد به SYSIBM.SYSTABLES اضافه می کند که شامل اسم جداول، Owner و سازنده ی آن ها، نوع آن ها، اسم Tablespace و Database می باشد.
جهت مطالعه نحوه ی ساخت جدول در DB2 اینجا کلیک کنید.
Catalog در زمان نصب DB2 تعریف می شود و اگر به هر دلیلی نصب آن به درستی صورت نگیرد، سیستم DB2 شما درست کار نخواهد کرد.
DSNDB06 فقط خواندنی است و امکان ایجاد هیچ گونه تغییری در آن توسط کاربر وجود ندارد. بنابراین شما نه می توانید به صورت دستی چیزی به آن اضافه کنید و نه امکان آپدیت و حذف چیزی در آن وجود دارد. تنها از طریق RUNSTATS Utility آپدیت کردن Catalog ممکن می شود.
چرا Catalog اهمیت زیادی برای سیستم دارد؟
- همانطور که قبلا گفتیم، اگر Catalog به درستی نصب نشود، سیستم DB2 قادر به انجام هیچ عملیاتی نمی باشد.
- زمانی که شما یک request به DBMS می فرستید، سیستم برای تشکیل مسیر دستیابی به داده (Access Path) از اطلاعات داخل Catalog استفاده می کند. برای شناسایی اطلاعاتی که داخل DB2 داریم، نیاز به یک مرجع داریم که آیا این اطلاعات در سیستم وجود دارد یا نه و اگر اطلاعات موجود است به چه شکلی می شود به آن دسترسی داشت. پس اگر Catalog وجود نداشته باشد، request ها هیچ پاسخی نخواهند داشت.
محتوای این مقاله بر گرفته از مطالب ارائه شده در کلاس DB2 fundamental Skills می باشد.
جهت مشاهده اطلاعات دوره های حضوری و آنلاین بنیاد آموزشی درس فراگیر اینجا کلیک کنید.
جهت مطالعه بیشتر در خصوص این موضوع به زبان انگلیسی می توانید از منابع زیر استفاده کنید: