نرمال‌ سازی داده‌ها در پایگاه داده چیست؟

نرمال‌ سازی داده‌ها برای عملیات کسب‌وکار بسیار مهم است و درک کامل آن می‌تواند به هر شرکتی مزیت واقعی برای رشد بیشتر با داده‌های کلان بدهد. از استارت‌آپ‌های کوچک گرفته تا شرکت‌های بزرگ، بر کسی پوشیده نیست که داده‌ها به اولویت اصلی هر کسب‌وکاری تبدیل شده است. همان‌طور که شرکت‌ها داده‌ها را جمع‌آوری، ذخیره و تجزیه و تحلیل می‌کنند، پایگاه‌های داده (databases) را برای مدیریت آن‌ها می‌سازند و از آن‌ها استفاده می‌کنند. در این رشته رو به رشد داده‌های کلان (big data)، ممکن است با اصطلاحی به نام نرمال‌سازی داده (data normalization) برخورد کرده باشید.

نرمال ‌سازی داده‌‌ها چیست؟

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

نرمال ‌سازی داده‌ها چگونه کار می‌کند؟

سازماندهی داده‌ها در یک دیتابیس با نرمال‌سازی انجام می‌شود. این فرایند نیاز به ساخت جداول و پیوند دادن آن جداول به یکدیگر دارد. این پیوندها را باید مطابق با اصول محافظت از داده‌ها و افزایش سازگاری دیتابیس انجام دهید. به عنوان مثال باید به حذف موارد تکراری (duplication) و اتکای ناسازگار  (inconsistent reliance) اشاره کنیم.

فضای دیسک توسط داده‌های اضافی هدر می‌رود و منجر به ایجاد مشکلات تعمیر و نگهداری خواهد شد. اگر داده‌هایی که از قبل در چندین مکان وجود دارد، نیاز به اصلاح داشته باشند، باید در همه جا به روشی یکسان به‌روزرسانی شوند. اگر اطلاعات صرفاً در جدول مشتریان و نه در جای دیگر از دیتابیس نگهداری شود، تغییر آدرس مشتری بسیار ساده‌تر است.

روش کار نرمال ‌سازی داده ‌ها
نرمال سازی داده‌ها مستلزم ساخت جداول و پیوند دادن آن جداول به یکدیگر است.

در حالی که جستجوی یک کاربر در دیتابیس مشتریان برای آدرس مشتری خاص کاملاً منطقی است، ممکن است انجام این کار برای کارگری که از طرف آن مشتری تلفن می‌کند درست به نظر نرسد. پس دستمزد کارمند باید به جدول کارمندان منتقل شود. چون به کارمند، متصل یا به آن وابسته است. دسترسی به داده‌ها ممکن است در نتیجه ارتباطات یا وابستگی‌های ناسازگار دشوار شود، چون ممکن است مسیر پیدا کردن داده‌ها ناقص شده یا آسیب دیده باشد.

کلیدها در SQL

قبل از اینکه به اشکال مختلف نرمال ‌سازی داده‌‌ها بپردازیم، ابتدا باید مفهوم کلیدها را در SQL درک کنید. یک کلید می‌تواند یک ستون یا ترکیبی از ستون‌ها باشد که ردیف‌ها یا تاپل‌ها (tuples) را به‌طور منحصربه‌فرد در جدول مشخص می‌کند. هم‌چنین به شناسایی اطلاعات تکراری و ایجاد روابط بین جداول مختلف کمک می‌کند.

در ادامه رایج‌ترین نوع کلیدها را معرفی می‌کنیم:

انواع فرم‌های نرمال ‌سازی داده‌ها

نرمال ‌سازی داده‌ها را می‌توان به انواع و فرم‌های مختلفی تقسیم کرد. محبوب‌ترین آن‌ها 1NF، 2NF، 3NF و BCNF هستند. پس اجازه دهید با کمک یک مثال تمام این فرم‌های نرمال را بررسی کنیم. فرض کنید یک شرکت دارای دیتابیسی از تمام کارکنان و مهارت‌های کلیدی آن‌ها است که در جدول زیر می‌بینیم:

جنسیت نام کامل آدرس مهارت‌ها
آقای جان دنور (John Denver) 12، جاده بیتس برادرز (Bates Brothers) محتوانویسی، بازاریابی شبکه‌های اجتماعی
خانم ماری آن (Mary Ann) 34، شدومن درایو (Shadowman Drive) یادگیری عمیق، علم داده‌ها
خانم نانسی دریو (Nancy Drew) 4، خیابان پلات اول (First Plot Street) DBMS

1 NF – اولین فرم نرمال یا First Normal Form

اولین شکل نرمال ‌سازی داده‌‌ها 1NF است که تضمین می‌کند دو ورودی مشابه در یک گروه وجود ندارد. پس برای اینکه یک جدول در اولین شکل نرمال باشد، باید قوانین زیر را رعایت کند:

بنابراین جدول در 1NF به این شکل خواهد بود:

جنسیت نام کامل آدرس مهارت‌ها
آقای جان دنور (John Denver) 12، جاده بیتس برادرز (Bates Brothers) تولید محتوا
آقای جان دنور (John Denver) 12، جاده بیتس برادرز (Bates Brothers) بازاریابی شبکه‌های اجتماعی
خانم ماری آن (Mary Ann) 34، شدومن درایو (Shadowman Drive) یادگیری ماشینی
خانم ماری آن (Mary Ann) 34، شدومن درایو (Shadowman Drive) علم داده‌ها
خانم نانسی دریو (Nancy Drew) 4، خیابان پلات اول (First Plot Street) DBMS

2NF – فرم دوم نرمال یا Second Normal Form

در یک جدول 2NF، تمام زیرمجموعه‌های داده‌ای که می‌توانند در ردیف‌های متعدد قرار بگیرند، در جداول جداگانه قرار می‌گیرند. پس برای اینکه یک جدول به صورت فرم نرمال دوم باشد، باید قوانین زیر را رعایت کند:

بیایید جدول 1NF را به دو جدول تقسیم کنیم؛ جدول 1 و جدول 2. می‌بینید که جدول 1 شامل تمام اطلاعات کارکنان است. به علاوه جدول 2 حاوی اطلاعاتی در مورد مهارت‌های کلیدی آن‌هاست.

جدول ۱

آیدی کارکنان جنسیت نام کامل آدرس
1 آقای جان دنور (John Denver) 12، جاده بیتس برادرز (Bates Brothers)
2 خانم ماری آن (Mary Ann) 34، شدومن درایو (Shadowman Drive)
3 خانم نانسی دریو (Nancy Drew) 4، خیابان پلات اول (First Plot Street)

جدول ۲

کارکنان ID مهارت‌های کلیدی
1 بازاریابی محتوا
1 بازاریابی شبکه‌های اجتماعی
2 یادگیری ماشینی
2 علم داده
3 DBMS

ما یک ستون جدید به نام  ID کارکنان معرفی کرده‌ایم که کلید اصلی جدول ۱ است. بنابراین رکوردها را می‌توان با استفاده از این کلید اصلی شناسایی کرد.

در جدول ۲،ID  کارمند کلید خارجی محسوب می‌شود.

3 NF – سومین فرم نرمال یا Third Normal Form

برای اینکه یک جدول به صورت فرم سوم نرمال باشد، باید قوانین زیر را رعایت کند:

یک وابستگی عملکردی انتقالی زمانی است که تغییر در یک ستون (که کلید اصلی نیست) ممکن است باعث تغییر هر یک از ستون‌های دیگر شود.

در مثال ما، اگر تغییر نام (مرد به زن) وجود داشته باشد، ممکن است تغییری در جنسیت (آقا، خانم و غیره) ایجاد شود. از این رو جدول جدیدی را معرفی خواهیم کرد که جنسیت را ذخیره می‌کند.

جدول 1

ID کارکنان نام کامل آدرس جنسیت
1 جان دنور (John Denver) 12، جاده بیتس برادرز (Bates Brothers) 1
2 ماری آن (Mary Ann) 34، شدومن درایو (Shadowman Drive) 2
3 نانسی دریو (Nancy Drew) 4، خیابان پلات اول (First Plot Street) 2

جدول 2

کارکنان ID مهارت‌های کلیدی
1 بازاریابی محتوا
1 بازاریابی شبکه‌های اجتماعی
2 یادگیری ماشینی
2 علم داده‌ها
3 DBMS

جدول 3

ID  جنسیت جنسیت
1 آقا
2 خانم (Ms.)
3 خانم متاهل (Mrs.)

حالا، هیچ وابستگی عملکردی انتقالی وجود ندارد و جدول ما در 3F است. ID جنسیت درجدول 3 کلید اصلی است. ID جنسیت در جدول 1 با کلید اصلی جدول 3 خارجی محسوب می‌شود.

BCNF – فرم نرمال بویس و کد یا Boyce and Codd Normal Form

BCNF نسخه بالاتر 3NF است و با نام 3.5NF هم شناخته می‌شود. فرم  BCNF یک جدول 3NF است که دارای چندین کلید کاندید همپوشانی یا اورلپ نیست. پس برای اینکه جدول در BCNF باشد، باید قوانین زیر را رعایت کند:

مزایای نرمال‌ سازی داده‌ ها
نرمال سازی داده‌ها با مزایای زیادی همراه است.

مزایای نرمال‌ سازی داده‌‌ها

فرآیند نرمال‌سازی پایگاه داده دارای مزایای بی‌شماری است. در ادامه به چند مزیت کلیدی اشاره کرده‌ایم:

اکنون که درک بهتری از اصطلاحات داریم، ممکن است غیرنرمال‌سازی (denormalization) و نرمال‌سازی به عنوان سیستم‌های دیتابیس متمایز و مشخص شوند. نرمال‌سازی با حذف داده‌های تکراری، استثناهای درج، حذف و به روزرسانی را کاهش می‌دهد. علاوه بر این، افزونگی داده‌ها در طول فرآیند نرمال‌سازی معکوس به فرایند اضافه می‌شود تا سرعت اپلیکیشن خاص، محرمانه بودن داده‌ها و یکپارچگی را افزایش دهد.

معایب نرمال ‌سازی داده‌ها

روند نرمال‌سازی یک دیتابیس دارای معایب متعددی است. پس در ادامه چند مشکل را مرور می‌کنیم:

تفاوت بین نرمال‌سازی و غیرنرمال‌سازی

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

متضاد نرمال‌سازی، غیرنرمال‌سازی است که منجر به یک نسخه پر از اطلاعات اضافی از طرح نرمال‌شده خواهد شد. استفاده از افزونگی (redundancy) و حفظ ثبات داده‌های زائد باعث افزایش عملکرد می‌شود. غیرنرمال‌سازی به این دلیل ضروری است که یک ساختار بیش از حد نرمال، موجب سربار پردازنده کوئری می‌شود.

تفاوت بین نرمال‌ سازی داده ها و غیرنرمال‌سازی
نرمال‌ سازی داده ها و غیرنرمال‌سازی متضاد هستند.

تمایزهای مهم میان غیرنرمال‌سازی و نرمال‌سازی عبارتند از:

  1. به منظور حذف افزونگی و بی‌دقتی داده‌ها و اطمینان از یکپارچگی آن‌ها، باید از نرمال‌سازی به عنوان تکنیک جداسازی داده‌ها به جداول متعدد استفاده کرد. اما غیرنرمال‌سازی روشی برای تجمیع اطلاعات در یک جدول واحد برای تسریع در بازیابی داده‌ها به شمار می‌رود.
  2. در یک سیستم OLTP، نرمال‌سازی برای سرعت بخشیدن به درج، حذف و به‌روزرسانی ناهنجاری‌ها کاربرد دارد. در مقابل، سیستم OLAP از غیرنرمال‌سازی استفاده می‌کند که بر تسریع جستجو و تجزیه و تحلیل تمرکز دارد.
  3. در حالی که حفظ یکپارچگی داده‌ها در طول نرمال‌سازی آسان‌تر است، ولی تحقق این هدف در طول غیرنرمال‌سازی دشوارتر خواهد بود.
  4. هنگامی که نرمال‌سازی انجام می‌شود، داده‌های اضافی کاهش می‌یابد و زمانی که غیر نرمال‌سازی اجرا می‌شود، داده‌های اضافی بیش‌تر می‌شود.
  5. جداول و اتصالات در طول نرمال‌سازی اضافه می‌شوند. در مقابل، غیرنرمال‌سازی تعداد جداول و اتصالات را به حداقل می‌رساند
  6. غیر نرمال‌سازی فضای دیسک را هدر می‌دهد، چون داده‌های مشابه در چندین مکان نگهداری می‌شوند. اما یک جدول نرمال فضای دیسک را بهینه می‌کند.

نیاز به نرمال‌ سازی داده ها

نحوه سازماندهی داده‌ها زمانی که در مقادیر زیاد وجود دارد، با افزایش ارزش داده‌ها برای انواع کسب‌وکارها حیاتی‌تر می‌شود. واضح است که وقتی نرمال‌ سازی داده‌ ها با موفقیت انجام شود؛

به این فکر کنید که اگر از سازماندهی داده‌های خود غفلت کنید و شانس‌های رشد مهم را از دست بدهید، به این دلیل که یک وب‌سایت بارگیری نمی‌شود یا معاون رئیس‌ یک شرکت یادداشت‌های شما را دریافت نمی‌کند، چه اتفاقی می‌افتد. هیچ کدام از این‌ها به موفقیت یا پیشرفت منجر نمی‌شود. تصمیم‌گیری برای استانداردسازی داده‌ها یکی از مهم‌ترین کارهایی است که در حال حاضر می‌توانید برای کسب‌وکار خود انجام دهید.

چه کسی به داده‌های نرمال نیاز دارد؟

فرآیند نرمال ‌سازی داده‌ ها
سازماندهی ستون‌ها، ویژگی‌ها و جداول در طول نرمال‌ سازی داده ها

فرآیند نرمال ‌سازی داده‌ ها

ستون‌ها، ویژگی‌ها و جداول یا روابط یک دیتابیس در طول نرمال‌سازی، مطابق با مجموعه‌ای از قوانین فرم نرمال سازماندهی می‌شوند. این اشکال عادی به عنوان نوعی سیستم کنترل و تعادل (check and balance system) برای حفظ یکپارچگی ارتباطات میان ویژگی‌ها و روابط عمل کرده و روند نرمال‌سازی را هدایت می‌کنند. فرآیند نرمال‌سازی از طریق مجموعه‌ای از دستورالعمل‌ها (به نام «فرم‌های نرمال»)، به دنبال تضمین این است که یکپارچگی دیتابیس بدون توجه به تغییر، افزودن یا از بین رفتن داده‌ها حفظ ‌شود.

فواید نرمال ‌سازی داده‌‌ها برای کسب‌وکارها

همان‌طور که به مرور زمان داده‌ها برای هر نوع کسب‌و‌کاری ارزش بیشتری پیدا می‌کنند، نرمال ‌سازی داده‌‌ها چیزی بیش از سازماندهی مجدد داده‌ها در یک دیتابیس است. بنابراین در ادامه برخی از فواید عمده این فرایند برای کسب‌وکارها را آورده‌ایم:

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

نتیجه‌گیری

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

منبع: simplilearn

توسط
پیوست
منبع
پیوست
Exit mobile version