1NF در مقابل 2NF در مقابل 3NF
نرمالسازی فرآیندی است که برای به حداقل رساندن افزونگیهای موجود در دادهها در پایگاههای داده رابطهای انجام میشود. این فرآیند عمدتا جداول بزرگ را به جداول کوچکتر با افزونگی کمتر تقسیم می کند. این جداول کوچکتر از طریق روابط کاملاً تعریف شده با یکدیگر مرتبط خواهند بود. در یک پایگاه داده به خوبی نرمال شده، هر گونه تغییر یا تغییر در داده ها نیاز به اصلاح تنها یک جدول دارد. اولین فرم نرمال (1NF)، دومین فرم نرمال (2NF) و سومین فرم نرمال (3NF) توسط ادگار اف. کاد، که مخترع مدل رابطه ای و مفهوم عادی سازی نیز هست، معرفی شد.
1NF چیست؟
1NF اولین فرم عادی است که حداقل مجموعه ای از الزامات را برای عادی سازی یک پایگاه داده رابطه ای فراهم می کند. جدولی که با 1NF مطابقت دارد اطمینان می دهد که در واقع یک رابطه را نشان می دهد (یعنی حاوی هیچ رکوردی نیست که تکرار شود)، اما هیچ تعریف پذیرفته شده جهانی برای 1NF وجود ندارد. یکی از ویژگیهای مهم این است که جدولی که با 1NF مطابقت دارد، نمیتواند دارای ویژگیهایی باشد که دارای ارزش رابطهای باشند (یعنی همه ویژگیها باید مقادیر اتمی داشته باشند).
2NF چیست؟
2NF دومین فرم عادی است که در پایگاه داده های رابطه ای استفاده می شود. برای اینکه یک جدول با 2NF مطابقت داشته باشد، باید با 1NF مطابقت داشته باشد و هر مشخصه ای که بخشی از هیچ کلید کاندید نیست (یعنی ویژگی های غیر اصلی) باید کاملاً به هر یک از کلیدهای نامزد در جدول بستگی داشته باشد.
3NF چیست؟
3NF سومین فرم نرمال مورد استفاده در عادی سازی پایگاه داده رابطه ای است. طبق تعریف Codd، یک جدول به 3NF گفته می شود، اگر و فقط اگر، آن جدول به شکل عادی دوم (2NF) باشد، و هر ویژگی در جدول که به یک کلید کاندید تعلق ندارد، باید مستقیماً به آن بستگی داشته باشد. روی هر کلید کاندید آن جدول.در سال 1982 کارلو زانیولو تعریف متفاوتی برای 3NF ارائه کرد. جداول مطابق با 3NF معمولاً حاوی ناهنجاریهایی نیستند که هنگام درج، حذف یا بهروزرسانی رکوردها در جدول رخ میدهند.
تفاوت بین 1NF و 2NF و 3NF چیست؟
1NF، 2NF و 3NF فرم های عادی هستند که در پایگاه داده های رابطه ای برای به حداقل رساندن افزونگی در جداول استفاده می شوند. 3NF به عنوان یک فرم نرمال قوی تر از 2NF در نظر گرفته می شود و به عنوان یک فرم نرمال قوی تر از 1NF در نظر گرفته می شود. بنابراین به طور کلی، به دست آوردن جدولی که با فرم 3NF مطابقت داشته باشد، مستلزم تجزیه جدولی است که در 2NF است. به طور مشابه، به دست آوردن جدولی که با 2NF مطابقت داشته باشد، مستلزم تجزیه جدولی است که در 1NF است. با این حال، اگر جدولی که با 1NF مطابقت دارد حاوی کلیدهای کاندید باشد که فقط از یک ویژگی واحد (یعنی کلیدهای نامزد غیر ترکیبی) تشکیل شده است، چنین جدولی به طور خودکار با 2NF مطابقت دارد. تجزیه جداول منجر به عملیات پیوستن اضافی (یا محصولات دکارتی) در هنگام اجرای پرس و جو می شود.این باعث افزایش زمان محاسبات می شود. از سوی دیگر، جداولی که با فرمهای نرمال قویتر مطابقت دارند، افزونگی کمتری نسبت به جدولهایی دارند که فقط با فرمهای نرمال ضعیفتر مطابقت دارند.