محبوبترینها
نمایش جنگ دینامیت شو در تهران [از بیوگرافی میلاد صالح پور تا خرید بلیط]
9 روش جرم گیری ماشین لباسشویی سامسونگ برای از بین بردن بوی بد
ساندویچ پانل: بهترین گزینه برای ساخت و ساز سریع
خرید بیمه، استعلام و مقایسه انواع بیمه درمان ✅?
پروازهای مشهد به دبی چه زمانی ارزان میشوند؟
تجربه غذاهای فرانسوی در قلب پاریس بهترین رستورانها و کافهها
دلایل زنگ زدن فلزات و روش های جلوگیری از آن
خرید بلیط چارتر هواپیمایی ماهان _ ماهان گشت
سیگنال در ترید چیست؟ بررسی انواع سیگنال در ترید
بهترین هدیه تولد برای متولدین زمستان: هدیههای کاربردی برای روزهای سرد
در خرید پارچه برزنتی به چه نکاتی باید توجه کنیم؟
صفحه اول
آرشیو مطالب
ورود/عضویت
هواشناسی
قیمت طلا سکه و ارز
قیمت خودرو
مطالب در سایت شما
تبادل لینک
ارتباط با ما
مطالب سایت سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون
مطالب سایت سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون
آمار وبسایت
تعداد کل بازدیدها :
1828053177
نرمال سازی بانك های اطلاعاتی
واضح آرشیو وب فارسی:راسخون:
نرمال سازی بانك های اطلاعاتی نرمال سازی ( Normalization ) يا به تعبيری هنجار سازی فرآيندی است در رابطه با بانك های اطلاعاتی كه با دو هدف عمده زير انجام می شود : • کاهش افزونگی اطلاعات ، به اين معنی که اطلاعات فقط در يک مكان (جدول) ذخيره و در تمام بانک با استفاده از روابط منطقی تعريف شده (RelationShip) قابل دسترسی باشد .• حفظ يکپارچگی اطلاعات ، به اين معنی که اعمال تغييرات بر روی اطلاعات ( نظير ايجاد ، بهنگام سازی و حذف ) در يك مكان انجام و به دنبال آن آثار تغييرات در تمام بانك مشاهده گردد . برای روشن شدن مفهوم يکپارچگی بد نيست به مثال ذيل توجه نمائيد :فرض كنيد در يك بانك اطلاعاتی دارای دو موجوديت كتاب و نويسنده باشيم . هر يك از موجوديت های فوق دارای المان های اطلاعاتی (Attribute) مختص به خود می باشند . به عنوان نمونه موجوديت "كتاب" دارای المان اطلاعاتی نام نويسنده و موجوديت "نويسنده " دارای المان های اطلاعاتی متعددی نظير نام نويسنده ، آدرس نويسنده و ... باشد . در صورتی كه در موجوديت "کتاب" يک رخداد (رکورد) ايجاد نمائيم بدون اينکه نام نويسنده آن را در موجوديت "نويسنده" ايجاد کرده باشيم ، دچار يک ناهمگونی اطلاعات خواهيم شد . با توجه به اهداف فوق می توان گفت كه فرآيند نرمال سازی از ناهنجاری های بوجود آمده به دليل بروز تغييرات در بانك جلوگيری خواهد نمود . با اعمال فرآيند نرمال سازی ، يك بانك اطلاعاتی كارآ و مطمئن را خواهيم داشت . فرآيند نرمال سازی ، فرم های متفاوتی دارد كه انواع متداول آن به شرح ذيل است :• فرم اول نرمال سازی 1NF • فرم دوم نرمال سازی 2NF • فرم سوم نرمال سازی 3NF • فرم بويس کد نرمال سازی BCNF • فرم چهارم نرمال سازی 4NF فرم اول نرمال 1NFموجوديت و يا جدولی در فرم اول نرمال است كه تمامی المان های اطلاعاتی آن ( منظور Attribute است ) يكتا و يا اصطلاحا" atomic باشند . برای روشن شدن اين موضوع فرض كنيد دارای موجوديتی با نام "فاكتور فروش " باشيم . فاكتور فروش شماره فاکتور(کليد اصلی)تاريخ فاکتورکد مشترینام مشتریکالای 1تعداد کالای 1قيمت واحد کالای 1...کالای nتعداد کالای nقيمت واحد کالای nبا مشاهده موجوديت فوق متوجه اين موضوع خواهيم شد كه المان های كالا ، تعداد كالا و قيمت واحد كالا بيش از يك مرتبه در موجوديت وجود داشته و اصطلاحا" يك گروه تكرار را تشكيل می دهند . برای اجرای مدل فيزيكی اين موجوديت ناچار خواهيم بود در طراحی جدول آرايه ای به طول ثابت ( به عنوان نمونه با ده عضو ) تعريف و در آن به ترتيب كالای 1 تا 10 را تعريف نمائيم . مشکل : طراحی فوق ما را با دو مشکل عمده روبرو خواهد ساخت : اول اين كه کارائی بانک اطلاعاتی پائين خواهد آمد (اگر در آينده تعداد کالاهای فاکتور فروش بيش از 10 کالا باشد ، آنگاه مجبور خواهيم بود طراحی جدول مربوطه و متعاقب آن نرم افزارهائی که از آن استفاده می كنند را تغيير دهيم ) و مشکل دوم اين كه بسياري از فاکتورها لزوما" دارای 10 کالا نيستند و بنابراين محتوی بسياری از فيلدها در جدول فوق خالی (داراي ارزش Null) خواهد ماند و حجم زيادی از فضای ديسک هدر خواهد رفت .راه حل : برای حل اين مشکل کافی است تمامی گروه های تکرار و يا آرايه ها را از موجوديت خارج کرده و به موجوديت ديگری منتقل نمائيم . در چنين مواردی ، كليد اصلی موجوديت اول را به عنوان بخشی از كليد اصلی موجوديت جديد قرار داده و با تلفيق يكی ديگر از آيتم های اطلاعاتی موجوديت جديد كه تضمين كننده يكتا بودن ركوردهای آن موجوديت ( جدول ) است ، كليد اصلی موجوديت ايجاد می گردد . بدين ترتيب ، يك ارتباط بين موجوديت پدر و فرزند بر اساس كليد اصلی موجوديت پدر برقرار خواهد شد . مجددا" به موجوديت "فاكتور فروش " مثال قبل پس از تبديل به فرم اول نرمال توجه نمائيد : رديف های فاكتور فروش
ارتباط بين موجوديت پدر و فرزند بر اساس كليد اصلی موجوديت پدر (فاكتور فروش) فاكتور فروششماره فاکتور(قسمت اول کليد اصلی)کالا (قسمت دوم کليد اصلی)تعدادقيمت واحد شماره فاکتور(کليد اصلی)تاريخ فاکتورکد مشترینام مشتریبه طور خلاصه می توان گفت كه هدف از فرم اول نرم سازی حذف گروه های تكرار و آرايه ها از موجوديت يا جدول است . فرآيند فوق ، می بايست بر روی تمامی موجوديت های بانك اطلاعاتی اعمال گردد تا بتوان گفت بانك اطلاعاتی نرمال شده در فرم اول است . فرم دوم نرمال 2NFموجوديتی در فرم دوم نرمال است که اولا" در فرم اول نرمال باشد و ثانيا" تمامی آيتم های (Attribute) غير کليدی آن وابستگی تابعی به تمام کليد اصلی موجوديت داشته باشند نه به بخشی از آن .همانگونه كه از تعريف فوق استنباط می گردد ، فرم دوم نرمال سازی در خصوص موجوديت هائی بررسی و اعمال می شود كه دارای كليد اصلی مركب هستند ( بيش از يك جزء ) . بنابراين در مثال فوق موجوديت "فاكتور فروش " به خودی خود در فرم دوم نرمال است ولی موجوديت "رديف های فاكتور فروش " كه دارای كليد اصلی مركب است ، نياز به بررسی دارد . مشکل : در صورتی كه موجوديت در فرم دوم نرمال نباشد ، آنگاه با تغيير اطلاعات قسمت های غيروابسته به تمام كليد ، اين تغييرات در يك ركورد اعمال می شود ولی تاثيری بر روی ساير ركوردها و يا جداول نخواهد داشت . در مثال فوق با تغيير محتوی قيمت واحد در موجوديت "فاكتور فروش " ، قيمت واحد كالا در يك فاكتور فروش اصلاح می گردد اما در ساير فاكتورها اعمال نخواهد شد . راه حل : برای حل اين مشکل کافی است موجوديت جديدی ايجاد نمائيم و کليد اصلی آن را برابر با آن بخش از کليد اصلی موجوديت مورد بررسی که دارای المان های وابسته به آن است قرار دهيم ، سپس تمام المان های اطلاعاتی وابسته تابعی به اين کليد را از موجوديت مورد بررسی خارج کرده و به موجوديت جديد منتقل نمائيم . در اين حالت بين موجوديت جديد ايجاد شده و موجوديت نرمال شده ، بر اساس کليد اصلی موجوديت جديد ايجاد شده يک ارتباط پدر فرزندی تعريف خواهد شد . دقت کنيد که بر عکس نرمال سازی فرم اول ، در اين جا موجوديت موردبررسی فرزند بوده و موجوديت جديد پدر خواهد بود .به مثال فوق برمی گرديم و فرم دوم نرمال سازی را بر روي آن اعمال می نمائيم . موجوديت "فاکتور فروش" دارای کليد مرکب نيست پس در فرم دوم نرمال بوده و نياز به بررسی ندارد ، اما موجوديت "رديف های فاکتور فروش" نياز به بررسی دارد . در اين موجوديت آيتم اطلاعاتی "قيمت واحد" وابستگی تابعي به آيتم کالا دارد که بخشی از کليد است نه کل کليد ، پس لازم است تا اين موجوديت را تبديل به فرم دوم نرمال نمائيم . بدين منظور موجوديتی به نام "کالا" ايجاد کرده ، کليد اصلی آن را برابر کالا قرار داده و آيتم قيمت واحد را از موجوديت رديف های فاکتور فروش خارج نموده و به اين موجوديت منتقل می نمائيم. مثال فوق پس از تبديل به فرم دوم نرمال به شکل ذيل خواهد بود : رديف های فاكتور فروش
ارتباط بين موجوديت پدر و فرزند بر اساس كليد اصلی موجوديت پدر (فاكتور فروش) فاكتور فروششماره فاکتور(قسمت اول کليد اصلی)کالا (قسمت دوم کليد اصلی)تعداد شماره فاکتور(کليد اصلی)تاريخ فاکتورکد مشترینام مشتری
ارتباط بين موجوديت پدر و فرزند بر اساس كليد اصلی موجوديت پدر (كالا) كالاکالا (کليد اصلی)قيمت واحدفرم سوم نرمال 3NFموجوديت و يا جدولی در فرم سوم نرمال است که اولا" در فرم دوم نرمال بوده و ثانيا" تمام آيتم های غير کليد آن وابستگی تابعی به کليد اصلی داشته باشند ، نه به يک آيتم غير کليد .مشکل : در صورتی كه موجوديتی در فرم سوم نرمال نباشد ، آنگاه با تغيير آيتم يا آيتم های اطلاعاتی غير وابسته به کليد اصلی در يک رکورد، تغييرات در ساير رکوردها اعمال نخواهد شد و دچار دوگانگی اطلاعات خواهيم شد (مثلا" يک مشتري با دو نام متفاوت) .راه حل : کافی است آيتم های غير کليدی به هم وابسته را به موجوديت جديدی منتقل و کليد اصلی موجوديت جديد را تعيين نمائيم ، آنگاه کليد اصلی موجوديت جديد را در موجوديت نرمال شده به عنوان يک کليد خارجی (Foreign Key) در نظر گرفت . در موجوديت "فاکتور فروش" مثال فوق آيتم نام مشتری وابستگی تابعی به آيتم کد مشتری دارد که خود يک آيتم غير کليد است بنابر اين بايد نرمال سازی فرم سوم در خصوص آن اعمال شود . شکل ذيل نحوه انجام اين كار را نشان می دهد : رديف های فاكتور فروش
ارتباط بين موجوديت پدر و فرزند بر اساس كليد اصلی موجوديت پدر (فاكتور فروش) فاكتور فروششماره فاکتور(قسمت اول کليد اصلی)کالا (قسمت دوم کليد اصلی)تعداد شماره فاکتور(کليد اصلی)تاريخ فاکتورکد مشتری (کليد خارجی)
ارتباط بين موجوديت پدر و فرزند بر اساس كليد اصلی موجوديت پدر (كالا)
ارتباط بين موجوديت پدر ( مشتری ) و فرزند بر اساس كليد خارجی كالامشتری کالا (کليد اصلی)قيمت واحدکدمشتري (کليد اصلی)نام مشتریفرم بويس کد نرمال BCNFفرم بويس کد دارای مفهوم جامع تری نسبت به فرم دوم و سوم نرمال است . در فرم دوم و سوم نرمال بحث بر سر وابستگی تابعی آيتم های غير کليدی به کليد اصلی است . اما در فرم بويس کد ، موجوديتی در فرم بويس کد نرمال است که اولا" در فرم اول نرمال بوده و ثانيا" تمام المان های غير کليدی آن کاملا" وابسته تابعی به يک کليد باشند و نه چيز ديگر . نکته حائز اهميت در اين فرم اين است که بحث بر سر وابستگي تابعی با يک کليد است نه فقط کليد اصلی. مفهوم فوق در خصوص موجوديت هائی که دارای چندين کليد هستند (Alternate Key) مطرح می شود . فرم چهارم نرمال 4NFاين فرم در خصوص موجوديت هائی است که ارتباط بين المان های آن يک ارتباط چند ارزشه و يا چند به چند باشد . به عنوان مثال ، موجوديت کلاس درس می تواند شامل چندين دانش آموز و چندين معلم باشد. در چنين مواردی ارتباط بين معلم و دانش آموز يک ارتباط چند به چند می باشد . در اين حالت با ايجاد يك موجوديت رابط مابين موجوديت های مذكور، مشکل ارتباط چند به چند حل خواهد شد (بسياری از سيستم های مديريت بانک های رابطه ای نظير MSSQL از رابطه چند به چند پشتيبانی نمی نمايند ، يعنی نمی توان بين دو جدول يک رابطه چند به چند ايجاد نمود). معمولا" تمام المان های موجوديت رابط ايجاد شده بخشی از كليد اصلی است .خلاصه نرمال سازی فرم های ديگری نيز دارد که به دليل نادر بودن و خاص بودن آنها در اين مقاله به آنها اشاره نشده است . آنچه در خصوص نرمال سازی عموميت دارد تا فرم سوم آن است ، يعنی در هنگام طراحی بانک های اطلاعاتی حتما" می بايست فرآيند نرمال سازی تا فرم سوم را انجام داد .فرآيند نرمال سازی يک فرآيند تکراری (Recursive) است يعنی پس از هر مرحله نرمال سازی که منجر به ايجاد موجوديت های جديد می گردد ، فرآيند را بايد از ابتدا تا انتها بر روی موجوديت های تازه ايجاد شده نيز اجرا نمود.
این صفحه را در گوگل محبوب کنید
[ارسال شده از: راسخون]
[مشاهده در: www.rasekhoon.net]
[تعداد بازديد از اين مطلب: 1965]
صفحات پیشنهادی
مبانی مدل سازی در طراحی بانک های اطلاعاتی
با توجه به موارد فوق ، شعار طراحی خوب و جامع پايگاه داده اين است که : اول اندازه بگير و بعد قيچی کن طراحان خوب و خبره بانک های اطلاعاتی ، مبانی و اصول نرمال سازی ...
با توجه به موارد فوق ، شعار طراحی خوب و جامع پايگاه داده اين است که : اول اندازه بگير و بعد قيچی کن طراحان خوب و خبره بانک های اطلاعاتی ، مبانی و اصول نرمال سازی ...
نرمال سازی بانك های اطلاعاتی
نرمال سازی بانك های اطلاعاتی-نرمال سازی بانك های اطلاعاتی نرمال سازی ( Normalization ) يا به تعبيری هنجار سازی فرآيندی است در رابطه با بانك های اطلاعاتی كه با دو ...
نرمال سازی بانك های اطلاعاتی-نرمال سازی بانك های اطلاعاتی نرمال سازی ( Normalization ) يا به تعبيری هنجار سازی فرآيندی است در رابطه با بانك های اطلاعاتی كه با دو ...
نرمال باشیم -
نرمال سازی بانك های اطلاعاتی-نرمال سازی بانك های اطلاعاتی نرمال سازی ... مثال ذيل توجه نمائيد :فرض كنيد در يك بانك اطلاعاتی دارای دو موجوديت كتاب و نويسنده باشيم .
نرمال سازی بانك های اطلاعاتی-نرمال سازی بانك های اطلاعاتی نرمال سازی ... مثال ذيل توجه نمائيد :فرض كنيد در يك بانك اطلاعاتی دارای دو موجوديت كتاب و نويسنده باشيم .
طراحی cms جدید -
نرمال سازی هم باید بشه . زبان پیشنهادی من هم php با بانک اطلاعاتی mysql و سرور لینوکسه ولی بهترین کار این است که ... افزايش مشكلات بانك هاي آمريكا و انگليس.
نرمال سازی هم باید بشه . زبان پیشنهادی من هم php با بانک اطلاعاتی mysql و سرور لینوکسه ولی بهترین کار این است که ... افزايش مشكلات بانك هاي آمريكا و انگليس.
انواع مدل كدينگ در ASP. NET 2.0
پياده كنندگان برنامه های وب كه از فناوری فوق برای پياده سازی برنامه های وب استفاده می نمايند ، می بايست با اين تغييرات و دستاوردهای ... نرمال سازی بانك های اطلاعاتی ...
پياده كنندگان برنامه های وب كه از فناوری فوق برای پياده سازی برنامه های وب استفاده می نمايند ، می بايست با اين تغييرات و دستاوردهای ... نرمال سازی بانك های اطلاعاتی ...
کمک در نوشتن کلاس از نوع (فکر میکنم میگن) انتضاعی -
... مد نظرم هست در ثانی من مشکلی با روش های تعامل با بانک اطلاعاتی ندارم فقط میخواهم ... بیان کردید به چه صورت پیاده سازی میشه دقیقا در مثال دومی که زدید جندین متد از ...
... مد نظرم هست در ثانی من مشکلی با روش های تعامل با بانک اطلاعاتی ندارم فقط میخواهم ... بیان کردید به چه صورت پیاده سازی میشه دقیقا در مثال دومی که زدید جندین متد از ...
مطالعه موردي جلوه هاي بصري سریال یوسف پیامبر(ع) 3
مطالعه موردي جلوه هاي بصري سریال یوسف پیامبر(ع) 3-مطالعه موردي جلوه هاي بصري سریال یوسف پیامبر(ع) 3 نويسنده:اميررضا معتمدي در ... نرمال سازی بانك های اطلاعاتی ...
مطالعه موردي جلوه هاي بصري سریال یوسف پیامبر(ع) 3-مطالعه موردي جلوه هاي بصري سریال یوسف پیامبر(ع) 3 نويسنده:اميررضا معتمدي در ... نرمال سازی بانك های اطلاعاتی ...
روش هاي محاسبه ريسك بازار
روش هاي محاسبه ريسك بازار آرش جالبي-اميد آبگون ؛ بخش دوم و پاياني: ارزش در معرض ... كميته نظارت بر بانكداري بال سال 1966 نهادهاي مالي از جمله بانك ها و بنگاهاي سرمايه ... همچنين انحراف معيار و واريانس به عنوان معيار سنجش ريسك با فرض نرمال بودن ... روش شبيه سازي ساده ترين روش غير پارامتريك بوده و نيازي به پيش فرض در مورد ...
روش هاي محاسبه ريسك بازار آرش جالبي-اميد آبگون ؛ بخش دوم و پاياني: ارزش در معرض ... كميته نظارت بر بانكداري بال سال 1966 نهادهاي مالي از جمله بانك ها و بنگاهاي سرمايه ... همچنين انحراف معيار و واريانس به عنوان معيار سنجش ريسك با فرض نرمال بودن ... روش شبيه سازي ساده ترين روش غير پارامتريك بوده و نيازي به پيش فرض در مورد ...
ژنرال آمریکایی و زائران ایرانی
... تجاری و مبادلات دانشگاهی می تواند به نرمال سازی روابط بین همسایگان کمک کند اضافه می کند: "اعزام چنین ... وی با اشاره به نصب فناوری جدید در پایگاه های مرزی برای نظارت بر کامیون ها و افراد ادامه می دهد: "همه ... زائران ایرانی اطلاعات:کمبود داروهای بیماران خاص به زودی برطرف می شودهشدار ژنرال . ... افزايش مشكلات بانك هاي آمريكا و انگليس.
... تجاری و مبادلات دانشگاهی می تواند به نرمال سازی روابط بین همسایگان کمک کند اضافه می کند: "اعزام چنین ... وی با اشاره به نصب فناوری جدید در پایگاه های مرزی برای نظارت بر کامیون ها و افراد ادامه می دهد: "همه ... زائران ایرانی اطلاعات:کمبود داروهای بیماران خاص به زودی برطرف می شودهشدار ژنرال . ... افزايش مشكلات بانك هاي آمريكا و انگليس.
طرح جمع آوری سایت های اطلاع رسانی شهرستانها -
طرح جمع آوری سایت های اطلاع رسانی شهرستانها --طرح جمع آوری سایت های اطلاع رسانی ... جنوبي با هدف معرفي استان و توانمندي هاي آن و همچنين تسريع در پياده سازي دولت ... اطلاع رساني ، ارائه و معرفي خدمات الكترونيك ، دسترسي سريع و آسان به اطلاعات مورد ... را اشاره كرد 118 خراسان جنوبي بانك مشاغل استان مشاهده قبض موبايل مشاهده قبض ...
طرح جمع آوری سایت های اطلاع رسانی شهرستانها --طرح جمع آوری سایت های اطلاع رسانی ... جنوبي با هدف معرفي استان و توانمندي هاي آن و همچنين تسريع در پياده سازي دولت ... اطلاع رساني ، ارائه و معرفي خدمات الكترونيك ، دسترسي سريع و آسان به اطلاعات مورد ... را اشاره كرد 118 خراسان جنوبي بانك مشاغل استان مشاهده قبض موبايل مشاهده قبض ...
-
گوناگون
پربازدیدترینها