در این مقاله بر کاربرد SQL Server 2000 و VB.NET به طور مختصر توضیحاتی خواهیم داد و هم چنین عملکرد نرم افزار کتابخانه را بررسی خواهیم نمود .
SQL Server MS مرتباً سهم بیشتری از بازار را به خود اختصاص می دهد و یک سیستم مدیریت پایگاه داده رابطه ای سرویس گیرنده / سرویس دهنده است و یرایش Transact_SQL 2000 را به عنوان زبان SQL بکار می برد.
یک پایگاه داده رابطه ای از چندین جدول حاوی ستونها و سطرهای داده تشکیل شده است . فرآیند شکستن پایگاه داده در قالب جداول مرتبط نرمال سازی نامیده می شود.
طراحی یک پایگاه داده خوب با درک صحیح از شرایط کاری مشتری و نیازهای وی آغاز می شود و با گروه بندی داده های آنالیز شده در یافتی در جداول ادامه می یابد.
Microsoft SQL Server شاید در دسترس ترین و عمومی ترین پایگاه داده در میان پایگاه های داده در جهان باشد . همچنین مستندات ( Documentds ) بسیاری برای MS SQL Server در دسترس است .
شرکت مایکروسافت ویژوال بیسیک را بر اساس یک زبان برنامه نویسی به نام بیسیک که برای مبتدیان نوشته شده است ساخت . زبان ویژوال بیسیک بیشتر از 35 سال به اشکال مختلف رایج بوده است .
در واقع طراحان این زبان می خواستند یک زبان برنامه نویسی برای استفاده مبتدیان طراحی کنند . با گذشت زمان و پیشرفتهای چشمگیری که در امر ارتقای این زبان برنامه نویسی ایجاد شده است ، امروزه اغلب برنامه نویسان حرفه ای می توانند با استفاده از ویژوال بیسیک با صرف زمانی اندک اقدام به ساخت برنامه های بسیار کارا و قدرتمندی نماید.
ما در اینجا با بهره گیری از دو زبان فوق نرم افزاری برای سهولت کار در کتابخانه ها تولید نموده ایم . و شرح کار آن را در این مقاله بررسی می کنیم .
مقدمه
MS SQL Server یکی از سیستم های مدیریت بانک های اطلاعاتی رابطه ای(Relational) است که توسط شرکت مایکروسافت ارائه شده است .
SQL Server از مدل سرویس دهنده – سرویس گیرنده (client server ) تبعیت می نماید . در این مدل ، درخواست های ( InQuery ) سرویس گیرندگان برای سرویس دهنده ارسال و در سمت سرویس دهنده بررسی و آنالیز می گردند . در ادامه ، پردازش های مورد نیاز بر روی اطلاعات ذخیره شده در بنک های اطلاعاتی انجام و در نهایت نتایج برای سرویس گیرنده ارسال خواهد شد .
MS SQL Server با استفاده از مجموعه عناصری ( Components ) که به صورت هدفمند اجرا می گردند ، قادر به تامین نیازها و درخواست ها از مخازن ( Data Storages ) می باشد.
مخازن داده در SQL Server به دو روش زیر مدیریت می گردد:
OLTP ( بر گرفته از System Online Transaction Processing )
OLAP ( بر گرفته از System Online Analytical Processing )
در مدل OLTP ، مخازن داده به صورت جداول رابطه ای که عموماً به جهت جلوگیری از تکراری و ناهمگونی اطلاعات به صورت هنجار ( Normalize ) درآمده اند ، سازماندهی می شوند .
این نوع از بانک های اطلاعاتی برای درج و تغییر سریع اطلاعات توسط چندین کاربر به طور همزمان متناسب می باشند . در مدل OLAP مخازن داده و ارتباط بین اطلاعات در این مدل توسط SQL Server مدیریت می گردد .
یکی از اهداف مهم سیستم های مدیریت بانک های اطلاعاتی ، قابلیت رشد و توسعه (Scalability) است . MS SQL Server مجموعه ای از پتانسیل ها را به منظور تامین هدف فوق ارائه نموده است که به برخی از مهمترین آنها اشاره می گردد :
• قابلیت کار با بانکهای اطلاعاتی حجیم
• قابلیت دسترسی هزاران کاربر بطور همزمان به بانک اطلاعاتی
• قابلیت خودسازگاری ( Compatibility Self ) با استفاده از ویژگی فوق منابغ مورد نیاز
• در کاربر ( نظیر حافظه ، فضای دیسک و ... ) به محض اتصال به سرور ( login ) به صورت اتوماتیک به وی تخصیص داده می شود و پس از Log off ، منابع اختصاص یافته به منظور استفاده سایر کاربران آزاد می شوند .
• قابلیت اعتماد و در دسترس بودن ( Relibility ) . با استفاده از ویژگی فوق می توان بسیاری از فعالیت های مدیریتی را بدون توقف سرور انجام داد . ( نظیر Back up )
• برخورداری از سطوح امنیتی بالا . بدین منظور اعتبار سنجی کاربران توسط SQL با اعتبار سنجی ویندوز تجمیع می گردد . در چنین مواردی ، ضرورتی به تعریف کاربر در MS SQL Server نخواهد بود و اعتبار سنجی وی توسط ویندوز انجام خواهد شد .
• پشتیبانی از حجم بالایی از حافظه در سرور ( در نسخه 2000 تا 64 گیگا بایت و در نسخه 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 نظیر Manager SQL Enterprise یک مرتبه نصب خواهند شد و در تمامی نسخه های SQL به صورت مشترک استفاده خواهند شد .
تا کنون نسخه های متعددی از MS SQL Server ارائه شده است . استفاده از نسخه های 2000 و 2005 بیش از سایر نسخه ها ، متداول است . هر یک از نسخه های MS SQL Server در مدل های مختلف ( با توجه به نوع استفاده و اندازه سازمان و متقاضی ) ارائه شده اند
1- آشنایی با SQL Server
طراحان و توسعه دهندگان SQL Server مسئول طراحی و پیاده سازی پایگاه داده هستند در حالیکه راهبران مسئول عملیات مدیریتی روزانه آن می باشند . با گسترش بکارگیری SQL server تفکیک این اعمال بتدریج کاهش می یابد. درس امروز با مطالب آموزشی پایه SQL Server و ویندوز (NT/2000 , 9X) شروع می شود . سپس پایگاه های داده و محیط های سرویس گیرنده / سرویس دهنده بررسی می شوند . محتویات پایگاه ههای داده موضوع بعدی درس است و در خاتمه نیز با طراحی پایگاه داده اشنا می شوید و تمرین این درس شامل مصاحبه با یک مشتری فرضی و طراحی یک پایگاه داده ساده خواهدبود.
1-1- SQL Server بحث داغ روز
SQL Server 2000 موتور پایگاه داده ارائه شده توسط مایکروسافت است و ادامه ویرایش 7.0 این محصول می باشد . مایکروسافت سرمایه گذاری عظیمی را صرف پشتیبانی و بازاریابی SQL Server 7.0 نمود و نتیجه آن ارائه SQL Server 2000 است . این محصول پرکاربردترین موتور پایگاه داده در صنعت کامپیوتر برای محیط های ویندوز NT/2000 است . 68 درصد از بازار پایگاه داده را بنا به اطلاعات وب سایت مایکروسافت به خود تخصیص داده است . البته انتظار می رود این روند ادامه یابد و سهم بیشتری از این بازار در اختیار مایکرو سافت قرار گیرد . SQL Server 2000 توانایی های قابل توجه بسیاری نسبت به ویرایش 7.0 دارد.
این محصول می تواند با ویندوز NT ویرایش 4.0 ( سرویس پک 5 یا بالاتر )، ویندوز 2000 و یندوز 98 یا ME کارکند . ویرایشی از SQL Server نیز برای محیط ویندوز CE در دسترس است . نسبت قیمت / کارایی این محصول باعث شده تا بسیاری از شرکتها بتوانند با هزینه بسیار کم نسبت به سالهای گذشته از توانایی و قدرت پایگاه داده رابطه ای برخوردار شوند . این محصول بنابه ارزیابی های TCP-C در زمان نوشتن این کتا بدارای بالاترین و بهترین عملکرد بوده است و بهترین رکوردهای قیمت و کارایی را به خود اختصاص داده است . این محصول برای سالهای آتی نیز گسترش خواهد یافت و همراه مطمئن شما در این سالها خواهد بود .
برای آخرین و جدید ترین اخبار و پشتیبانی مایکروسافت SQL Server از سایت http://www.microsoft.com/sql/ بازدید کنید.
1-2- تاریخچه SQL Server
IBM در دهه 70 زبانی به نام SEQUEL را خاص پرس و جو (query) از پایگاه های داده ابداع کرد . این واژه معادل زبان پرس و جوی ساختیافته می باشد . به مرور بخشهای جدیدی به این زبان اضافه شد تا جاییکه دیگر نه تنها برای پرس و جو بلکه برای ساخت و مدیریت پایگاه داده و نکات ایمنی موتور پایگاه داده نیز بکار می رفت . IBM این زبان را به عموم عرضه کرد و پس از آن SQL نامیده شد .
موتورهای پایگاه داده امروزی ویرایش های متعددی از SQL را بکار می برند . ویرایش مورد استفاده SQL Server نیز(Transact-SQL ( T_SQL ) ) نام دارد . اگر چه در طول این کتاب با این زبان آشنا می شوید و آن را بکار می برید اما تأکید کتاب بر نصب ، نگهداشت و اتصال به SQL Server است . انتشارات SAMS کتاب خود آموز دیگری برای آموزش این زبان تحت عنوان Transact-SQL in 21 Days معرفی کرده است که آن رابا جزئیات بیشتری شرح می دهد .