تُعد المفاتيح الأساسية (Primary keys) في قواعد البيانات ضرورية لأسباب عديدة؛ فهي تحافظ على سلامة الكيانات (Entity Integrit) وتُسهم في تسريع عمليات البحث عن البيانات أو ربطها.
في بعض الأحيان، قد لا يتم تعيين مفاتيح أساسية لبعض الجداول. ومن الأفضل إنشاء مفاتيح لهذه الجداول لضمان أداء أفضل وسلامة أدق للبيانات.
يعرض استعلام SQL التالي قائمة بجميع الجداول التي تفتقر إلى مفتاح أساسي في قاعدة بيانات محددة (<database_name>):
SELECT
TABLE_SCHEMA as 'Database',
TABLE_NAME as 'Table',
TABLE_ROWS as 'Row Count'
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = '<database_name>'
AND TABLE_TYPE = 'BASE TABLE'
AND TABLE_NAME NOT IN (
SELECT TABLE_NAME
FROM information_schema.TABLE_CONSTRAINTS
WHERE CONSTRAINT_TYPE = 'PRIMARY KEY'
AND TABLE_SCHEMA = '<database_name>'
)
ORDER BY TABLE_ROWS DESC;ما عليك سوى استبدال <database_name> باسم قاعدة بياناتك.