الشبكة العربية لمطوري الألعاب

مبتدئ  kenan aboud مشاركة 1

الدرس الاول :
موضوع الدرس : نبذة مختصره عن MS SQL

الفرق بين MS Access و MS SQL Server




هذا السؤال قد يطرحه كل شخص يفكر الانتقال الى MS SQL Server، وايضا في رأيي المقارنة تعتبر من اسهل الطرق لايصال المعلومة. الفروق بين SQL Server و Access كثيرة جدا. ومن اهمها، قاعدة بيانات MS Access مبنية على ملف File Based DataBase، اي تحفظ جميع بيانات القاعدة في ملفات مستقلة لها. اما SQL Server فهو نظام مبني على خادم Server Based DataBase، اي نظام متكامل لادارة قواعد البيانات يعمل في الخلفية ويعتمد على خادم وعميل Client/Server، ولا يعتمد على ملفات مستقلة لحفظ البيانات، فهو يحتوي على تركيبة خاصة به. وبعضا من الفروق الاخرى موضحة في هذا الجدول:

الصورة في الأسفل


ومن الفروق الاخرى. MS Access يدعم النماذج Forms بينماSQL Server لايدعمها لكنه بامكانك استخدام MS Access كواجهه للـ SQL Server بحيث تكون قاعدة البيانات هي SQL Server وفي نفس الوقت تستفيد من امكانيات Access الاخرى كالنماذج Forms والتقارير Reports. على فكرة الواجهه الرئيسية للتعامل مع SQL Server هي MS Access على حسب كلام شركة Microsoft.
المزيد ايضا، SQL Server يدعم الاجراءات المعرفة مسبقا Stored Procedures -سيتم شرحها بشكل مبسط لاحقا في هذا الدرس كما انه سيتم التحدث عنها بشكل موسع ودقيق في درس منفصل. كما ان SQL Server يدعم النسخ الاحتياطي، حيث يمكنك برمجة SQL Server ليقوم بعمل نسخ احتياطية كل فترة معينة. .ميزة اخرى في MS SQL Server وهو دعمه لتقنية XML حيث انه يمكنك تصدير البيانات الى XML ولكن الى الان لم يتم دعم XML بشكل كامل وهذا ماسيتم عمله في النسخ القادمة من SQL Server.

ولكن بعد ذكر كل هذه المزايا، لايعني ان تحول قاعدة بياناتك الى SQL Server فورا، حيث ان MS Access مازال الافضل والاسهل للتطبيقات الصغيرة سواءا تجارية او حكومية طالما ان حجم البيانات لايتعدى 2 جيجابايت. على كل حال سأذكر لك متى يجدر بك ان تستخدم Access . وتى يجدر بك ان تستخدم SQL Server:

متى تستخدم MS Access ؟
1- لديك عدد قليل من المستخدمين.
2- حجم البيانات لن يتجاوز 2 جيجا.
3- تريد السهولة الشديدة في التعامل مع قاعدة البيانات.
4- اذا اردت التوافق مع النسخ القديمة من Access . مثل Access 9x او ماقبله.
5- عدد العمليات Transactions قليل.

متى تستخدم SQL Server ؟
1-اذا كان برنامجك يتعامل مع عدد كبير من المستخدمين.
2-اذا اردت نسبة أمان عالية جدا.
3-اذا كان حجم البيانات كبير جدا.
4-عد العمليات كبير جدا.
5-اذا اردت استخدام الاجراءات المعرفة Stored Procedure والتي بدورها توفر الكثير.
6-اذا اردت الاحتراف!

اهم مميزات SQL Server :
لقد مررت قبل قليل مرور الكرام على اهم مميزات SQL Server. والان سأقوم بشرح بعض أهم مميزاته الاخرى والتي تعتبر نقاط قوة:

1- Stored Procedures: الاجراءات المعرفة كما هو واضح من اسمها هي اجراءات تقوم بكتابتها في داخل قاعدة البيانات اي في الخادم . ثم تقوم بطلبها من برنامجك مع تمرير الباراميترات المطلوبة فتحصل على النتيجة. وهذا النوع يزيد من سرعة الحصول على المعلومات. مثلا. تقوم بعمل stored procedure لاضافة صنف في قاعدة بيانات. ثم تطلبه من البرنامج مع تمرير اسم الصنف والسعر والنوع والكمية. فيقوم SQL Server بعمل ذلك نيابة عنك. ومن الفوائد الاخرى ايضا، مثلا اردت بعد فترة ان تغير قليلا في هذه الوظيفة. مثلا اضفت حقل جديد. كل الذي عليك ان تفعله هو تغيير اسلوب اضافة الصنف في الإجراء المعرف Stores Procedure دون الحاجة الى تعديل شيفرة البرنامج!. والاجراءات المعرفة تعتبر احد اهم مميزات SQL Server.

2- Triggers: الترجر "لم اجد تعريب مناسب" هو شبيه بالاجراءات المعرفة. ولكن الفرق هنا ان الترجر يتم تنفيذه عند حدوث حدث معين داخل قاعدة البيانات. مثلا اضافة او تعديل او حذف. مثلا. يمكنك عمل ترجر يتم تنفيذه عند محاولة المستخدمين حذف احد السجلات. مثلا لنفترض ان لديك قاعدة بيانات لطلبات الشراء. وحاول احد المستخدمين حذف زبون. انت تبرمج الترجر على ان يتأكد اذا كان لهذا الزبون اي طلب في قائمة الطلبات فانك توقف عملية الحذف. اما اذا لم يكن هنالك طلب فانك تكمل عملية الحذف. والترجر يريح المبرمجن كثيرا حيث انك لن تصبح بحاجة الى اضافة الكثير من الاكواد في برنامجك للتأكد من كل عملية. فقط قم بكتابة الترجر المناسب و SQL Server سيقوم بكل ذلك نيابة عنك. وبالمناسبة لايمكنك طلب الترجر من داخل برنامجك. فالترجر فقط يقوم بطلبه SQL Server عند تحقق الحدث تلقائيا.

3- Defaults: القيم الافتراضية وهي من ابسط مفاهيم SQL Server . حيث انه يمكنك ببساطة انشاء عدد من القيم الافتراضية ثم ربطها مع الحقول. فاذا احتجت الى ان تغير هذه القيم مستقبلا فقط قم بتغيير القيمة الافتراضية Default بدون الحاجة الى تغيير عدد كبير من الحقول.

4- Rules: القواعد ببساطة هي قواعد انت تحددها ثم تربطها مع حقل معين. عندها هذا الحقل لن يقبل اي قيمة تخالف هذه القاعدة. مثلا القاعدة التالية " @Name='Mo'" تخبر SQL Server بان قيمة حقل الاسم Name يجب ان تكون Mo . فاذا وضعت اي اسم اخر لن يتم قبول هذا الاسم.
مثال اخر، لنفترض انك تريد حقل "طريقة الدفع" لديك يقبل 3 خيارات. اما نقدي او شيك او حوالة. فقط ضع هذه القاعدة:


@PayMethod IN ('cash', 'cheque', 'money order')


الان اي قيمة تخالف الثلاث قيم المذكورة داخل القاعدة سيتم رفضها. على فكرة القواعد Rules موجودة في Access تحت مسمى Validation Rule لكن في Access انت تقوم بعمل قاعدة لكل حقل. فاذا اردت ان تستخدم نفس القاعدة مع اكثر من حقل يجب عليك كتابتها في كل حقل. اما في SQL Server انت تنشئ القاعدة Rule مرة واحدة ثم تربطها مع العدد الذي تريده من الحقول. فاذا اردت ان تغير القاعدة لكل تلك الحقول كل ماعليك ان تفعله هو تغيير القاعدة لمرة واحدة فقط!.

5- User Defined Data Types: وتختصر (UDT) وهي نفس انواع البيانات المتوفرة في SQL Server مثل Char او BigInt ولكن مع تعديلات ان تعملها. مثلا تستطيع ان تعرف نوع جديد من البيانات يكون عبارة عن نص Char ولكنه لايقبل اكثر من 7 حروف. الى الان الموضوع عادي. لكن الجميل في الموضوع انه يمكنك ربط نوع البيانات المعرف مع قاعدة Rule وايضا مع قيمة افتراضية Default لينتج نوع من البيانات يؤدي الغرض المطلوب كما تريده !

6- Views: هي مشابهه للـ Queries في Access . حيث انك تحدد البيانات التي تريد استخلاصها من قاعدة البيانات. فمثلا تقوم بتعريف View اسمها AllOrders كالتالي:


Select * From Orders Where Order Date > 1-1-2000


الان كل الذي عليك ان تفعله من داخل برنامجك هو طلب هذه الـ View فقط كالتالي مثلا:


MyRes.Open "AllOrders"


بدلا من ان تكتب الاستعلام السابق الطويل كاملا. واذا اردت ان تغير طريقة عرض البيانات . فقط قم بتعديل الـ View مرة واحدة بدلا من ان تعدله في عدة اماكن داخل برنامجك.

النسخ المختلفة من SQL Server
هنالك عدة نسخ من SQL Server في الاسواق، ولكل نسخة امكانيات معينة. فتجد نسخة المشاريع Enterprise وهي اكبر واقوى نسخة . وايضا Standard Edition وهي المستخدمة بكثرة. وهنالك نسخة المطورين Developer وهي نسخة بكامل مواصفات نسخة Enterprise ولكنها فقط مخصصة للمطورين الذي يطوروا برامج تعمل على SQL Server . وهنالك نسخة مصغرة Windows CE Edition وهي تعمل على انظمة Windows CE للاجهزة الكفية. وفي مايلي شرح للنسخ المختلفة:

1- Enterprise Edition: نسخة المشاريع وهي اكبر نسخة من SQL Server وتحتوي على كل مميزات SQL Server المتوفرة. مثل اداوت تحليل البيانات Analysis Tools والتي تتضمن مكعبات البيانات. وايضا XML. ونسخة المشاريع لديها الامكانية للتعامل مع الاجهزة التي تحتوى 32 معالج. وايضا تستطيع التعامل مع 2 جيجابايت من الذاكرة RAM . وبالنسبة لكمية البيانات فهي غير محدودة حيث انها تستوعب اكبر من 1024 جيجابايت (1 تيرابايت). وهذه النسخة لاتعمل الا على انظمه Windows 2000 Server أو Windows N.T. 4.0.

2- Standard Edition: النسخة القياسية وهي الحل الافضل للمشاريع المتوسط والصغيرة. حيث انها تحتوى على اكثر امكانيات النسخة السابقة ماعدا الامكانيات الاحترافية. وتستطيع هذه النسخة التعامل مع 4 معالجات فقط! وايضا 2 جيجابايت من الذاكرة RAM. وهذه النسخة لاتعمل الا على انظمه Windows 2000 Server أو Windows N.T. 4.0

3- Personal Edition: النسخة الشخصية وهي الحل الامثل للاستخدام الشخصي او للتطبيقات التي لاتتطلب من السيرفر ان يكون متصلا طوال الوقت. تحتوى هذه النسخة على اكثر امكانيات النسخة القياسية ولكنها ذات طاقة اقل. ومن مميزات هذه النسخة انها تعمل على كل انظمة Windows المختلفة . سواءا NT او 2000 او ME او XP .

4- Developer Edition: وهي نسخة مخصصة للمطورين او لشركات تطوير البرامج. حيث انها بكامل مواصفات نسخة المشاريع ولكنها لتجربة البرامج التي تتعامل مع SQL Server . وهذه النسخة ارخص من النسخ السابقة بالاضافة الى انها تعمل على اكثر انظمة Windows .

5- Evaluation Edition: نسخة التقييم وهي نسخة بكامل مواصفات نسخة المشاريع بدون اي نقصان لكنها تعمل لمدة 120 يوم فقط. وهي مجانية ولاتكلفك غير قيمة الشحن. وبعض الكتب ترفق هذه النسخة معها. وللمعلومية، هذه النسخ تعمل على اكثر نظم Windows.





مبتدئ  kenan aboud مشاركة 2

الدرس الثاني:
طريقة تثبيت MS SQL

------------------------------------------------------------
سنستخدم الإصدار Microsoft SQLSERVER 2000 Enterprise Edition وطبعا SQL SERVER 2000 للحصول على جميع إمكانياته يجب تثبيته على نظام تشغيل خادم وليكن Windows server 2003 أو 2000 ولكن يمكنك تثبيته على WinXP ولكن ستثبت فقط أدوات العميل فقط ولن يتم تثبيت SQL SERVER 2000 كاملا بجميع إمكانياته
-------------------------------------------------------------------------------------------
1 - الشاشة الأولى وبها خيارات أجزاء البرنامج المراد تثبيتها
نختار منها SQL SERVER 2000Component



مبتدئ  kenan aboud مشاركة 3

2- الشاشة الثانية وهي أدوات SQL SERVER 2000 المطلوب تثبيتها
نختار العنصر المحدد وهو Install Database Server


مبتدئ  kenan aboud مشاركة 4

3-الشاشة الثالثةتظهر رسالة تحذير أن الإصدار الموجود من ويندوز لا يدعم هذا الإصدار من SQL SERVER 2000 اختار Continue




مبتدئ  kenan aboud مشاركة 5

4-– تظهر شاشة الترحيب اختار منها Next



مبتدئ  kenan aboud مشاركة 6

5-الشاشة الخامسة سيتم تحدي التثبيت هل هو على كمبيوتر محلي او كمبيوتر بعيد نختار LOCAL Computer ثم NEXT




مبتدئ  kenan aboud مشاركة 7

- الشاشة السادسة تظهر لنا خيارات التثبيت :
· تثبيت جديد (create anew Instance from Sql server ,or install client tools )
· ترقيه ولن تكون مفعله الا اذا كان Sql server موجود
· تثبيت خيارات إضافية (Advanced Options )
نختار الاختيار الأول



مبتدئ  kenan aboud مشاركة 8

7- شاشة ادخال المعلومات عن اسم الجهاز



مبتدئ  kenan aboud مشاركة 9

8- شاشة خيارت تثبيت ادوات sql server
نختار (Server and client tools)


مبتدئ  kenan aboud مشاركة 10

9- تظهر الشاشة التالية لاختيار الاسم الافتراضي للخادم وهو الإسم الإفتراضي للجهاز الخادم
ويفضل ترك الخيار كما هو