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