
حجم فایل : 113.3 KB
نوع فایل : پاور پوینت
تعداد اسلاید ها : 51
بنام خدا نرمال سازی چیست؟
هنگام طراحی یک بانک اطلاعاتی رابطه ای،این سوال مهم مطرح می شود که:«با توجه به داده های عملیاتی و ارتباط بین موجودیت ها،چند جدول می بایست طراحی کرد؟در هر جدول چه فیلدهایی باید قرار گیرد؟رابطه جدولها باید چگونه باشد؟»در این فصل به این سوالات پاسخ می گوئیم.
مثال1:به سه جدول معروف SوPو ) SPفصل (SQLنگاه کنید.فرض کنید جدول SP را به صورت (Status،Qty،P#،S#)SP’تعریف و جدول Sرا به صورت (City،Sname،s#)s’تعریف می کردیم،یعنی فیلد Statusرا از جدول s به جدول SP می بردیم. در اینصورت جدول
نرمال سازی همان طورکه مشاهده می گردد فیلد Statusبرای s1همواره ثابت و مشخص است (عدد 20) و بی جهت در جدول sp’تکرار شده و بدین جهت افزونگی اطلاعات داریم. SP’ به صورت روبرو می شد: حال سوال دیگری را مطرح می کنیم :«آیا می توان تمام اطلاعات جداول S،P،SP را دریک جدول ریخت؟»جواب این سوال «بله» است .دراین صورت اطلاعاتی فقط یک جدول بوده و از دید کاربران و برنامه نویسان مساله بسیار ساده می شود،چرا که دیگرنیازی به پیوند طبیعی یا ضرب دکارتی نداریم.
ولی این عمل 3 اشکال اساسی دارد :
1-افزونگی داده ها (Data redundancy) قبلا بیان شد که افزونگی یعنی تکرار بی رویه داده ها.در بانک اطلاعات رابطه ای،تکرار داده ها تنها راه برقراری ارتباط بین جداول است و از آن به عنوان کلیدخارجی یاد می شود.تکرار بیش از این ،بی رویه است وافزونگی نام دارد.بدیهی است که جدول بالا تکرار بی رویه دارد.وقتی جداول را ادغام می کنیم همواره افزونگی به میزان بزرگترین جدول رخ می دهد.این پدیده دو ایراد بزرگ دارد یکی به هدر دادن فضای حافظه و دیگری پائین اوردن سرعت .
2-بی نظمی(anomaly) وجود افزونگی در جدول مثال فوق باعث آنومالی در تغییر داده ها می شود.مثلا اگر شهر s1تغییر کند باید تمام رکوردها به دنبال S1گشته و شهر آن را تغییر دهیم که عملی مشکل زا می باشد.
3-مقادیر تهی(NULL Value) با ادغام جداول گاهی اوقات مجبور خواهیم بود برای نشان دادن بعضی از اقلام اطلاعاتی از NULL استفاده کنیم .مثلا فرض کنید تهیه کننده S قطعه ای را تهیه نکرده است آنگاه سطر مربوط به آن به صورت زیر ذخیره می شود:
S# Sname Status City P# Pname Color Weiqht City Qty
.
.
.
S5 Sn5 30 c1 NUL NULL NULL NULL NULL NULL
مقادیرتهی علاوه بر اینکه جای زیادی را اشغال می کنند مشکلاتی را نیز باعث می گردند که قبلا بیان ...