اسکریپت: لیست جداول بدون ارتباط Loner Tables

اسکریپت: لیست جداول بدون ارتباط Loner Tables

نوشته شده توسط: زهرا فرهنگی
۱۶ مهر ۱۳۹۷
زمان مطالعه: 5 دقیقه
۰
(۰)

مقدمه

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

select 'No FKs >-' refs,
fks.tab as [table],
'>- no FKs' fks
from
(select schema_name(tab.schema_id) + '.' + tab.name as tab,
count(fk.name) as fk_cnt
from sys.tables as tab
left join sys.foreign_keys as fk
on tab.object_id = fk.parent_object_id
group by schema_name(tab.schema_id), tab.name) fks
inner join
(select schema_name(tab.schema_id) + '.' + tab.name as tab,
count(fk.name) ref_cnt
from sys.tables as tab
left join sys.foreign_keys as fk
on tab.object_id = fk.referenced_object_id
group by schema_name(tab.schema_id), tab.name) refs
on fks.tab = refs.tab
where fks.fk_cnt + refs.ref_cnt = 0

Refs: نماد نشان دهنده عدم وجود Reference توسط جداول دیگر
Table: نام جدول همراه با نام شما
Fks: نماد نشان دهنده عدم وجود Foregin key در این جدول

یک نمونه از نتیجه اجرای کوئری بالا روی دیتابیس AdventureWorks

چه رتبه ای می‌دهید؟

میانگین ۰ / ۵. از مجموع ۰

اولین نفر باش

title sign
معرفی نویسنده
زهرا فرهنگی
مقالات
51 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
زهرا فرهنگی

کارشناس پایگاه داده، در حال کسب تجربه در زمینه‌های تحلیل انباره داده، BI، بهینه سازی پایگاه‌های داده

پروفایل نویسنده
title sign
دیدگاه کاربران