دانلود مقاله نرمال سازی در پایگاه داده ها

Word 75 KB 17897 9
مشخص نشده مشخص نشده کامپیوتر - IT
قیمت قدیم:۱۲,۰۰۰ تومان
قیمت: ۷,۶۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • نرمال سازی ( 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) است یعنی پس از هر مرحله نرمال سازی که منجر به ایجاد موجودیت های جدید می گردد ، فرآیند را باید از ابتدا تا انتها بر روی موجودیت های تازه ایجاد شده نیز اجرا نمود.

    فاکتور فروششماره فاکتور(کلید اصلی) تاریخ فاکتور کد مشتری نام مشتری کالای 1 تعداد کالای 1 قیمت واحد کالای 1 .

    .

    کالای n تعداد کالای n قیمت واحد کالای n ردیف های فاکتور فروشارتباط بین موجودیت پدر و فرزند بر اساس کلید اصلی موجودیت پدر (فاکتور فروش)فاکتور فروششماره فاکتور(قسمت اول کلید اصلی) کالا (قسمت دوم کلید اصلی) تعداد قیمت واحدارتباط بین موجودیت پدر و فرزند بر اساس کلید اصلی موجودیت پدر (فاکتور فروش)شماره فاکتور(کلید اصلی) تاریخ فاکتور کد مشتری نام مشتری ردیف های فاکتور فروشارتباط بین موجودیت پدر و فرزند بر اساس کلید اصلی موجودیت پدر (فاکتور فروش)فاکتور فروششماره فاکتور(قسمت اول کلید اصلی) کالا (قسمت دوم کلید اصلی) تعدادارتباط بین موجودیت پدر و فرزند بر اساس کلید اصلی موجودیت پدر (فاکتور فروش)شماره فاکتور(کلید اصلی) تاریخ فاکتور کد مشتری نام مشتریارتباط بین موجودیت پدر و فرزند بر اساس کلید اصلی موجودیت پدر (کالا)ارتباط بین موجودیت پدر و فرزند بر اساس کلید اصلی موجودیت پدر (فاکتور فروش)کالاارتباط بین موجودیت پدر و فرزند بر اساس کلید اصلی موجودیت پدر (فاکتور فروش)کالا (کلید اصلی) قیمت واحدارتباط بین موجودیت پدر و فرزند بر اساس کلید اصلی موجودیت پدر (فاکتور فروش) ردیف های فاکتور فروشردیف های فاکتور فروشارتباط بین موجودیت پدر و فرزند بر اساس کلید اصلی موجودیت پدر (فاکتور فروش)فاکتور فروشفاکتور فروششماره فاکتور(قسمت اول کلید اصلی) کالا (قسمت دوم کلید اصلی) تعدادشماره فاکتور(قسمت اول کلید اصلی) کالا (قسمت دوم کلید اصلی) تعدادارتباط بین موجودیت پدر و فرزند بر اساس کلید اصلی موجودیت پدر (فاکتور فروش)شماره فاکتور(کلید اصلی) تاریخ فاکتور کد مشتری (کلید خارجی)شماره فاکتور(کلید اصلی) تاریخ فاکتور کد مشتری (کلید خارجی)ارتباط بین موجودیت پدر و فرزند بر اساس کلید اصلی موجودیت پدر (کالا)ارتباط بین موجودیت پدر و فرزند بر اساس کلید اصلی موجودیت پدر (فاکتور فروش)ارتباط بین موجودیت پدر ( مشتری ) و فرزند بر اساس کلید خارجیکالاکالاارتباط بین موجودیت پدر و فرزند بر اساس کلید اصلی موجودیت پدر (فاکتور فروش)مشتریمشتریکالا (کلید اصلی) قیمت واحدکالا (کلید اصلی) قیمت واحدارتباط بین موجودیت پدر و فرزند بر اساس کلید اصلی موجودیت پدر (فاکتور فروش)کدمشتری (کلید اصلی) نام مشتریکدمشتری (کلید اصلی) نام مشتری

چکیده -تشخیص آرم یکی از راه های تشخیص منابع اسنادو اطلاعاتی درباره یک سند می باشد.در این مقاله شناسایی و تشخیص آرم ها در تصاویر متنی بیان می شود.بدین صورت که ابتدا تصاویر به سگمنت هایی تقسیم شده ، توسط فاز تشخیص آرم، برای هر سگمنت ویژگی هایی بر پایه آمار اولیه در مورد مؤلفه های پیکسل های سیاه درون هر بخش محاسبه می شود.با استفاده از این ویژگی ها، شبکه عصبی تکاملی بر پایه الگوریتم ...

بهينه سازي تقاضا يکي از مسائل مهم در سيستمهاي مديريت پايگاه داده مي باشد. در سالهاي اخير بهينه سازي تقاضا از جنبه هاي مختلفي مورد بررسي قرار گرفته است که به تفصيل در فصل 2 بيان شده است. مقوله اي که مورد بررسي انجام داديم بهينه سازي تقاضا تحت رتبه بن

مقدمه اي بر داده‌کاوي در دو دهه قبل توانايي هاي فني بشر در براي توليد و جمع آوري داده‌ها به سرعت افزايش يافته است. عواملي نظير استفاده گسترده از بارکد براي توليدات تجاري، به خدمت گرفتن کامپيوتر در کسب و کار، علوم، خدمات دولتي و پيشرفت در وسائل جمع

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

در اين مقاله بر کاربرد SQL Server 2000 و VB.NET به طور مختصر توضيحاتي خواهيم داد و هم چنين عملکرد نرم افزار کتابخانه را بررسي خواهيم نمود . SQL Server MS مرتباً سهم بيشتري از بازار را به خود اختصاص مي دهد و يک سيستم مديريت پايگاه داده رابطه اي سروي

مقدمه : در دنياي امروز به سبب مسائل و مشکلاتي که در اثر حجم زياد فعاليت ها پيش آمده ، نياز به اطلاعات و آمار وارقام در تصميمات مديريتي بيش از پيش احساس ميشود و در واقع بايد گفت بدون داشتن اطلاعات و آمار ، تصميم گيري و مشکل گشايي امکان پذير نيس

استفاده کارا از نيروي انساني، تجهيزات و ديگر منابع سازماني امري ضروري است0 بدين منظور شبيه سازي ( simulation ) ميتواند بعنوان يکي از تکنيکها موَثر و پرقدرت مديران امروز مورد استفاده قرار گيرد0 دراين مقاله، روش جديدي براي ارزيابي و بهبود فرايند توليد

اين مقاله به موضوعاتي مي پردازد که ايجاد داده پايگاهي براي محدوده تهران بزرگ مستلزم آن هاست و به ويژگي هاي سودمند چنين امري نيز اشاره خاص دارد بعلاوه بر نياز به استانداردي براي داده پايگاه ها تأکيد مي کند و نگاهي هم به تقويت کارآيي کارکردي اين داد

ا-قابليتهاي سيستم - پردازش تحليلي اطلاعات جهت بدست آوردن شاخصهاي اطلاعاتي و عملياتي از وضعيت آموزشي دانشجويان ، اساتيد ، دروس ، دانشکده ها و .. - ارائه نمودارهاي ديناميک در محيط وب با استفاده از فناوريهاي OLAP : Online Analytical Processing و OWC:

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

ثبت سفارش
تعداد
عنوان محصول