نوشته شده توسط
veniz2008
سلام.
قانون جامعیت دیتابیس میگه که یک طراح دیتابیس وظیفه داره تا قوانینی رو حاکم کنه که جامع بودن و کامل بودن بانک اطلاعاتی رو تضمین کنه.
این درست که شما در برنامه این موارد رو چک می کنید ولی آیا تضمین میدید که در هر شرایطی (اشتباه یا فراموش کردن بخشی از بررسی در سمت برنامه، دسترسی مستقیم به دیتابیس و ...) باز هم اطلاعات بدرستی ثبت بشه؟
قطعا چنین تضمینی وجود نداره. بنابراین حتما باید در سمت دیتابیس هم این کنترل ها لحاظ بشه.
ما در کل دو نوع قوانین جامعیت داریم :
1. قوانین جامعیت عام:
الف) قانون جامعیت موجودیتی : کلید نمیتونه null باشه.(این مورد بصورت اتومات توسط دیتابیس ها چک میشه)
ب) قانون جامعیت ارجاعی : کلید خارجی وابسته به مقادیر کلید اصلی هست در غیر اینصورت باید null درج بشه.
2. قوانین جامعیت خاص:
الف) Check Constraint : مثلا برای فیلد نمره دانشجو که یک عدد بین 0 تا 20 هست و نباید عددی خارج از این محدوده درج بشه.
ب) Unique Constraint : در سیستم دانشجویی که معمولا شماره دانشجویی کلید هست، برای ثبت کد ملی اشخاص که منحصر بفرد هست کاربرد داره.
و ...