پایگاه های داده برای ذخیره، مرتب سازی، و مقایسه یا ایجاد روابط بین رکوردها به کلیدهایی بستگی دارند. اگر مدتی در پایگاههای اطلاعاتی بودهاید، احتمالاً در مورد انواع مختلفی از کلیدها شنیدهاید: کلیدهای اصلی، کلیدهای نامزد، و کلیدهای خارجی.
هنگامی که یک جدول پایگاه داده جدید ایجاد می کنید، از شما خواسته می شود یک کلید اصلی را انتخاب کنید که به طور منحصر به فرد هر رکورد ذخیره شده در آن جدول را شناسایی کند.
چرا کلید اصلی مهم است
انتخاب یک کلید اصلی یکی از حیاتی ترین تصمیماتی است که در طراحی یک پایگاه داده جدید می گیرید. مهمترین محدودیت این است که باید مطمئن شوید که کلید انتخاب شده منحصر به فرد است.اگر ممکن است که دو رکورد (گذشته، حال یا آینده) مقدار یکسانی برای یک ویژگی داشته باشند، انتخاب ضعیفی برای یک کلید اصلی است.
یکی دیگر از جنبه های مهم کلید اصلی استفاده از آن توسط جداول دیگری است که به آن در یک پایگاه داده رابطه ای پیوند دارند. در این جنبه، یک کلید اولیه به عنوان هدف یک اشاره گر عمل می کند. به دلیل این وابستگیهای متقابل، هنگام ایجاد یک رکورد، یک کلید اولیه باید وجود داشته باشد و هرگز نمیتواند تغییر کند.
انتخابهای ضعیف برای کلیدهای اصلی
آنچه که برخی افراد ممکن است به عنوان یک انتخاب واضح برای یک کلید اصلی در نظر بگیرند، می تواند در عوض یک انتخاب ضعیف باشد. در اینجا چند نمونه آورده شده است:
- کدهای پستی کلیدهای اولیه خوبی برای جدول شهرها نیستند. اگر یک جدول جستجوی ساده از شهرها تهیه می کنید، به نظر می رسد کد پستی یک کلید اصلی منطقی است. با این حال، پس از بررسی بیشتر، ممکن است متوجه شوید که بیش از یک شهر یک کد پستی مشترک دارند. به عنوان مثال، شهرهای نیوجرسی نپتون، نپتون سیتی، آبشار تینتون و شهر وال همگی کد پستی 07753 را به اشتراک می گذارند.
- شمارههای تامین اجتماعی به دلایل زیادی کلیدهای اصلی خوبی نیستند. اکثر مردم SSN خود را خصوصی می دانند و نمی خواهند به وضوح برای کاربران پایگاه داده قابل مشاهده باشد. علاوه بر این، برخی از افراد SSN ندارند.
- آدرس های ایمیل نیز انتخاب ضعیفی برای کلید اصلی است. اگرچه آنها منحصر به فرد هستند، اما می توانند در طول زمان تغییر کنند. علاوه بر این، همه یک آدرس ایمیل ندارند.
چه چیزی یک کلید اصلی خوب را می سازد
بنابراین، چگونه کلید اصلی موثر را انتخاب می کنید؟ در بیشتر موارد، برای پشتیبانی به سیستم پایگاه داده خود مراجعه کنید.
بهترین روش در طراحی پایگاه داده استفاده از کلید اصلی تولید شده داخلی است. سیستم مدیریت پایگاه داده شما معمولاً می تواند یک شناسه منحصر به فرد ایجاد کند که معنایی خارج از سیستم پایگاه داده ندارد.
برای مثال، ممکن است از نوع داده Microsoft Access AutoNumber برای ایجاد فیلدی به نام RecordID استفاده کنید. نوع داده AutoNumber به طور خودکار هر بار که یک رکورد ایجاد می کنید، فیلد را افزایش می دهد.در حالی که این عدد به خودی خود بی معنی است، اما راه قابل اعتمادی برای ارجاع یک رکورد فردی در پرس و جو ارائه می دهد.
یک کلید اولیه خوب معمولاً کوتاه است، از اعداد استفاده می کند و از کاراکترهای خاص یا ترکیبی از حروف بزرگ و کوچک برای تسهیل جستجو و مقایسه سریع پایگاه داده اجتناب می کند.