بخشی از مقاله

مقدمه :
امروزه پس از جمع آوري و بدست اوردن اطلاعات ، تجزيه و تحليل داده ها ، يكي از مهمترين كارهاي بانك هاي اطلاعاتي مي باشد . بر همين اساس اكنون يكي از مهمترين معيار تشخيص بانك اطلاعاتي برتر ، امكانات تجزيه و تحليل داده ها در آن بانك مي باشد .


از جمله فناوريهاي جديد در جهت تحليل داده ، سيستم Olap مي باشد . Olap كه در چند سال اخير مطرح گشته است و هر ساله راه تكامل خود را طي مي نمايد يك قابليت وصف ناپذير در جهت بدست آوردن اطلاعات كامل تر و دقيق تر از داده هاي موجود در پايگاه داده ها مي باشد .
درسالهاي گذشته و قبل از مطرح شدن عمليات Olap ، نگهداري اطلاعات گذشته يا انباركردن داده ها مطرح نبود اما اكنون جهت تحليل داده ها براي انجام عمليات Olap نيازمند انبار كردن داده ها
مي باشيم .


جهت بررسي به عملكرد Olap ميتوان به نرم افزار هاي پايگاه داده قدرتمند مانند Sql Server يا Oracle مراجعه نمود و با نحوه عمليات Olaping آشنا شد .
بر همين اساس از آنجا كه كار با Sql Server راحت تر و در عموم بيشتر كاربرد دارد و همچنين آشنايي با آن نزد برنامه نويسان پايگاه داده بيشتر است ، بحث Olaping در اين مقاله در Sql server 2000 مطرح مي گردد .

 

تاريخچه SQL SERVER :
IBM در دهه ۷۰ زباني با نام SEQUEL را خاص پرس و جو (QUERY) از پايگاههاي داده ابداع کرد اين واژه معادل زبان پرس و جوي ساخت يافته مي باشد .
به مرور بخشهاي جديدي به اين زبان اضافه شد تا جاييکه ديگر نه تنها براي پرس و جو بلکه براي ساخت و مديريت پايگاههاي داده و موتور ايمني پايگاه داده نيز بکار مي رفت . IBM اين زبان را به عموم عرضه کرد و پس از آن SQL ناميده شد .


موتور پايگاه داده امروزي ويرايش متعددي از SQL را بکار مي برند . ويرايش مورد استفاده SQL SERVER نيز (T-SQL) TRANSACT –SQL نام دارد .
مايکروسافت در ابتدا SQL SERVER را با همکاري SYBASE براي اجرا در محيط OS/2 طراحي کرد ، هنگاميکه مايکروسافت و IBM از هم جدا شدند ، مايکروسافت کار را با سيستم عامل جديد و شبکه خود تحت عنوان سرويس دهنده پيشرفته ويندوز NT ادامه داد . در اين مقطع مايکروسافت تصميم گرفت SQL SERVER را شخصا براي محصول جديد خود NT توسعه دهد. نام اين محصول جديد SQL SERVER 4.2 بود که بعدها به 4.21 ارتقا يافت .3


پس از جدا شدن مايکروسافت و SYBASE ، شرکت اخير موتور پايگاه داده خود را براي اجرا بر روي ويندوز NT توسعه داد . اين محصول (SYBASE ADAPTIVE SERVER ENTERPRISE ) ناميده ميشود .و مايکروسافت ويرايش ٦ وسپس ٥/٦ را عرضه کرد . ويرايش ٧ اين محصول با قابليت اجرا در محيط هاي NT و ويندوز هاي 95 و 983 معرفي شد . در اين ويرايش تفکيک عمده اي نسبت به کد SYSBASE ايجاد شده است .


ويرايش هاي قبلي از اين نظر بسيار وابسته به SYBASE بودند . اما در ويرايش ۷ تيم مايکروسافت بتدريج کد مزبور را دوباره نويسي کرد و آن را تغيير داد . اين شرکت ضمن ساختار دهي مجدد هسته مرکزي موتور پايگاه داده ، يک بهينه ساز پرس و جوي پيشرفته و پيچيده و يک موتور ذخيره سازي پايگاه داده پيشرفته را نيز معرفي کرد .


Sql Server 2000از اين کد جديد بهره مي گيرد و داراي ويژگيهاي قابل ملاحظه اي مي باشد . همچنين قابليت اطمينان ، در دسترس بودن محصول و توسعه پذيري آن افزايش يافته و در کل کار را براي راهبران پايگاه داده ساده تر کرده است .

SQL SERVER چيست ؟
SQL SERVER يک سيستم پايگاه داده رابطه اي است به صورتي که CLIENT ها درخواست خود (QUERY) را به SQL SERVER فرستاده و SQL SERVER نتايج را به CLIENT باز مي گرداند .
SQL SERVER مجموعه اي از مؤلفه ها (COMPONENTS) مي باشد که با همديگر کار
مي کنند و براي نيازهاي داده هاي ذخيره شده مي باشد که شامل قسمتهاي زير است .
 OLTP (ONLINE TRANSACTION PROCCESSING )
 OLAP ( ONLINE ANALITICAL PROCCESSING)


که وظايف هر کدام بصورت زير است :
1- در پايگاه داده OLTP :
• سازماندهي در جدول روابط
• نرمال سازي و حذف دوگانگي داده ها
• اطلاعات فقط يکبار ذخيره مي شوند .
• افزايش دقت دراضافه کردن يا تغيير سريع داده ها توسط تعداد زيادي کاربر همزمان
2- در پايگاه داده OLAP :
• سازماندهي در اجازه تجزيه و تحليل و خلاصه سازي مقدار زيادي از داده ها با سرعت بالا
• سازماندهي در مديريت SQL SERVER
• سازماندهي داده هاي ذخيره شده
• سازماندهي در روابط بين داده در پايگاه داده ها
• قابليت بازيابي

اهداف SQL SERVER :
 استفاده آسان
 مقدماتي از مراحل سودمند سرويس Olap
 موتور بانك داده روابط كاملا صعود پذير
 سرويس دهي گروهي بانك اطلاعاتي به كاربران
 دسترسي هزاران كاربر بصورت همزمان
 قابليت مديريت ترافيك در صفحات وب جهاني
 قابليت تنظيم خودكار موتور بانك اطلاعاتي
 بدست آوردن منابع بصورت پويا در زمان اتصال كاربران
 آزاد سازي منابع در زمان قطع ارتباط كاربران
 پيشرفت در زمينه امنيتي


 پيشرفت در ارائه سرويسهاي تحليل داده

آشنايي با Analysis Services و نحوه نصب آن :
در Sql Server 200 امكاناتي با عنوان Analysis Services قرار داده شده است كه قابليت تجزيه و تحليل اطلاعات را دارا مي باشد همچنين اين سرويس قادر است اطلاعات آماري نيز از بانك اطلاعاتي تهيه كرده و ارائه كند.


نحوه نصب كردن Analysis Service شامل مراحل زير است :
در صفحه نصب Sql Server 2000 گزينه Sql Server 2000 Components را انتخاب كرده و سپس گزينه Install Analysis Services را انتخاب ميكنيم .
پس از نصب از مسير زير برنامه Analysis Manager را انتخاب ميكنيم
Start­­­­­> Programs­­­­­>Microsoft Sql Server ­­­­­>Analysis Manager
براي استفاده از قابليت Olap در Sql Server 2000 نيازمند به انجام مقدماتي مي باشيم كه در زير به ترتيب آورده شده اند :
اولين قدم نصب منبع سيستم بانك اطلاعاتي مي باشد. اين قابليت باعث مي شود كه اشيا بتواند به بانك اطلاعاتي دسترسي داشته باشند .


براي اين منظور نيازمند اتصال به بانك اطلاعاتي هستيم كه آنرا نصب Dns (Data Source Name) گويند.
براي اين منظور از منوي Start گزينه Seeting و سپس Control Panel را انتخاب كرده و سپس بر روي Data Source (Odbc) دو بار كليك مي كنيم .
اگر از ويندوز 2000 و يا Xp استفاده شود از مسير زير استفاده مي كنيم :
Start ­­­­­> Setting ­­­­­> Control Panel ­­­­­> Administrative Tools ­­­­­>
Data source (odbc)
سپس از برگه System Dns گزينه Add را كليك كرده و گزينه Microsoft Access Driver (*.Mdb) را انتخاب نموده Finish را كليك ميكنيم .
در صفحه نام منبع داده (Data Source Name) نام بانك اطلاعاتي را انتخاب مي كنيم .
بعنوان مثال مي توان از مسير زير از بانك اطلاعاتي نمونه موجود در Sql Server 2000 استفاده كنيم :
C:\Program Files\Microsoft Analysis Service\Sample\foodmart2000.mdb
صفحه اي مانند شكل زير نمايش داده مي شود :

شكل (1) :


سپس در قسمت Odbc Microsoft Access Setup ، گزينه Ok را انتخاب كرده همچنين در Odbc Data Source Administrator نيز گزينه Ok را مي زنيم .
حال به برنامه Analysis Manager كه از برنامه هاي موجود در Sql Server 2000
مي باشد رفته و آنرا اجرا ميكنيم .
صفحه اي به شكل زير خواهيم ديد :

شكل (2) :


نصب پايگاه داده و منبع آن :
براي نصب ساختار پايگاه داده مراحل زير دنبال ميشود :
در برنامه Analysis Manager در سمت چپ گزينه Console Root ديده ميشود كه زير منوي آن Analysis Services مي باشد ، با باز كردن آن نام سرويس دهنده (Server) مشاهده مي شود ،كه با كليك راست بر روي آن و انتخاب گزينه New Data Bases يك پنجره محاوره اي باز شده و

خواهان نام پايگاه داده مي باشد . با انتخاب نام و سپس كليك بر روي دكمه Ok پنجره بسته شده و مشاهده ميشود كه در قاب درختي Analysis Manager با كليك بر روي نام سرويس دهنده بانك اطلاعاتي ايجاد شده مشاهده مي شود . ( براي مثال نام اين بانك را Tutorial قرار مي دهيم . )
اگر بر روي نام بانك اطلاعاتي كليك كنيم گزينه هاي زير را مشاهده ميكنيم :
• Data Sources
• Cubes
• Shared Dimension
• Mining Model
• Database Rules
مانند شكل زير :
شكل (3)


حال به برقراري اتصالات بانك اطلاعاتي مي پردازيم . در قاب درختي Analysis Manager بر روي گزينه Data Sources كه در زير منوي نام بانك اطلاعاتي قرار دارد كليك راست ميكنيم و سپس گزينه New Data Source را انتخاب مي كنيم و در قسمت Data Link Properties برگه Provider و سپس گزينه Microsoft OLE db Provider For ODBC Drivers را انتخاب مي كنيم .
مانند شكل زير :
شكل (4) :


از برگه Connection و در قسمت Use Data Source Name نام بانك داده را انتخاب
مي كنيم . ( در اينجا نيز بطور مثال نام Tutorial را انتخاب مي كنيم . )
سپس بر روي دكمه Test Connection كليك كرده و در صورت صحيح بودن انجان عمليات پيغام Test Connection Succeeded را مشاهده مي كنيم .
شكل (5) :

پس از برقراري ارتباط با بانك اطلاعاتي نوبت به ساختن مكعب (Cube) ميرسد . مكعب ها يك ساختار چند بعدي از داده ها مي باشند و تشكيل شده از مجموعه اي از ابعاد و مقادير مي باشند .
براي آشنايي بيشتر با مكعب ها در زير تعريف مايكروسافت از مكعب آمده است :
يك مكعب مجموعه اي از دادههاي ذخيره شده است كه امكان تجزيه و تحليل سريع و سهل داده ها را فراهم مي كند . داده هاي ذخيره شده در مكعب بر اساس ابعاد ، تجزيه و تحليل مي شوند . اين ابعاد مي توانند زمان يا ناحيه باشند . براي مثال مي توان فروش را بر اساس سال ، فصل ، ماه ، هفته ، روز و يا حتي ساعت و دقيقه نگهداري كرد و يا آمار فروش را بر حسب كشور ، ايالت ، شهر و حتي مناطق پستي شهر تقسيم بندي نمود .


در ادامه كار براي مثال از بانك اطلاعاتي Foodmark كه در شاخه Sample در Sql Server 2000 قرار دارد استفاده مي كنيم و فرض مي شود كه كليه مراحل قبل انجام شده و نام بانك اطلاعاتي Tutorial درج گرديده است كه در حقيقت نام ديگري براي Foodmark ميباشد .

نحوه ايجاد Cube :
كار را بر روي بانك اطلاعاتي Tutorial كه مربوط به يك فروشگاه بزرگ ميباشد ، دنبال ميكنيم و اين بانك شعب مختلفي در آمريكا ، كانادا ، مكزيك دارد و مديريت فروشگاه نيازمند تحليل فروش محصولات خود و مشتريان در سال 1998 ميباشد .
براي اين كار با ساختن يك مكعب و تعريف ابعاد آن مي توان بسرعت به تجزيه و تحليل داده ها پرداخت .


براي ايجاد مكعب مراحل زير طي مي شود :
در پنجره Analysis Manager در زير قسمت بانك Tutorial بر روي گزينه Cube Folder كليك راست كرده و گزينه New Cube انتخاب و سپس گزينه Wizard انتخاب شود .
حال زمان تعريف پيمانه يا (Measure) مي باشد اما قبل از آن نياز به آشنايي با اصطلاح جديدي است .
اين اصطلاح جداول Fact يا (Fact Table) مي باشد . در اكثر طراحي هاي پايگاه داده انبار كردن داده ها حول محور جدول Fact متمركز مي شود . اين جداول منابع مركزي اطلاعاتي است كه انبار دادهاي بر اساس آن ساخته ميشود ، براي درك بيشتر به مثال هاي زير توجه شود :
براي توليد لوازم آرايشي جدول Fact ميتواند شامل اطلاعاتي نظير محصولات فروش رفته ، خريداران محصول ، مبلغ فروش ، قيمت تمام شده كالا ، قيمت عمده فروشي و تاريخ و زمان ميباشد . سپس ميتوان از اين جداول براي پاسخ به سؤالاتي نظير فروش ماهانه و يا درآمد روزانه استفاده كرد .


پيمانه چيست ؟
پيمانه ها مقاديري در بانك اطلاعاتي هستند كه ميخواهيم آنها را تجريه و تحليل كنيم . پيمانه ها ، بر خلاف ابعاد به نحوه هاي ديگري تجزيه و تحليل مي شوند .
حال به نحوه ايجاد پيمانه ميپردازيم .
براي اين كار با استفاده از Wizard مربوطه ، از بانك Tutorial جدول Sales_Fact1998 را انتخاب كرده و سپس دكمه Next را كليك مي كنيم .
حال نوبت به انتخاب ستون عددي يا Numeric Column ميپردازيم و گزينه هاي
Unit_Sales , Store_Cost , Store_Sales را انتخاب مي كنيم .


توجه به اين نكته لازم است كه ما كار تجزيه و تحليل داده ها را براي فروش در سال 1998 ميلادي آغاز كرده ايم .
اكنون زمان ايجاد ابعاد مي باشد ، با كليك بر روي New Dimension كار را ادامه مي دهيم .
شكل زير نمايانگر صفحه انتخاب ابعاد مي باشد .
شكل (6) :


اولين بعد را زمان انتخاب مي كنيم ، براي اين كار پس از اجراي Wizard نوع بعد را در صفحه Select The Dimension Type ، برابر با Time Dimension انتخاب كرده و Date
Column را نيز به The_Date تغيير مي دهيم .
شكل (7) :

در صفحه Choose How You Want To Create Dimension ، گزينه اول كه با عنوان
A Single Dimension Table است را انتخاب مي كنيم و دكمه Next را كليك مي كنيم و در صفحه Select The Dimension Table بر روي Time_By_Day كليك كرده و سپس Next را كليك مي كنيم .
در اين قسمت مي توان اطلاعات جدول Time_By_Day را مشاهده كرد براي اين منظور با كليك كردن بر روي دكمه Browse Data مي توان داده ها را مشاهده كرد و در صورت پايان مشاهده اطلاعات مي توان بر روي دكمهNext كليك كرد تا به صفحه بعد برسيم ..


سپس در صفحه Create The Time Dimension Levelبر روي Select Time Levels كليك كرده و Next را كليك ميكنيم . در قسمت Select Advance Option نيز Next را كليك مي كنيم و آنگاه در آخرين مرحله از اين قسمت نام اين بعد را Time قرار مي دهيم و Finish را كليك مي كنيم .
اكنون در صفحه Cube Wizard بايد نام Time در قسمت Cube Dimension نمايش داده شود . اين نام در قاب سمت چپ نمايش داده مي شود .
براي ايجاد بعد ديگري با عنوان Product مراحل زير دنبال مي شود :
پس از انتخاب New Dimension در قسمت Choose How You Want To Create The Dimension گزينه دوم يا Multiple Related Dimension Table را انتخاب و Next را كليك ميكنيم و در صفحه بعد Product Class, Product را انتخاب مي كنيم
پس از زدن دكمه Next وارد صفحه Create And Edit Joins مي شويم .
دراين صفحه بين دو جدول انتخاب شده يك Join ايجاد شده و مشاهده مي شود .
شكل زير اين اتصال را نمايش مي دهد .
شكل (8) :


با فشار دكمه Next در صفحه Available Columns بر روي گزينه هاي :
Product Category , Product Sub Category , Brand name
كليك ميكنيم و پس از انتخاب هر سه مورد دكمه Next را مي زنيم و سپس در صفحات بعد نيز دكمه Next را زده تا به صفحه آخر برسيم و در اين صفحه نام بعد را Product گذاشته و Finish را كليك مي كنيم .


براي ايجاد بعد مشتري (Customer) مراحل زير دنبال مي شود.
1- Choose How You Want To Create Dimension : A Single Dimension Table
2- Select The Dimension Table : Customer
3- Available Column : Country ,State_Province , City ,Lname
4- Name : Customer


و براي ايجاد بعد فروشگاه (Store) :
1- Choose How You Want To Create Dimension : A Single Dimension Table
2- Select The Dimension Table : Store
3- Available Column : Store_Country , Store_State , Store_City , Store_Name
4- Name : Store
پس از ايجاد مراحل بالا مكعب ساخته ميشود با كليك بر روي گزينه Next و سپس در هنگام پرسش دكمه Yes و سپس Finish كار ساخت مكعب را پايان ميدهيم.

نحوه اصافه كردن بعد به مكعب :
فرص كنيم كه يك مكعب ايجاد نموده ايم و پس از ايجاد ان نياز داريم بعد يا ابعادي به آن اصافه كنيم براي اين كار بايد مراحل زير را دنبال كنيم .


از قسمت Manager Analysis بر روي نام بانك اطلاعاتي كليك مي كنيم ، سپس بر پوشه Cubs كليك كرده و مكعب مربوطه را انتخاب مي كنيم . سپس بر روي نام مكعب كليك راست كرده و گزينه Edit را انتخاب مي كنيم . پس از وارد شدن به قسمت Cube Editor ، از منوي Insert گزينه Tables را انتخاب مي نماييم . در جعبه ديالوگ Select Table گزينه Promotion Table را انتخاب و سپس Add را كليك مي كنيم و نهايتا Close را كليك مي كنيم .


براي تعيين بعد جديد بر روي ستون Promotion_Name از جدول Promotion دو بار كليك
مي كنيم . و در جعبه ديالوگ Map The Column ، گزينه Dimension را انتخاب كرده و Ok را كليك مي كنيم .
شكل (9) :


سپس از درخت سمت چپ بر روي بعد Promotion Name كليك كرده و از منوي Edit گزينه Rename را انتخاب مي كنيم . سپس نام قبلي را حذف و نام جديد را Promotion قرار مي دهيم و تغييرات را ذخيره كرده و خارج مي شويم .

شكل (10) :


طراحي منبع و پردازش مكعب :
براي ساخت يك منبع از منوي Analysis Manager بر روي Cube Folder كليك راست كرده و گزينه Design Storage را انتخاب مي كنيم .
حال به انتخاب نوع عمل Olap ميپردازيم . اما قبل از آن بهتر است تعريفي از Olap ارائه شود .
Olap چيست ؟
Olap مخفف Online Analytical Processing ميباشد و به معني توانايي ياد گيري چيزي با مفهوم از داده ها بدون نياز به يك سيستم دسته اي برون خطي (Offline_Bach) است .
با استفاده از اين ويژگي ميتوان داده ها را فرا تر از جداول رابطه اي مشاهده كرد .
كلا 3 نوع Olap وجود دارد :


 Molap : Multidimensional Olap
 Rolap : Relation Olap
 Holap : Hybrid Olap
Molap : در اين مدل ، هم داده و هم سر جمع آن (Aggregation) در ساختار آن ذخيره ميشود .
Rolap : در اين مدل ساختار روابط داده ها حفظ ميشوند و جداول و سر جمع در روابط بانك اطلاعاتي ذخيره ميشود .
Holap : در اين مدل ساختار روابط داده ها حفظ ميشود و سر جمع در ساختار ابعاد ذخيره ميگردد .
سرويسهاي olap زبان پرس و جوي خاص خودMdx (Multi Dimensional Express) را دارند . در صورت استفاده از Holap يا Molap بجاي T-Sql زبان Mdx بكار مي آيد . Mdx بطور كامل از طرف Ado پشتيباني ميشود.
پس از آشنايي با انواع Olap حال به ادامه طراحي منبع مي پردازيم .
در قسمت انتخاب Olap ، Molap را انتخاب ميكنيم سپس در Set Aggregation Option بر روي Performance Gain Reachكليك كرده و عدد 40 را در قسمت مربوطه مي نويسيم.
شكل (11) :

سپس Next را زده و در قسمت What Do You Want To Do ? ، عبارت Process Now را انتخاب مي كنيم و سپس Finish را كليك ميكنيم .

ايجاد مكعب پدر و فرزند : (Parent-Child)
اين نوع مكعب معمولا براي شرح روابط بين مناطق جغرافيايي استفاده ميشود و همچنين ميتواند نمودار حسابها را نمايش دهد .

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید