نرمال‌سازی (پایگاه داده‌ها)

نرمال‌سازی پایگاه داده‌ها (به انگلیسی: Database normalization یا database normalisation) یکی از اصول علم پایگاه داده‌ها از بین بردن افزونگی است. افزونگی به این معناست یک داده خاص در چند محل مختلف پایگاه ذخیره شود. این امر موجب می‌شود که این خطر بالقوه به وجود آید که داده‌ها هر لحظه با هم در تضاد قرار گیرند و استخراج واقعیت از آن‌ها غیرممکن شود به بیان دیگر فرایندی است که بر اساس آن داده‌ها و اطلاعات در واحدهای منطقی به نام جدول به شکلی توزیع می‌شود که علاوه بر حفظ موجودیت داده‌ها از ایجاد پدیدهٔ افزونگی جلوگیری به عمل می‌آورد به این منظور فرم‌های نرمال متعددی تعریف و مورد استفاده قرار می‌گیرد، برای نرمال‌سازی یک جدول لازم است ابتدا در فرم اول نرمال شده سپس در فرم فرم‌های بعدی بررسی گردد، در هنگام نرمال‌سازی جداول تعداد جداول در پایگاه داده افزایش می‌یابد.[۱]

طرح نرمال‌سازی پایگاه داده

نرمال‌سازی مجموعه قوانینی است که رعایت آن‌ها حذف افزونگی (یا در مواردی نادر به حداقل رساندن آن) را تضمین می‌کند.[۲]

شکل‌های نرمال‌سازی ویرایش

شکل 1NF

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

  1. نوع داده‌ها و اطلاعات در هر ستون یکسان باشد.
  2. محتویات هر ستون یک مقدار مشخص باشد اتمیک باشد.
  3. هر سطر از جدول منحصربه‌فرد باشد به این منظور می‌توان از قید کلید اصلی یا PK استفاده نمود.
شکل 2nf

یک جدول در فرم دوم نرمال است اگر شرایط زیر را داشته باشد:

  1. در فرم اول نرمال باشد.
  2. کلیه ستون‌های غیر کلید وابستگی تابعی کامل به کلیه ستون‌های کلید داشته باشد.
شکل 3nf

یک رابطه در فرم سوم نرمال است اگر شرایط زیر را داشته باشد

  1. در فرم اول و دوم نرمال باشد
  2. فاقد وابستگی‌های با واسطه باشد
شکل Bcnf

یک جدول در این حالت نرمال است، اگر شرایط زیر را داشته باشد:

  1. در فرم اول و دوم و سوم نرمال باشد.
  2. هر دترمینان یک کلید کاندید باشد (در تشکیل کلید شرکت کند)
شکل 4nf

در فرم چهارم نرمال است اگر شرایط زیر را داشته باشد:

  1. در فرم اول دوم سوم و bcnf نرمال باشد.
  2. فاقد وابستگی‌های چند مقداره باشد.[۲]

منابع ویرایش

  1. «نرمال‌سازی بانک‌های اطلاعات». بایگانی‌شده از اصلی در ۱ دسامبر ۲۰۱۲. دریافت‌شده در ۲۷ نوامبر ۲۰۱۲.
  2. ۲٫۰ ۲٫۱ «نرمال‌سازی». بایگانی‌شده از اصلی در ۱۴ نوامبر ۲۰۱۲. دریافت‌شده در ۲۷ نوامبر ۲۰۱۲.