خطوة خطوة نحو SQL Server 2008



في ما يزيد عن 400 صفحة 
دروس مفصلة وأمثلة تطبيقة مصورة
أول مرجع عربي متكامل لتعلم SQL Server بمنهج أكاديمي.


سوف نتعرف على SQL Server 2008 وهو عبارة عن نظام قوي يستخدم لإنشاء وإدارة قواعد البيانات العلائقية Relational Database Management System أو RDBMS ، ويحتوي هذا النظام على مجموعة كبيرة من المميزات والتي تجعله من أقوى الأنظمة المستخدمة لإنشاء وإدارة قواعد البيانات . وفي معظم قواعد البيانات العلائقية مثل SQL Server يتم الوصول إلى البيانات باستخدام لغة الاستعلام SQL أو Structured Query Language ، وتسمح هذه اللغة للمستخدمين بالاستعلام عن البيانات بالإضافة إلى إمكانية إضافة وتعديل وحذف سجلات قواعد البيانات . وسوف نتعرف بالتفصيل على هذه اللغة ، بالإضافة إلى التعامل مع قاعدة البيانات باستخدام C# ، خدمات التقارير Microsoft Reporting Services.


SQL Server

هو عبارة عن قاعدة بيانات مركزية تقوم بإدارة قواعد البيانات وتوزيعها عبر شبكة الكومبيوتر

لقد بدء ظهور قواعد البيانات المركزية بشكل مكثف في نهاية الثمانينات ، طبعا هي موجودة بطريقة أو بأخرى منذ فترة أطول ولكن استخدامها اقتصر إلى بعض المؤسسات الضخمة فقط

لقد كان الجميع قبل ذلك يستخدم البرامج التي صنعت بلغات البرمجة العادية والتي كانت تخزن بياناتها في ملفات خاصة بها ، والمشكلة الأساسية في تلك البرامج كانت محدودية استخدام البيانات ، اعني انك لا تستطيع الاستعلام عن البيانات بطريقة أخرى غير الطريقة التي صمم بها البرنامج

كمثال : لنفترض بأنك تستخدم برنامج صمم بواسطة لغة برمجة ما ليخزن بياناته في ملفات خاصة به وليس في قواعد البيانات ، وكان احد فروع برنامجك هو الاستعلام عن البضائع ، مهما تتعب في تصميم هذا الاستعلام ، فقد تجد دوما من يأتي لك بفكرة جديدة لاستعلام ما

فقد يطلب الشخص كل البضائع التي تم استلامها في تاريخ معين ، من مورد معين وتم بيعها في تاريخ معين إلى زبون معين ، قد يكون برنامج قادر على القيام بذلك ، ولكنه قد يعقد الاستعلام ويضاف إلى الاستعلام السابق ترتيب البضائع حسب تاريخ الاستلام مثلا فقد لا تكون وضعت تلك المميزة في برنامجك عند تصميمه ، ولذلك فلن يتمكن المستخدم النهائي الحصول على طلبه بالضبط

ومن هنا بدئت فكرة قواعد البيانات عامةً ، وكانت الفكرة إيجاد طريقة موحدة لحفظ البيانات ، وإيجاد برنامج قادر على جميع أنواع الاستعلامات من قاعدة البيانات ، فلو فشل برنامج السابق ، فبإمكان المستخدم فتح ملف البيانات عن طريق برنامج الاستعلام الرئيسي الذي يأتي مع قاعدة البيانات وإجراء كل الاستعلامات التي يحلم بها

ومن هنا ظهرت قواعد البيانات وظهرت أيضا لغة

SQL

المخصصة للاستعلام في قواعد البيانات ، وبدئت تتطور وانتقلت العديد من الشركات لاستخدامها ، نظرا لسهولة التعامل معها وسرعة برمجتها

ولكن مع زيادة حجم المؤسسات وبداية ظهور شبكات الكومبيوتر ، أصبحت قواعد البيانات بحاجة إلى أن تعمل على أكثر من جهاز في نفس الوقت ، فتطورت برامج إدارة قواعد البيانات وأصبحت قادرة على فتح نفس الملفات المخزنة في الجهاز المركزي من عدة أجهزة كومبيوتر في نفس الوقت ومن أمثلتها

DBase

Paradox

وغيرهما ولقد حل السابق بعض المشاكل ولكن ليس كلها ، لان مع زيادة حجم البيانات وزيادة عدد الأجهزة المتصلين بالشبكة أصبح صعب إدارة ملفات قاعدة البيانات المخزنة على الجهاز المركزي ، كما أن أمنها كان معرض للخطر دائما ، فبامكان الجميع الوصول إلى الملف المركزي الذي يحتوي على البيانات ويعبث به ، أو حتى أن يصل إلى بيانات لا صلاحية له باستخدامها

كما أن الاستعلامات المتزايدة على قواعد البيانات زادت من الضغط على الشبكة فكما تعلم يتطلب الاستعلام عن شخص ما ، يتطلب البحث في كل قاعدة البيانات حتى إيجاده بها

فعلى سبيل المثال : لو كان لديك جدول في قاعدة البيانات وبه معلومات عن عشرة ألاف نوع من البضائع وطلبت أن من جهازك كل البضائع التي استلمت في تاريخ معين ، فعليا سيقوم جهازك بإحضار العشرة ألاف سجل في قاعدة البيانات إلى جهاز وذلك عبر الشبكة وسيفلترهم ويفرز البيانات المطلوبة

ولكنه ضغط على الشبكة بالحصول على كل تلك المعلومات معا ، طبعا الشبكة قد تتحمل طلب أو طلبين معا ، ولكن ماذا بالنسبة للبنوك مثلا ، هناك ألاف السجلات وعشرات العمليات في نفس الوقت

ولذلك بدئت الحاجة إلى تطوير قواعد البيانات العادية ، ومن هنا ظهرت قواعد البيانات المركزية ، فهي عبارة عن برنامج يعمل بداخل الجهاز المركزي ويخز البيانات فيه أيضا ولكن الاختلاف بينها وبين السابق ذكره أن طلب البيانات لا يتم إلا من خلال البرنامج الذي يعمل في الجهاز المركزي والذي يسمى محرك قواعد البيانات المركزية ، وبذلك يكون قد تم فصل المستخدم النهائي عن الملف الرئيسي لقواعد البيانات

فلو كنت بحاجة إلى استعلام معين ، فسيقوم برنامجك بطبل ذلك الاستعلام من محرك قواعد البيانات المركزية الموجود في الجهاز المركزي ، حيث بدوره سيقوم هو بالاستعلام ومن ثم يعطي النتيجة فقط للجهاز العادي الذي طلب الاستعلام وبذلك يكون قد أنهى كابوس إغراق الشبكة بالبيانات

كما أن محرك قواعد البيانات الرئيسية مسئول عن حماية البيانات ، قبل كان الجميع يستطيع الوصول إلى كل البيانات المخزنة ، ولكن باستخدام النظام الجديد ، أصبح فقط من لديهم صلاحية الوصول قادرين على ذلك ، كما أصبح بإمكان مدير الشبكة إعطاء صلاحيات مختلفة للمستخدمين ، فقد يمنع مستخدم من إضافة بضاعة جديدة على جدول البضاعة ويسمح له بالنظر عليها فقط ، وقد يمنعه نهائيا من الوصول إلى جدول الموردين مثلا ، أو فقط على جزء من جدول الموردين مثل عناوينهم أو أرقام هواتفهم مثلا


كما أن محرك قواعد البيانات المركزية أصبح يقوم بعمليات النسخ الاحتياطي والحفاظ على البيانات من التلف اتوماتيكيا ، وذلك بفحصها باستمرار ونسخها على أشرطة النسخ الاحتياطي وإعلام مدير النظام بأية مشاكل صغيرة بداخلها