فرمهاي نرمال
فرمهاي نرمال راهي براي اندازهگيري سطح يك پايگاه دادهاي كه نرمال شده است، ميباشند، سه فرم نرمال متداول عبارتند از:
- فرم اول نرمال
- فرم دوم نرمال
- فرم سوم نرمال
هر فرم نرمال بستگي دارد به گامهاي نرمال سازي كه در فرم نرمال قبلي برداشته شده است. به طور مثــال، براي نرمالسازي يك پايگاه دادهاي با استفاده از فرم دوم نرمال، پايگاه دادهاي بايد در فرم اول نرمال قرار گرفته باشد. براي نرمال سازي پايگاه دادهاي توسط فرم سوم نرمال اين پايگاه بايد در فرم دوم نرمال قرار داشته باشد. (اين بدان معني است كه پايگاه دادهاي در فرم اول نرمال ميباشد)
فرمهاي نرمال بايد به شكل ترتيبي به كار گرفته شود.
فرم اول نرمال
هدف از فرم اول نرمال آن است كه دادههاي منطقي كه جداول ناميده ميشوند، تقسيم كنيم. وقتي كه جدولي طراحي شد، يك كليد اوليه يا اصلي به آن جدول اختصاص مييابد. كليد اصلي در يك جدول يك يا چند ستوني است كه هر رديف از آن جدول را منحصر بفرد ميكند. در اين حالت به جاي داشتن يك جدول بزرگ، چندين جدول كوچكتر با قابليت كنترل بهتر خواهيم داشت.
فرم دوم نرمال
هدف از فرم دوم نرمال داشتن دادههايي است كه فقط تا حدي به كلي اوليه وابسته است و آن دادهها را در جدول ديگري ذخيره ميكند. فرم دوم نرمال را از فرم اول نرمال بوسيله تقسيم جدول اصلي به دو جدول بيرون ميكشيم؛ طوريكه هر كدام از جداول داراي يك موضوع خاص خود ميباشند.
فرم سوم نرمال
هدف از فرم سوم نرمال برداشتن دادهها از جدولي است كه به كليد اوليه وابسته نميباشد. در تبديل جدولها به فرم سوم نرمال، جداول جديدتري ايجاد ميكنيم تا دادههاي بيشتري را در آنها جاي دهيم.
مزاياي نرمالسازي
نرمال سازي مزاياي بيشماري براي يك پايگاه دادهاي ايجاد ميكند. بعضي از مزاياي اصلي شامل موارد زير است:
- سازماندهي كليتر پايگاه دادهها
- كاهش افزونگي دادهها
- سازگاري دادهها در داخل پايگاه دادهها
- طراحي بسيار انعطافپذيرتر پايگاه دادهها
- امكمان امنيت بهتر پايگاه دادهها
سازماندهي از جريان نرمالسازي بدست ميآيد و كار هر شخص را سادهتر ميكند، از كاربري كه به جداول پايگاه دادهها دسترسي دارد تا طراح و اداره كننده بانك (DBA) كه مسئوليت اداره بانك اطلاعات به عهده او ميباشد. افزونگي دادهها كاهش مييابد، به اين ترتيب ساختار دادهها سادهتر ميگردد و در مصرف ديسك صرفهجوي خواهد شد. چون تكرار دادهها كم ميگردد، امكان ناسازگاري دادهها بطور چشمگيري كاهش مييابد.
چون پايگاه دادهاي نرمال، به جداول كوچكتري شكسته شده است، وقتي ساختار موجود را تغيير ميدهيم، انعطاف بيشتري داريم. خيلي آسانتر است هرگاه جدول كوچكي را با تعداد كم داده تغيير دهيم، تا اينكه بخواهيم جدول بزرگي را با تمام دادههاي حياتي پايگاه دادهها تغيير دهيم. وقتي عمل نرمالسازي انجام شده باشد امكان اعمال امنيت بهتر خواهد شد. بنابراين كار هر شخص سادهتر ميگردد و كاربر نهايي راضي خواهد شد.
معايب نرمالسازي
گرچه اكثر پايگاههاي دادهاي موفق در درجاتي از نرمال ميباشند ولي يك عيب اساسي در يك بانك اطلاعاتي نرمال شده وجود دارد؛ و آن كاهش سرعت پردازش دادهها است. قبول كاهش سرعت پردازش پايگاه دادهها، مستلزم آگاهي است چون هر پرس و جو يا درخواست تغيير به پايگاه دادهها فرستاده ميشود، در نتيجه عواملي در اجرا و سرعت پردازش آن دخالت دارند از جمله نحوه كاركرد CPU، نحوه كار حافظه و امكانات ورودي/ خروجي (I/O).
يك پايگاه اطلاعاتي نرمال شده به دليل پردازش تغييرات و پرس و جوهاي پايگاه دادهاي به CPU، حافظه و I/O بيشتري نياز دارد تا يك پايگاه دادهاي نرمال نشده. اين بهخاطر آن است كه ابتدا بايد جداول به هم متصل شوند و سپس دادههاي موردنياز كاربر از داخل اين جداول اتصالي بازيابي گردند.
از نرمال درآوردن يك پايگاه اطلاعاتي
از نرمال در آوردن، روند تغيير ساختار جدول يك پايگاه نرمال شده به شكلي است كه اجازه افزونگي كنترل شده به جهت اجراي بهتر و سريعتر را به پايگاه دادهاي ميدهد. تنها دليل از نرمال در آوردن يك پايگاه دادهاي بهبود اجراي پايگاه دادهها ميباشد. يك پايگاه دادهاي از حالت پايگاه دادهاي روند كاهش در حالت نرمال يك پايگاه دادهاي، به اندازه يك يا دو درجه است. البته بايد به خاطر داشته باشيم كه نرمالسازي واقعاً ممكن است اجراي پايگاه دادهاي را كندكند چون نياز به اتصال جدولها ميباشد. خارج كردن پايگاه دادهاي از حالت نرمال نيازمند تركيب جداول جدا شده است و احتمال ايجاد دادههاي تكراري در داخل جداول وجود دارد.
انجام اين كار نتيجهاي كاهش تعداد I / O و زمان صرف شده كمتري توسط CPU است؛ بنابراين سرعت اجرا افزايش خواهد يافت. به هرحال، عمل خارج كردن پايگاه دادهها از حالت نرمال هزينه بر ميباشد. در يك پايگاه اطلاعاتي نرمال شده، ستونهايي كه براي تقسيم جداول انتخاب شده بودند در هنگام تركيب جداول باعث اتصال آنها خواهند شد و در نتيجه افزونگي دادهها افزايش مييابد. وقتي يك پايگاه دادهاي نرمال شده، از حالت نرمال بيرون ميآيد. ما با دادههاي مربوط به هم در جدولي بزرگتر (برخلاف چندين جدول كوچك) روبرو هستيم در نتيجه يك پرس و جود در يك جدول بزرگتر، سريعتر اجرا خواهد شد زيرا دادهها در كنار هم در يك جا ذخيره شدهاند. به هرحال هم نرمال سازي و هم از حالت نرمال درآوردن پايگاه دادهها نياز به دانستن اطلاعاتي درباره دادههاي واقعي و طبيعت حرفهاي دارد كه ميخواهيم پايگاه دادهها را در آن محل اعمال نماييم.