هذه مقارنة بين الاكسس و SQL وسوف احاول في الوقت القريب ان اضيف الفرق بين SQL و Oracl
بسم الله ،
في حياة كل مبرمج "حقيقي" لابد ان ياتي اليوم الذي سيحتاج فيه الى نظام قاعدة بيانات قوي ومتمكن. اكثرنا ان لم يكن كلنا استخدمنا نظم قواعد بيانات للاستخدام الصغير او المتوسط كنظام Microsoft Access. واهم مميزات النوع السابق هو رخص الثمن وسهولة الاستخدام وتوفر الدعم الفني، وذلك بسبب كثرة الكتب التي تختص فيه، كما ان انتشار المنتديات التي تتحدث عن Microsoft Access زادت من شعبية هذا النظام لتغطي على شعبية المطربين.
تلك كانت المميزات، واما العيوب فحدث ولا حرج! حيث ان مشاكل هذا النوع من قواعد البيانات كثيرة منها عدم توفر الامان، اذ ان عملية اختراق قواعد البيانات المصممة بهذا النظام سهلة جدا حتى لو كانت محمية بعشرات كلمات المرور. كما ان استخدام قاعدة البيانات من قبل اكثر من مستخدم يؤدي الى ضغط كبير على محركات النظام (والمعروفة بـ Microsoft Jet) مما تسبب تلف للبيانات او عدم تمكن المحرك من الاستجابة الى كافة طلبات العملاء على الشبكة.
اما Microsoft SQL Server فقد غطى على هذه العيوب، بل اضاف مميزات اخرى ماكان لاي مبرمج ان يحلم بها. كنظام الامان العالي جدا، الوظائف المعرفة مسبقاStored Procedures، الترجرز Triggers، القواعد المحددة Rules، انواع البيانات المعرفة User Defined Types، والعمليات Transactions وغيرها الكثير من الاضافات التي زادت من قوة واستقرارية هذا النظام. وقد قامت شركات كبيرة ومؤسسات حكومية ضخمة باستخدام نظام MS SQL Server او التحويل اليه -كما فعلت شركة NASA لعلوم الفضاء.
كما ان نظام SQL Server لديه القدرة على تخزين كم هائل من المعلومات يصل الى الاف الميجابايتات. وهو احد اكثر الانظمة كفاءة ليكون منافس حقيقي لنظام قواعد البيانات الشهير Oracle، حيث ان Oracle إحتكر سوق قواعد البيانات بدون منافس لفترة طويلة بالرغم من العيوب التي به -واهمها هو الصعوبة الشديدة في استخدامه.
على كل حال، سنقوم بشرح كل ميزة من مميزات SQL Server على حدة، ولكن قبل ذلك ساشرح بعض اساسيات قواعد البيانات واساسيات نظام Microsoft SQL Server.
الفرق بين 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-اذا اردت الاحتراف!
بسم الله ،
في حياة كل مبرمج "حقيقي" لابد ان ياتي اليوم الذي سيحتاج فيه الى نظام قاعدة بيانات قوي ومتمكن. اكثرنا ان لم يكن كلنا استخدمنا نظم قواعد بيانات للاستخدام الصغير او المتوسط كنظام Microsoft Access. واهم مميزات النوع السابق هو رخص الثمن وسهولة الاستخدام وتوفر الدعم الفني، وذلك بسبب كثرة الكتب التي تختص فيه، كما ان انتشار المنتديات التي تتحدث عن Microsoft Access زادت من شعبية هذا النظام لتغطي على شعبية المطربين.
تلك كانت المميزات، واما العيوب فحدث ولا حرج! حيث ان مشاكل هذا النوع من قواعد البيانات كثيرة منها عدم توفر الامان، اذ ان عملية اختراق قواعد البيانات المصممة بهذا النظام سهلة جدا حتى لو كانت محمية بعشرات كلمات المرور. كما ان استخدام قاعدة البيانات من قبل اكثر من مستخدم يؤدي الى ضغط كبير على محركات النظام (والمعروفة بـ Microsoft Jet) مما تسبب تلف للبيانات او عدم تمكن المحرك من الاستجابة الى كافة طلبات العملاء على الشبكة.
اما Microsoft SQL Server فقد غطى على هذه العيوب، بل اضاف مميزات اخرى ماكان لاي مبرمج ان يحلم بها. كنظام الامان العالي جدا، الوظائف المعرفة مسبقاStored Procedures، الترجرز Triggers، القواعد المحددة Rules، انواع البيانات المعرفة User Defined Types، والعمليات Transactions وغيرها الكثير من الاضافات التي زادت من قوة واستقرارية هذا النظام. وقد قامت شركات كبيرة ومؤسسات حكومية ضخمة باستخدام نظام MS SQL Server او التحويل اليه -كما فعلت شركة NASA لعلوم الفضاء.
كما ان نظام SQL Server لديه القدرة على تخزين كم هائل من المعلومات يصل الى الاف الميجابايتات. وهو احد اكثر الانظمة كفاءة ليكون منافس حقيقي لنظام قواعد البيانات الشهير Oracle، حيث ان Oracle إحتكر سوق قواعد البيانات بدون منافس لفترة طويلة بالرغم من العيوب التي به -واهمها هو الصعوبة الشديدة في استخدامه.
على كل حال، سنقوم بشرح كل ميزة من مميزات SQL Server على حدة، ولكن قبل ذلك ساشرح بعض اساسيات قواعد البيانات واساسيات نظام Microsoft SQL Server.
الفرق بين 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-اذا اردت الاحتراف!