انتخاب یک کلید اولیه

از کد پستی یا شماره امنیت اجتماعی استفاده نکنید

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

چرا کلید اصلی مهم است

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

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

انتخاب های بد برای کلید های اولیه

بعضی از افراد ممکن است یک انتخاب واضح برای یک کلید اولیه را درنظر بگیرند، بلکه می توانند انتخاب بدی باشند. در اینجا چند نمونه هستند:

انتخاب یک کلید اولیه موثر

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

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

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