پایان نامه برنامه نویسی انبارداری

دسته: کامپیوتر و IT

فرمت فایل: doc

حجم فایل: 941 کیلوبایت

تعداد صفحات فایل: 100

پایان نامه برنامه نویسی انبارداری

موجودیت ( Entity )

به هر چیزی (شی ، شخص ، محل و …) که می خواهیم در یک سیستم راجع به آن اطلاعاتی را جمع آوری ، پردازش و نگهداری نمائیم ، یک موجودیت گفته می شود . تعریف فوق ، متداولترین برداشت اولیه از موجودیت می باشد . مجموعه موجودیت های یک سیستم ، ساختار اطلاعاتی آن سیستم را مشخص می کند . هر موجودیت شامل اجزاء و المان هائی است که آن موجودیت را توصیف می کند که به آنها خصیصه و یا Attribute گفته می شود . هر موجودیت بسته به این که در سیستم مورد مطالعه چه میزان اطلاعات راجع به آن می خواهیم داشته باشیم ، شامل حداقل یک و یا چند خصیصه خواهد بود. از آنجا که هر موجودیت راجع به یک موضوع به خصوص می باشد ، بنابراین یک ارتباط منطقی بین کلیه خصایص موجودیت وجود خواهد داشت .در واقع ، تمام خصائص یک موجودیت توصیف کننده آن موجودیت خواهد بود . برای روشن شدن موضوع بد نیست به نمونه مثال ذیل توجه نمائید :

- موجودیت مشتری شامل خصلت های نام مشتری ، آدرس مشتری ، تلفن مشتری و … است .

- موجودیت سفارش شامل خصلت های شماره سفارش ، تاریخ سفارش ، نام مشتری ، کالای سفارش شده ، تعداد کالای سفارش شده و … است

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

کلید ( Key )

هر رخداد از یک موجودیت را باید بتوان به وسیله یک و یا ترکیبی از چند خصیصه آن به صورت یکتا شناسائی نمود . به تعبیر دیگر ، هر یک از رخدادهای یک موجودیت باید یکتا باشد ، در غیر اینصورت تغییر و یا حذف یک رخداد از موجودیت (در مثال فوق یک مشتری) غیر ممکن خواهد بود . از اینرو از بین خصلت های یک موجودیت یک و یا ترکیبی از چند خصیصه به عنوان کلید آن موجودیت انتخاب می شود . این خصلت (و یا ترکیب خصلت ها) باید بتواند یکتائی هر رخداد از موجودیت را تضمین نماید . در موجودیت سفارش مثال فوق ، خصلت شماره سفارش می تواند بعنوان کلید انتخاب شود .

توضیح : در برخی از موارد در یک موجودیت چندین کلید وجود دارد که به هر یک از آنها یک Candidate Key یا Alternate Key گفته می شود .

در برخی از حالات نمی توان در یک موجودیت هیچ کاندیدی برای کلید یافت ، مانند موجودیت مشتری در مثال فوق . در این موجودیت هیچیک از خصلت ها و یا هیچ ترکیبی از آنها نمی تواند صد درصد تضمین کننده یکتائی آن باشد (با اینکه احتمال وجود دو مشتری هم نام در یک آدرس و با یک شماره تلفن بسیار کم است ، اما باز هم احتمال وقوع دارد) . در چنین مواردی مجبور هستیم یک خصلت به موجودیت اضافه کنیم تا تضمین کننده یکتائی رخدادهای آن باشد . در مثال فوق با اضافه کردن خصلت کد مشتری به موجودیت مشتری ، می توان یکتائی آن را تضمین نمود . به این نکته دقت شود که بسیاری از خصلت های یک موجودیت در کنترل سیستم نیست و از خارج به سیستم تحمیل می گردد . به عنوان مثال ما نمی توانیم تعیین کنیم که نام مشتری های سازمان تکراری نباشد . اما عدم تکراری بودن خصلت هائی که خود ما ایجاد نموده ایم را می توان تضمین کرد ( نظیر کد مشتری که توسط سیستم و یا سازمان مربوطه تولید می شود ) .

کلید اصلی ( Primary Key )

از بین کلیدهای یک موجودیت (Candidate Key) ، می بایست یک کلید را به عنوان کلید اصلی انتخاب نمود . معیارهای مختلفی در این انتخاب دخیل هستند ، اما معمولا’ بهترین کلیدی که معرف مفهوم و ماهیت موجودیت باشد به عنوان کلید اصلی انتخاب می گردد .

وابستگی تابعی ( Functional Dependency )

وابستگی تابعی مفهومی است که مابین خصلت های یک موجودیت تعریف می گردد . به این معنی که می گوئیم خصلت A با خصلت B وابستگی تابعی دارد ، در صورتیکه به ازای هر مقدار مشخص از خصلت B بتوان مقدار مشخص و یکتائی از خصلت A را بدست آورد ، اما عکس آن ممکن است صادق نباشد . در موجودیت مشتری مثال قبل ، به ازای هر کد مشتری می توان نام او را بدست آورد در این صورت می گوئیم خصلت نام مشتری با خصلت کد مشتری وابستگی تابعی دارد . اما عکس آن صادق نیست چرا که به ازای یک نام مشتری مشخص ، نمی توان یک کد مشتری یکتا استخراج نمود (دو مشتری مختلف می توانند نام یکسان داشته باشند ، در این حالت یک نام مشتری ممکن است متناظر با دو و یا حتی چند کد مشتری باشد).

انواع رابطه بین خصلت های یک موجودیت

بین خصلت های یک موجودیت سه نوع رابطه وجود دارد :

- رابطه یک به یک (One To One) : در حالتی اتفاق می افتد که خصلت A وابستگی تابعی به خصلت B داشته باشد و خصلت B نیز وابستگی تابعی به خصلت A داشته باشد . در این حالت هر دو خصلت A و B کاندیدای کلید شدن می باشند.

- رابطه یک به چند (One To Many) : اگر خصلت A وابستگی تابعی به خصلت B داشته باشد و عکس آن صادق نباشد ، یک ارتباط از نوع یک به چند وجود خواهد داشت . در این حالت ، خصلت B کاندید کلید شدن است و خصلت A صرفا’ یکی از توصیف گرهای موجودیت محسوب می گردد .

- رابطه چند به چند (Many To Many) : اگر دو خصلت هیچکدام وابستگی تابعی به یکدیگر نداشته باشند آنگاه رابطه بین آنها چند به چند خواهد بود . در این حالت هیچیکدام از آنها کاندید کلید شدن نبوده (ممکن است ترکیب آنها کاندید کلید شدن باشد) و صرفا’ توصیف کننده موجودیت خواهند بود .

هنجار سازی ( Normalization )

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

نا بهنجاری

به پیامدهای ناخواسته تغییر اطلاعات نابهنجاری گفته می شود .

Relation

موجودیت ها در مدل منطقی داده های سیستم مورد بحث و بررسی قرار می گیرند و پس از طی فرآیند هنجارسازی در مرحله فیزیکی به صورت ماتریسهای دوبعدی مشتمل بر سطرها (رخدادهای مختلف یک موجودیت) و ستون ها (خصلت های مختلف آن موجودیت) تعریف می گردند . هر یک از این ماتریس ها را یک ارتباط یا Relation می نامند که در مدل فیزیکی معمولا’ آنها را با نام جدول (Table) معرفی می کنند . همانطور که پیش از این اشاره شد تمام خصلت های یک موجودیت با یکدیگر ارتباط منطقی داشته و معرف آن موجودیت می باشند ، از اینرو به این جداول ارتباط می گویند .

Tuple

هر یک از رخدادهای مختلف یک موجودیت را یک Tuple می گویند که در مدل فیزیکی معمولا’ از آنها با نام ردیف (Row) و یا رکورد (Record) نام برده می شود . بنابراین Tuples ، ردیف های جدول دو بعدی هستند که آن را به عنوان Relation و یا Table می شناسیم .

Attribute

هریک از خصلت های مختلف یک موجودیت را Attribute می نامند ( نظیر کد مشتری ) . معمولا’ در مدل فیزیکی به جای Attribute از فیلد (Field) و یا ستون (Column) استفاده می شود . بنابراین Attributes ، ستون های جدول دو بعدی هستند که آن را به عنوان Relation و یا Table می شناسیم .

ارتباط ( Relationship )

منظور ارتباط بین دو Relation و یا جدول است که بر اساس برابری فیلدهای یکسان در هر جدول تعریف و دارای انواع مختلفی است . ( به دلیل اهمیت و گستردگی ، در مقاله ای جداگانه تشریح خواهد شد) . این ارتباط ها در مدل منطقی مابین موجودیت ها (خصوصا’ موجودیت های نرمال شده ) تعیین می گردند و به آن Entity Relation یا ER سیستم می گویند . مدل ER سیستم توسط ابزارهای مستند سازی جهت درک بهتر مدل داده ای سیستم ترسیم می گردد که به آنها ERD می گویند .

پس از تشریح برخی از مفاهیم اولیه و در عین حال مهم بانک های اطلاعاتی رابطه ای ، به اختصار می توان گفت که یک بانک اطلاعات رابطه ای مجموعه ای از رابطه ها (Relations) و یا جداول به همراه تمامی ارتباط هائی (Relationship) است که بین آنها وجود دارد . هر بانک اطلاعاتی در خصوص یک سیستم مورد نظر طراحی و ایجاد می گردد ، اما در برخی از سازمان های بزرگ که بین سیستم های مختلف آن ارتباط وجود دارد (نظیر سیستم پرسنلی ، حقوق و دستمزد و مالی و …) ممکن است بانک های اطلاعاتی با یکدیگر تجمیع و پس از طی فرآیند یکپارچه سازی به صورت یک بانک اطلاعاتی جامع و یکپارچه برای آن سازمان تعریف و ایجاد گردد .

امروزه سیستم های مدیریتی بانک های اطلاعاتی رابطه ای مختلفی وجود دارد که هر یک ویژگی ها و قابلیت هایی خاص خود را دارند . به این سیستم ها و یا نرم افزارها اختصارا’ RDBMS گفته می شود . MS ACCESS ، MS SQL ، ORACLE ، SYBASE ، نمونه هائی متداول در این زمینه می باشند .

تمامی سیستم های مدیریت بانک های اطلاعاتی رابطه ای به منظور ارائه قابلیت های خود و استفاده از آنها از زبان مشترکی که به آن SQL ( برگرفته شده از Structured Query Language ) گفته می شود ، استفاده می نمایند . تمامی نیازها و انتظارات کاربران از بانک های اطلاعاتی نظیر جستجوی اطلاعات ، ایجاد ، تغییر و یا حذف اطلاعات حتی ایجاد بانک اطلاعاتی و یا سایر اجزاء مرتبط با آن توسط زبان فوق تعریف و تحویل RDBMS داده خواهد شد تا پس از بررسی بر روی بانک اعمال گردد.

سیستم های اطلاعاتی – داده پردازی

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

مقدمه

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

حجم بالای داده های دائما در حال رشد در همه حوزه ها و نیز تنوع آنها به شکل داده متنی، اعداد، گرافیکها، نقشه ها، عکسها، تصاویر ماهواره ای و عکسهای گرفته شده با اشعه ایکس نمایانگر پیچیدگی کار تبدیل داده ها به اطلاعات است. علاوه بر این، تفاوت وسیع در فرآیندهای تولید داده مثل روش آنالوگ مبتنی بر کاغذ و روش دیجیتالی مبتنی بر کامپیوتر، مزید بر علت شده است. استراتژیها و فنون متعددی برای گردآوری، ذخیره، سازماندهی و مدیریت کارآمد داده های موجود و رسیدن به نتایج معنی دار بکار گرفته شده اند. بعلاوه، عملکرد مناسب ابرداده[1] که داده ای درباره داده است در عمل عالی بنظر میرسد.

پیشرفتهای حاصله در علم اطلاع رسانی و تکنولوژی اطلاعات، فنون و ابزارهای جدیدی برای غلبه بر رشد مستمر و تنوع بانکهای اطلاعاتی تامین می کنند. این پیشرفتها هم در بعد سخت افزاری و هم نرم افزاری حاصل شده اند. ریزپردازنده های سریع، ابزارهای ذخیره داده های انبوه پیوسته و غیر پیوسته، اسکنرها، چاپگرها و دیگر ابزارهای جانبی نمایانگر پیشرفتهای حوزه سخت افزار هستند. پیشرفتهای حاصل در نظامهای مدیریت بانک اطلاعات در طی چهار دهه گذشته نمایانگر تلاشهای بخش نرم افزاری است. این تلاشها در بخش نرم افزار را میتوان بعنوان یک حرکت پیشرونده از ایجاد یک بانک اطلاعات ساده تا شبکه ها و بانکهای اطلاعاتی رابطه ای و سلسله مراتبی برای پاسخگویی به نیاز روزافزون سازماندهی و بازیابی اطلاعات ملاحظه نمود. بدین منظور در هر دوره، نظامهای مدیریت بانک اطلاعاتی[2] مناسب سازگار با نرم افزار سیستم عامل و سخت افزار رایج گسترش یافته اند. در این رابطه میتوان از محصولاتی مانند، Dbase-IV, Unify, Sybase, Oracle و غیره نام برد.

داده کاوی یکی از پیشرفتهای اخیر در راستای فن آوریهای مدیریت داده هاست. داده کاوی مجموعه ای از فنون است که به شخص امکان میدهد تا ورای داده پردازی معمولی حرکت کند و به استخراج اطلاعاتی که در انبوه داده ها مخفی و یا پنهان است کمک می کند. انگیزه برای گسترش داده کاوی بطور عمده از دنیای تجارت در دهه 1990 پدید آمد. مثلا داده کاوی در حوزه بازاریابی، بدلیل پیوستگی غیرقابل انتظاری که بین پروفایل یک مشتری و الگوی خرید او ایجاد میکند اهمیتی خاص دارد. (Barry and Linoff, 1997)

تحلیل رکوردهای حجیم نگهداری سخت افزارهای صنعتی، داده های هواشناسی و دیدن کانالهای تلوزیونی از دیگر کاربردهای آن است. در حوزه مدیریت کتابخانه کاربرد داده کاوی بعنوان فرایند ماخذ کاوی[3] نامگذاری شده است. این مقاله به کاربردهای داده کاوی در مدیریت کتابخانه ها و موسسات آموزشی می پردازد. در ابتدا به چند سیستم سازماندهی داده ها که ارتباط نزدیکی به داده کاوی دارند می پردازد؛ سپس عناصر داده ای توصیف میشوند و درپایان چگونگی بکارگیری داده کاوی در کتابخانه ها و موسسات آموزشی مورد بحث قرار گرفته و مسائل عملی مرتبط در نظر گرفته می شوند.

پیشرفت در تکنولوژیهای داده پردازی

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

1. رکوردهای اصلی [4]

2. رکوردهای عملیاتی[5]

فرض بر این است که رکوردهای اصلی حاوی اطلاعات پایه هستند که معمولا چندان تغییر نمی کنند در حالیکه رکوردهای عملیاتی با توجه به طبیعت عملیات تجاری حتی بطور ساعتی تغییر خواهند کرد.

سیستمهای مدیریت پایگاه داده[6] مناسب برای پیوند دادن این دو مجموعه اطلاعاتی و تهیه گزارشهای استاندارد جهت کنترل فعالیتها گسترش یافتند. سیستم اطلاعات مدیریت رایج برای پشتیبانی عملیات و سرویس دهی به چند کاربر در سطوح مختلف سازمان مبتنی بر این نظریه است.

بمنظور کمک به تصمیم گیری راهبردی، نظریه تاسیس بانک اطلاعات رکوردهای اصلی به نظریه سازماندهی دیتا مارت[7] و انبار داده ها[8] تغییر یافت. استخراج اطلاعات از رکوردهای عملیاتی یا پایگاههای اطلاعات عملیاتی و سازماندهی آن برای تحلیل استاندارد یا زمانی فلسفه اولیه و اصولی چنین پیشرفتهایی است. گرچه، دیتا مارت و انبار داده ها از نظر هدف و ساختار با هم متفاوتند. (Inmon, 1998)

دیتامارت

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

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

دیتامارت اساسا برای اهداف تاکتیکی طراحی شده است و هدفش تامین یک نیازتجاری فوری است.

انبار داده ها

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

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

وابستگی به زمان:

رکوردها بر اساس یک برچسب زمانی نگهداری میشوند. وابستگی زمانی حاصل در ایجاد صفحات زمانی مفید است که درک ترتیب زمانی وقایع را تسهیل میکند.

فهرست مطالب

عنوان صفحه

فصل اول : سیستم های اطلاعاتی

  • مفاهیم و تعاریف …2
  • سیستم های اطلاعاتی – داده پردازی…6
  • دادگان ، پایگاه داده… 16
  • تاریخچه پایگاه داده… 17
  • انواع دادگان ها… 19
  • مدل های پایگاه داده… 19
  • مبانی مدل سازی…21

فصل دوم : معرفی نرم افزارهای مورد استفاده

الف - معرفی نرم افزار Access…24

  • آشنایی با اکسس…25
  • انواع عملگرها…31
  • آشنایی با طراحی Query…35

ب – معرفی ویژوال بیسیک (VB)

  • شروع کار با Visual Basic (VB) …42

فصل سوم : توضیحات پروژه

  • دستورات سورس کد بهمراه فرم های پروژه… 67

ضمیمه 1 : نحوه ساخت و اتصال دیتا بیس در ویژوال بیسیک…84

ضمیمه 2 : نحوه ساخت گزارشگیری ( DataReporter )…91

عبارات کلیدی

  • پایان نامه برنامه نویسی انبارداری
  • پایان نامه برنامه نویسی انبارداری
  • برنامه نویسی انبارداری
  • پایان نامه برنامه نویسی

خرید فایل

ارسال شده در