نرمال سازی دیتابیس: نرمال سازی روندی است که در آن موجودیت ها و خواص آن که شناسایی شده ، برای دیتایبس های رابطه ای به طور مناسب ایجاد کنیم. در عبارات علوم کامپیوتر ، یکتا به معنی این است که یک مقدار نمیتواند ( و معقولانه تر نبایداست) به مقادیر کوچکتر شکسته شود. برای ایجاد یک دیتابیس نرمال ، باید یک سری موارد به صورت سلسله مراتبی انجام شود. در هر مرحله که انجام میشود یک سری جدول به دیتابیس اضافه می شود و ستونهای جداول موجود نیز کاسته می شود. چرا نرمال سازی؟ قبل از بررسی قوانین نرمال سازی ، به مواردی خواهیم پرداخت که در صورت رعایت درست قوانین نرمال سازی روی جداول از این مزایا استفاده خواهیم کرد. - حذف داده های تکراری ، - جلوگیری از نوشتن کدهای اضافی برای یکسان سازی داده های تکراری. - نگهداری جداول به صورت لاغر(کوچک) که باعث افزایش حجم میزان داده های یک جدول در یک Page 8KB ذخیره خواهد شد و کاهش تعداد خواندن داده ها که برای خواندن اطلاعات یک جدول مورد نیاز هست که باعث افزایش سرعت و بازدهی برنامه میشود. - افزایش به کار گیری ایندکسهای کلاستر، که باعث افزایش سرعت و Join ها می شود. - کاهش ایندکسهای مورد نیاز برای هرجدول ، زیرا نگهداری ایندکس ها هزینه های بازدهی زیادی در بردارد. حذف داده های تکراری هر بخش از اطلاعات که بیش از یک مرتبه در دیتابیس باشد منتظر رخ دادن یک خطا می باشد.مثلا اسم شما در چند مکان مختلف ذخیره شده و یکی از آنها تغییر میکند ولی مابقی آنها تغییر نمیکند که باعث می شود شما دارای چند اسم گوناگون باشید. جلوگیری از کدهای غیر ضروری برنامه نویسی اضافی در تریگرها، Stored Procedure ها یا حتی در لایه منطقی برنامه نیازمند بررسی ساختار داده ای ضعیف هست و همچنین میتواند در بازدهی برنامه تاثیر منفی داشته باشد. کدهای اضافی همچنین احتمال افزایش باگ در برنامه را بیشتر میکند.