چکیده
MS SQL Server یکی از سیستم های مدیریت بانک های اطلاعاتی رابطه ای (Relational) است که توسط شرکت مایکروسافت ارائه شده است . SQL Server از مدل سرویس دهنده - سرویس گیرنده (Client/Server) تبعیت می نماید . در این مدل ، درخواست های (InQuery) سرویس گیرندگان برای سرویس دهنده ارسال و در سمت سرویس دهنده بررسی و آنالیز می گردند . در ادامه ، پردازش های مورد نیاز بر روی اطلاعات ذخیره شده در بانک های اطلاعاتی انجام و در نهایت تایج برای سرویس گیرنده ارسال خواهد شد .MS SQL Server با استفاده از مجموعه عناصری ( Components ) که به صورت هدفمند اجراء میگردند ، قادر به تامین نیازها و درخواست ها از مخازن داده (Data Storages) می باشد . مخازن داده در SQL Server به دو روش زیر مدیریت می گردند :
OLTP ( برگرفته از OnLine Transaction Processing System )
OLAP ( برگرفته از OnLine Analytical Processing System )
در مدل OLTP ، مخازن داده به صورت جداول رابطه ای که عموما" به جهت جلوگیری از تکرار و ناهمگونی اطلاعات به صورت هنجار (Normalize) درآمده اند ، سازماندهی می شوند. این نوع از بانک های اطلاعاتی برای درج و تغییر سریع اطلاعات توسط چندین کاربر بطور همزمان مناسب می باشند . در مدل OLAP مخازن داده جهت تجزیه و تحلیل و خلاصه سازی حجم زیادی از اطلاعات سازماندهی می شوند . مخازن داده و ارتباط بین اطلاعات در این مدل توسط SQL Server مدیریت می گردد .
یکی از اهداف مهم سیستم های مدیریت بانک های اطلاعاتی ، قابلیت رشد و توسعه (Scalability) است . MS SQL Server مجموعه ای از پتانسیل ها را به منظور تامین هدف فوق ارائه نموده است که به برخی از مهمترین آنها اشاره می گردد :
قابلیت کار با بانکهای اطلاعاتی حجیم (در حد ترابایت)
قابلیت دسترسی هزاران کاربر بطور همزمان به بانک اطلاعاتی
قابلیت خود سازگاری (Self Compatibility) . با استفاده از ویژگی فوق ، منابع مورد نیاز هر کاربر (نظیر حافظه ، فضای دیسک و ...) به محض اتصال به سرور (Log in) به صورت اتوماتیک به وی تخصیص داده می شود و پس از Log off ، منابع اختصاص یافته به منظور استفاده سایر کاربران آزاد می شوند .
قابلیت اعتماد و در دسترس بودن (Reliability) . با استفاده از ویژگی فوق می توان بسیاری از فعالیت های مدیریتی را بدون توقف سرور انجام داد (نظیر BackUp) .
برخورداری از سطوح امنیتی بالا . بدین منظور اعتبار سنجی کاربران توسط SQL با اعتبار سنجی ویندوز تجمیع می گردد . در چنین مواردی ، ضرورتی به تعریف کاربر در MS SQL نخواهد بود و اعتبار سنجی وی توسط ویندوز انجام خواهد شد .
پشتیبانی از حجم بالائی از حافظه در سرور (در نسخه 2000 تا 64 گیگابایت و در نسخه 2005 متناسب با حافظه ای که سیستم عامل از آن حمایت می نماید ) .
استفاده از چندین پردازنده به صورت موازی (در نسخه 2000 تا 32 پردازنده همزمان و در نسخه 2005 محدودیتی وجود ندارد )
پشتیبانی از لایه ها و سوکت های امنیتی نظیر SSL ، خصوصا" جهت استفاده در وب .
یکی دیگر از ویژگی های مهم سیستم های مدیریت بانک های اطلاعاتی ، ایجاد تسهیلات لازم به منظور مدیریت بانک های اطلاعاتی است . SQL Server با ارائه برنامه های جانبی نظیر Enterprise Manager استفاده و مدیریت بانک های اطلاعاتی را آسان نموده است . MS SQL Server بطور اتوماتیک در Active Directory ثبت می شود (Register) ، بنابراین کاربران شبکه به راحتی می توانند آن را در Active Directory جستجو و در صورت نیاز به آن متصل شوند . همچنین ، MS SQL Server توسط IIS پشتیبانی می گردد و مرورگرها با استفاده از پروتکل HTTP قابلیت استفاده از آن را خواهند داشت .
از جمله نکات مهم در خصوص MS SQL Server ، اجرای آن به صورت یک سرویس است . بنابراین ، در صورتی که کاربری به ماشینی که MS SQL Server بر روی آن اجراء شده است ، Log on نکرده باشد ، همچنان سیستم در دسترس کاربران خواهد بود . علاوه بر این ، می توان از سیستم مانیتورینگ ویندوز به منظور مانیتورینگ SQL Server استفاده نمود . یکی از مهمترین و شاخص ترین ویژگی های MS SQL Server که از نسخه 2000 در آن ایجاد شده است ، امکان نصب چندین نسخه SQL بر روی یک ماشین می باشد (Multi Instance) ، بطوریکه هر یک از نسخه ها فایل های باینری مخصوص به خود را داشته و بطور جداگانه مدیریت و راهبری می گردند ، ولی تمام نسخه ها بطور همزمان اجرا می شوند (دقیقا" مشابه این است که چندین نسخه بر روی چندین کامپیوتر نصب شده باشد ) .
با توجه به این که نسخه (Instance) قراردادی فاقد نام است و سایر نسخه ها می بایست دارای نام باشند به آنها نسخه های دارای نام (Named Instance) می گویند . نسخه های دارای نام را می توان هر زمان نصب نمود (قبل و یا بعد از نسخه قراردادی) . ابزارهای همراه SQL نظیر SQL Enterprise Manager یک مرتبه نصب خواهند شد و در تمامی نسخه های SQL به صورت مشترک استفاده خواهند شد .
تاکنون نسخه های متعددی از MS SQL Server ارائه شده است . استفاده از نسخه های 2000 و 2005 بیش از سایر نسخه ها ، متداول است . هر یک از نسخه های MS SQL Server ، در مدل های مختلف ( با توجه به نوع استفاده و اندازه سازمان متقاضی ) ، ارائه شده اند که در یک مقاله جداگانه به بررسی ویژگی هر یک از آنها خواهیم پرداخت .
مقدمه :
امروزه پس از جمع آوری و بدست اوردن اطلاعات ، تجزیه و تحلیل داده ها ، یکی از مهمترین کارهای بانک های اطلاعاتی می باشد . بر همین اساس اکنون یکی از مهمترین معیار تشخیص بانک اطلاعاتی برتر ، امکانات تجزیه و تحلیل داده ها در آن بانک می باشد .
از جمله فناوری های جدید در جهت تحلیل داده ، سیستم 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 ارتقا یافت .
پس از جدا شدن مایکروسافت و SYBASE ، شرکت اخیر موتور پایگاه داده خود را برای اجرا بر روی ویندوز NT توسعه داد . این محصول (SYBASE ADAPTIVE SERVER ENTERPRISE ) نامیده میشود .و مایکروسافت ویرایش ٦ وسپس ٥/٦ را عرضه کرد . ویرایش ٧ این محصول با قابلیت اجرا در محیط های NT و ویندوز های 95 و 98 معرفی شد . در این ویرایش تفکیک عمده ای نسبت به کد 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)
که وظایف هر کدام بصورت زیر است :
در پایگاه داده 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 میباشد .