یکپارچگی ارجاعی (Referential Integrity) برای اتصال‌ها در Tableau Desktop

یکپارچگی ارجاعی (Referential Integrity) برای اتصال‌ها در Tableau Desktop

گزینه‌ی Assume Referential Integrity یا به اصطلاح یکپارچگی ارجاعی در Tableau Desktop برای بهبود عملکرد پیوندها استفاده می‌شود.

زمانی که این گزینه فعال باشد، Tableau تنها جداولی را در پرس‌وجو وارد می‌کند که فیلدهایشان در نما استفاده شده باشند. این قابلیت زمانی مناسب است که مطمئن باشید داده‌ها دارای Referential Integrity هستند، اما پایگاه داده آن را enforce نمی‌کند. در چنین شرایطی، فعال‌سازی این گزینه باعث کاهش حجم داده‌های پردازش‌شده و افزایش سرعت اجرای کوئری‌ها می‌شود. البته اگر امکان تعریف Referential Integrity در خود پایگاه داده وجود داشته باشد، بهتر است از همان روش استفاده شود تا هم در سطح پایگاه داده و هم در Tableau کارایی بهبود یابد.

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

یکپارچگی ارجاعی (Referential Integrity) برای اتصال‌ها در Tableau Desktop

استفاده از این تنظیم زمانی مناسب است که می‌دانید داده‌های شما دارای یکپارچگی ارجاعی هستند (به تعریف زیر مراجعه کنید) اما پایگاه داده شما یکپارچگی ارجاعی را اعمال نمی‌کند یا نمی‌تواند اعمال کند. اگر گزینه پیکربندی یکپارچگی ارجاعی را در پایگاه داده خود دارید، این گزینه بهتر از استفاده از این تنظیم است زیرا می‌تواند عملکرد را هم در پایگاه داده و هم در Tableau بهبود بخشد. گزینه Assume Referential Integrity در Tableau فقط می‌تواند بر عملکرد در سمت Tableau تأثیر بگذارد. اگر داده‌های شما یکپارچگی ارجاعی نداشته باشند و این تنظیم را فعال کنید، نتایج پرس و جو ممکن است قابل اعتماد نباشند.

Assume Referential Integrity

برای درک اینکه یکپارچگی ارجاعی چیست، تصور کنید که به داده‌های فروش که دارای دو جدول است متصل می‌شوید: Sales و Product Catalog. این دو جدول در زیر نشان داده شده‌اند:

Sales

Product ID (Foreign Key) Sale Amount Transaction Date
1 100 10/1/2012
1 2000 10/2/2012
2 50 9/30/2012
3 10 8/21/2012
Product Catalog

Product ID (Primary Key) Product Name
1 10 Inch Tablet
2 Smart Phone
3 Desk Lamp
4 Memory Stick

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

Product ID Product Name Product ID Sale Amount Transaction Date
1 10 Inch Tablet 1 100 10/1/2012
1 10 Inch Tablet 1 2000 10/2/2012
2 Smart Phone 2 50 9/30/2012
3 Desk Lamp 3 10 8/21/2012

Referential Integrity for Joins

حالا فرض کنید شما یک نما (view) برای مشاهده‌ی مبلغ فروش بر اساس منطقه (Region) ایجاد کرده‌اید. به طور پیش‌فرض، کشیدن فیلد مبلغ فروش به نما ممکن است یک پرس‌وجو (query) مانند این ایجاد کند:

SELECT SUM([Sales Amount]) FROM [Sales] S INNER JOIN [Product Catalog] P ON S.ProductID = P.ProductID

 

با انتخاب Assume Referential Integrity، به Tableau می‌گویید که جداول متصل شده دارای یکپارچگی ارجاعی هستند. به عبارت دیگر، شما تأیید می‌کنید که جدول فروش همیشه یک ردیف منطبق در جدول کاتالوگ محصول خواهد داشت. از آنجا که این موضوع درست است، Tableau برای بازگرداندن این نتایج به هیچ اطلاعاتی از جدول کاتالوگ محصول نیاز ندارد. وقتی فیلد Sales Amount را به داخل نما می‌کشانید، Tableau می‌تواند پرس‌وجو را به صورت زیر ساده کند:

SELECT SUM([Sales Amount]) FROM [Sales]

 

این کوئری ساده‌شده اغلب می‌تواند نتایج سریع‌تری را برگرداند زیرا عملیات اتصال (join) را حذف می‌کند. این گزینه فقط اتصالات داخلی را تحت تأثیر قرار می‌دهد و بر منابع داده‌ای که یک جدول واحد دارند، تأثیری ندارد.

 

 

برای خرید لایسنس نرم افزار Tableau ، می‌توانید از خدمات ما استفاده نموده و درخواست خود را از طریق فرم زیر ثبت نمایید.

فرم درخواست لایسنس Tableau

 

tableau desktop download

 

 

 

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *