Catalog View چیست؟

Catalog view ها اطلاعاتی را در خود نگهداری می‌کنند که موتور پایگاه داده SQL Server از آنها استفاده می‌نماید. استفاده از این view ها به کسانی توصیه می‌شود که به اطلاعاتی در رابطه با ساختار پایگاه داده خود نیاز دارند. این view ها عمومی‌ترین واسط موجود برای به دست آوردن متادیتاهایی در رابطه با  پایگاه داده می‌باشند. شما می‌توانید توسط کوئری‌های ساده به اطلاعات ارزشمندی به دست آورید. به عنوان مثال می‌توانید ارتباط بین آبجکت‌های موجود در پایگاه داده را با یک کوئری به دست آورید. یا مثلا می‌توانید لیست نام تمام جداول موجود یا کلید‌های شناسه موجود در پایگاه داده را به سادگی به دست آورید.

مثلا تکه کد زیر لیست تمام stored procedure های تعریف شده را به شما در خروجی خواهد داد :

 

USE MyTable

SELECT name FROM sys.objects WHERE type = 'P'

 

یکی از نکاتی که باید به آن توجه کرد این است که این view ها اطلاعاتی در رابطه با replication ، پشتیبان و طرح نگهداری پایگاه داده (db maintenance plan) یا SQL Server Agent در خود نگه نمی‌دارند.

برخی از catalog view ها سطرهای خود را از سطرهای دیگر به ارث می‌برند. به عنوان مثال sys.tables که اطلاعات مربوط به جداول موجود در وایگاه داده را در خود نگه می‌دارد، داده‌های خود را از sys.objects به دست می‌آورد. Sys.objects برای موارد دیگر یک catalog view پایه‌ای به حساب می‌آید. زمانی که یک جدول جدید در پایگاه داده ساخته می‌شود، متادیتای مربوط ازهر دو view قابل بازگشت است. اگر چه هر دوی این‌ها اطلاعات در سطح مختلفی را در رابطه با جدول به کاربر باز می‌گرداننداما فقط یک قلم ازاین داده با یک نام و یک شناسه (object_id) وجود دارد. به عبارت دیگر می‌توان گفت:

  • View پایه شامل زیرمجموعه‌ای از ستون‌ها و یک ابرمجموعه از سطرهاست.
  • View مشتق شده شامل یک ابرمجموعه از ستون‌ها و یک زیرمجموعه از سطرهاست.


 
توجه : از آنجایی که ممکن است در نسخه‌های آینده، اطلاعات کامل‌تری در این view ها ذخیره شوند بهتر از برای استفاده از آنها کوئری به شکل زیر باشد:

SELECT * FROM sys.catalog_view_name

 

این view ها در SQL Server به دسته‌های زیر دسته‌بندی شده است:


1.       Change Tracking Catalog Views

2.       Messages (For Errors) Catalog Views

3.       CLR Assembly Catalog Views

4.       Object Catalog Views

5.       Databases and Files Catalog Views

6.       Partition Function Catalog Views

7.       Database Mail Views

/ 2 نظر / 70 بازدید
shabanpour

salam . joz khaste nabashido das marizad chize dgei nemitoonam begam vaghean khaste nabashid

سوده

سلام.. خسته نباشید مثل همیشه عـــــــــــــــالی بود آقای رمضانی.. خیلی حیفه که بخاطر مشغله کاری دیر به دیر وبلاگتون رو UpDate می کنید.[ناراحت] اما مطمئن باشید که خوانندگان ثابت وبلاگتون رو دارید.[عینک] و همیشه از مطالب خوبتون استفاده می کنیم..[گل] موفق باشید..