دیتابیسها تنها جداول ذخیره اطلاعات نیستند، بلکه سیستمهای مدیریت پیچیدهای هستند. اگر در آزمونهای فنی و حرفهای با سوالات دیتابیس مواجه شدید، بدانید که طراحان به دنبال فهم شما از «نرمالسازی» (Normalization) هستند. سوال نمونه: «هدف از نرمالسازی دیتابیس چیست؟» پاسخ: کاهش افزونگی دادهها و جلوگیری از ناهنجاریهای بهروزرسانی. یک طراح حرفهای میداند که نباید دادههای تکراری را در ستونهای غیرضروری نگه داشت.
در بخش کوئرینویسی، مفاهیم JOIN بسیار حیاتی هستند. تفاوت Inner Join (اشتراک دو جدول) و Left Join (تمام دادههای جدول سمت چپ حتی اگر در راست نباشند) را باید در خواب هم بلد باشید! همچنین مبحث ایندکسگذاری (Indexing) بسیار مهم است. سوال نمونه: «ایندکسگذاری چگونه سرعت را افزایش میدهد؟» پاسخ: با ایجاد یک ساختار درختی (معمولاً B-Tree) که جستجو را از پیمایش خطی به جستجوی دودمانی تبدیل میکند.
در این نوشته، ما علاوه بر بررسی نمونه سوالات، به بررسی «تراکنشها» (ACID) میپردازیم. تضمین میکنیم که این مفاهیم، ستون فقراتِ دانشِ دیتابیسی شما را خواهند ساخت. فرقی نمیکند از MySQL استفاده میکنید یا SQL Server؛ منطقِ کار یکی است. با مطالعه دقیق سوالات این پست، برای هرگونه آزمون تئوری و عملی آماده خواهید شد.