PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : نرمال سازی به زبان ساده



~M*E*H*D*I~
2013/12/11, 18:56
نرمال سازی داده ها در پایگاه داده سبب می شود برنامه نویسی آسان تر شود و توسعه ی نرم افزار به سادگی امکانپذیر باشد.
برای آنکه فهم نرمال سازی ساده تر شود از داده های زیر به عنوان نمونه استفاده می کنیم:





اطلاعات مشتری
سفارش


ش فاکتور
ش مشتری
نام
نشانی
تعداد ۱
شرح ۱
قیمت ۱
تعداد ۲
شرح ۲
قیمت ۲
تعداد ۳
شرح ۳
قیمت ۳


۱۰۰۱
۱۱
علی
خیابان ۱۰۱
۱۰
مداد
۱۰۰
۲۰
خودکار
۲۰۰
۳۰
پاکن
۵۰


۱۰۰۲
۱۲
رضا
خیابان ۱۰۲
۵
خودکار
۲۰۰














۱۰۰۳
۱۱
علی
خیابان ۱۰۱
۲۰
پاکن
۵۰
۲
مداد
۱۰۰









نرمال سازی فرم اول – حذف گروه های تکراری

برای مثال در جدول نمونه، سفارش های مشتری را به جدولی جداگانه منتقل می کنیم. این کار سبب می شود فضای ذخیره سازی هدر نرود، ذخیره سازی و بازیابی اطلاعات ردیف های سفارش ساده تر شود، و محدودیت در تعداد ردیف های سفارش از بین برود:


ش فاکتور


۱۰۰۱


۱۰۰۲


۱۰۰۳







اطلاعات مشتری
سفارش


ش فاکتور
ش ردیف
ش مشتری
نام
نشانی
تعداد
شرح
قیمت


۱۰۰۱
۱
۱۱
علی
خیابان ۱۰۱
۱۰
مداد
۱۰۰


۱۰۰۱
۲
۱۱
علی
خیابان ۱۰۱
۲۰
خودکار
۲۰۰


۱۰۰۱
۳
۱۱
علی
خیابان ۱۰۱
۳۰
پاکن
۵۰


۱۰۰۲
۱
۱۲
رضا
خیابان ۱۰۲
۵
خودکار
۲۰۰


۱۰۰۳
۱
۱۱
علی
خیابان ۱۰۱
۲۰
پاکن
۵۰


۱۰۰۳
۲
۱۱
علی
خیابان ۱۰۱
۲
مداد
۱۰۰


نرمال سازی فرم دوم – هر ستون باید به یک ستون کلیدی وابسته باشد

برای مثال در جدول نمونه، اطلاعات مشتری می تواند به جدول فاکتورها منتقل شود تا به ستون کلیدی «شماره ی فاکتور» وابسته شود. با انجام این مرحله از نرمال سازی، بخش دیگری از تکرارها از بین می رود، بخشی از افزونگی داده ها حذف می شود و به روزرسانی بانک ساده تر می گردد:


ش فاکتور
ش مشتری
نام
نشانی


۱۰۰۱
۱۱
علی
خیابان ۱۰۱


۱۰۰۲
۱۲
رضا
خیابان ۱۰۲


۱۰۰۳
۱۱
علی
خیابان ۱۰۱






سفارش


ش فاکتور
ش ردیف
تعداد
شرح
قیمت


۱۰۰۱
۱
۱۰
مداد
۱۰۰


۱۰۰۱
۲
۲۰
خودکار
۲۰۰


۱۰۰۱
۳
۳۰
پاکن
۵۰


۱۰۰۲
۱
۵
خودکار
۲۰۰


۱۰۰۳
۱
۲۰
پاکن
۵۰


۱۰۰۳
۲
۲
مداد
۱۰۰


نرمال سازی فرم سوم – هر ستون باید به طور مستقیم به ستون کلیدی وابسته باشد

برای مثال در جدول نمونه، نام و نشانی مشتری باید به جدولی جداگانه منتقل شود. این کار سبب می شود به روزرسانی آسان تر شود و افزونگی داده ها کاهش یابد:


ش مشتری
نام
نشانی


۱۱
علی
خیابان ۱۰۱


۱۲
رضا
خیابان ۱۰۲




ش فاکتور
ش مشتری


۱۰۰۱
۱۱


۱۰۰۲
۱۲


۱۰۰۳
۱۱




ش فاکتور
ش ردیف
تعداد
شرح
قیمت


۱۰۰۱
۱
۱۰
مداد
۱۰۰


۱۰۰۱
۲
۲۰
خودکار
۲۰۰


۱۰۰۱
۳
۳۰
پاکن
۵۰


۱۰۰۲
۱
۵
خودکار
۲۰۰


۱۰۰۳
۱
۲۰
پاکن
۵۰


۱۰۰۳
۲
۲
مداد
۱۰۰


نکته های اضافی برای نرمال سازی

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

برگرفته از وبلاگ آقای امیر مسعود ایرانی

azibaji
2016/07/02, 11:50
مطلب خوبی بود ممنون

tabrizsanat
2016/11/09, 13:51
ممنون مطلب مفیدی بود . و بسیار کامل بود.



تخته روسی (http://tabrizsanat.com/%D8%AA%D8%AE%D8%AA%D9%87-%D8%B1%D9%88%D8%B3%DB%8C/) ، اسپیسر بتن (http://tabrizsanat.com/%D8%AA%D8%AE%D8%AA%D9%87-%D8%B1%D9%88%D8%B3%DB%8C/)