کلید های پایه ای که مدیریت پایگاه داده را آسان می کند

کلید های پایگاه داده ساده ترین راه برای ایجاد یک پایگاه داده ارتباطی کارآمد هستند

همانطور که قبلا می دانید، پایگاه های داده ها برای سازماندهی اطلاعات از جداول استفاده می کنند. (اگر یک آگاهی ساده از مفاهیم پایگاه داده نداشته باشید، خواندن یک پایگاه داده را بخوانید). هر جدول شامل تعدادی ردیف است که هر کدام به یک رکورد پایگاه داده متصل هستند. بنابراین، پایگاه های داده چگونه تمام این پرونده ها را مستقیما نگه می دارند؟ این از طریق استفاده از کلیدها است.

کلیدهای اولیه

اولین نوع کلیدی که بحث خواهیم کرد کلید اصلی است . هر جدول پایگاه داده باید یک یا چند ستون تعیین شده به عنوان کلید اولیه داشته باشد. ارزش این کلید برای هر رکورد در پایگاه داده باید منحصر به فرد باشد.

به عنوان مثال، فرض کنید ما یک جدول به نام Employers داریم که حاوی اطلاعات پرسنلی برای هر کارمند در شرکت ما است. ما باید یک کلید اولیه مناسب را انتخاب کنیم که هر کارمند منحصرا را شناسایی کند. فکر اول شما ممکن است از نام کارمند استفاده کنید. این خیلی خوب کار نمی کند چون ممکن است شما دو کارمند با نام مشابه استخدام کنید. یک انتخاب بهتر ممکن است برای استفاده از شناسه کارمند منحصر به فرد که شما به هر کارمند اختصاص دهید، زمانی که استخدام می شوید. بعضی از سازمان ها برای استفاده از این شماره از شماره های امنیت اجتماعی (یا شناسه های دولتی مشابه) استفاده می کنند، زیرا هر یک از کارمندان قبلا دارای یک و منحصر به فرد هستند. با این حال، استفاده از شماره های امنیت اجتماعی برای این هدف به دلیل نگرانی های امنیتی بسیار بحث برانگیز است. (اگر برای یک سازمان دولتی کار می کنید، استفاده از یک شماره امنیت اجتماعی ممکن است حتی در قانون حفظ حریم خصوصی سال 1974 غیر قانونی باشد.) به همین دلیل، بیشتر سازمان ها به استفاده از شناسه های منحصر به فرد (شناسه کارمند، شناسه دانشجویی و غیره .) که نگران این حریم خصوصی نیستند.

هنگامی که شما بر اساس یک کلید اولیه تصمیم گیری می کنید و پایگاه داده را تنظیم می کنید، سیستم مدیریت پایگاه داده یكی از كلیدی را اجرا می كند.

اگر سعی کنید یک رکورد را در یک جدول با یک کلید اولیه که یک رکورد موجود را تکرار می کنید وارد کنید، ورقه شکست خواهد خورد.

اکثر پایگاه های داده نیز قادر به ایجاد کلیدهای اولیه خود هستند. برای مثال Microsoft Access ممکن است پیکربندی شده برای استفاده از نوع داده AutoNumber برای اختصاص یک شناسه منحصر به فرد برای هر رکورد در جدول. در حالی که موثر است، این یک عمل بد طراحی است زیرا شما در هر رکورد در جدول با مقدار معناداری جای می گذارید. چرا این فضا برای ذخیره چیزی مفید نیست؟

کلید های خارجی

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

بیایید فرض کنیم که جدول گروه ها از ستون Name Department به عنوان کلید اولیه استفاده می کنند. برای ایجاد ارتباط بین دو جدول، ستون جدیدی را به جدول کارمندان به نام Department اضافه می کنیم. سپس نام بخش مربوط به هر کارمند متعلق به آن را پر کنید. ما همچنین به سیستم مدیریت پایگاه داده اطلاع می دهیم که ستون گروه در جدول کارمندان یک کلید خارجی است که به جدول گروه ها مراجعه می کند.

سپس بانک اطلاعاتی یکپارچگی ارجاعی را با اطمینان از این که تمام مقادیر ستون گروهها جدول کارکنان دارای ورودی های متناظر در جدول گروه است، اجرا می کنند.

توجه داشته باشید که محدودیت منحصر به فردی برای کلید خارجی وجود ندارد. ما ممکن است (و به احتمال زیاد) بیش از یک کارمند که متعلق به یک واحد واحد است. به طور مشابه، نیازی نیست که یک ورودی در جدول گروه ها دارای ورودی متناظر در جدول کارکنان باشد. این امکان وجود دارد که ما یک بخش با هیچ کارمند داشته باشیم.

برای اطلاعات بیشتر در مورد این موضوع، خواندن ایجاد کلید های خارجی را بخوانید.