موضوع: sql server الجزء الأول

ردود: 5 | زيارات: 2431
  1. #1

    Talking sql server الجزء الأول

    أردت أن أضع هذا الموضوع عن مثلي الاعلى الاخ خضر ترزي من موقع المبرمجون العرب

    SQL Server تعليم


    تعلم استخدام برنامج
    Microsoft SQL Server 7.0

    مقدمة الى قواعد البيانات المركزية

    قبل ان ابدء الشرح عن
    SQL Server
    اريد التحدث قليلا عن قواعد البيانات عامة وعن الفرق بينها وبين قواعد البيانات المركزية ، فكما يعلم البعض نظام ال
    SQL Server
    هو عبارة عن قاعدة بيانات مركزية تقوم بادارة قواعد البيانات وتوزيعها عبر شبكة الكومبيوتر

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    وهكذا استمر تطور قواعد البيانات المركزية الى يومنا هذا وظهر العديد منها في السوق مثل

    Oracle 8
    SQL Server 7
    IBM DB2
    SYbase
    Informix
    Borland IntraBase

    مقارنة بينMicrosoft SQL ServerوبينOracle


    عندما قررت قبل ثلاثة سنوات اعتماد نظام قواعد بيانات مركزية لاستخدمها في عملي ، كان يجب أن اختار بين اشهر الأنظمة المتوفرة في الأسواق ، وكانت في تلك الفترة
    Microsoft SQL Server
    و
    Oracle
    طبعا الخيار كان صعبا ، خصوصا لانه يتطلب وقتا كبيرا لتتقن استخدام نظام قواعد بيانات مركزية ، ولا يوجد لدي وقت لاتقن استخدام نظامين معا ، ولذلك كان على الاختيار بعناية

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

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

    ومع ذلك فهناك العديد من النقاط التي جعلتني افضل أحدهما عن الاخر ومن اهمها

    سهولة تعلم استخدام النظام ودرجة تعقيده وسرعة بناء و إدارة قواعد البيانات به

    تلكفة النظام ( تلكفة الشراء ، التركيب ، الصيانة ، الاستخدام عبر الشبكة ، وغيرهما)

    سهولة تعلم استخدام النظام ودرجة تعقيده وسرعة بناء وادارة قواعد البيانات به

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

    ولكن الامر اختلف كثيرا عندما ركبت النسخة السابقة في ذلك الوقت من
    SQL Server
    وكانت 6.5 ، لقد ارتحت كثيرا منذ اول تشغيل لي لذلك البرنامج ، فوجد بانني استطيع القيام بمعظم العمليات عن طريق برنامج واحد فقط ، ففرقت بسهولة بين قواعد البيانات المختلفة ومكان تخزينها وطرق النسخ الاحتياطي الخاص بها والكثير من الامور غيرها ، وعندما طورت النظام الى النسخة السابعة ورئيت التغيرات الضخمة والتسهيلات التي وجدتها به ، ازدادت سعادتي كثيرا
    فانا قادر عن طريق برنامج الادارة
    Microsoft SQL Server7.0 Enterprise Manager
    القيام بكل العمليات التي ارغب بها بسهولة وسرعة عالية ، حيث يقدم لي كل ما احتاج لصناعة الجداول والاستعلامات والبرامج الصغيرة وغيرها ، كما انني استطيع ان اجعله بان يقوم بالعديد من الامور الاخرى اتوماتيكيا ، مثل فحص البيانات كل ليلة ونسخها احتياطيا واخباري عن ذلك يوميا عن طريق البريد الالكتروني ، وذلك في حال تواجدي في مكان بعيد ، بل اكثر من ذلك ، فباستطاعتي توجيه الأوامر اليه مباشرة عن طريق البريد الالكتروني وذلك ان كنت مسافر مثلا.

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

    اما بالنسبة للوثائق التعليمية فقد ارفقت مايكروسوفت ما يزيد عن 10 الاف صفحة من الكتب مع ذلك النظام على قرص الليزر وذلك عن طريق
    SQL Server Books On-Line
    كما وجدت العديد من الوثائق في مواقع مايكروسوفت على انترنت مثل
    support.microsoft.com
    msdn.microsoft.com/library
    msdn.microsoft.com/sqlserver
    كل تلك الوثائق والمستندات ساعدتني بان اتغلب على اية مشكلة كانت تحدث مع
    SQL-Server
    دقائق بعد حدوثها ، عكس اوراكل والذي فشلت في ايجاد حل المشاكل التي واجهتني عند استخدامه عن طريق اوراكل في انترنت.

    كل ذلك جعلني افضل
    SQL-Server
    كثيرا في تلك المقارنة


  2. #2
    شكرا على هذا الدرس




    وبالتوفيق
    كل شيء لا يساوي شيء ............................................................................
    إلا ما كان لله

  3. #3









    سبحانك اللهم وبحمدك أستغفرك وأتوب إليك

  4. #4
    ما علاقة هذا الموضوع بهذا القسم من المنتدى
    هذا القسم خاص بتصميم وبرمجة الألعاب.
    -------------------------------
    الصارم دائماً صارم

  5. #5
    معلومات جداً رائعـة و قيــمة .....

    وأن كنت ألتمس منك أن كنت تعرف عن طريقة telnet وكيفية أستخدامها في win98 ...

    وشكراً لك
    المغامرة هي الحياة

Bookmarks

قوانين الموضوعات

  • لا يمكنك اضافة موضوع جديد
  • لا يمكنك اضافة ردود
  • لا يمكنك اضافة مرفقات
  • لا يمكنك تعديل مشاركاتك
  •  
  • كود BB مفعّل
  • رموز الحالة مفعّل
  • كود [IMG] مفعّل
  • [VIDEO] code is مفعّل
  • كود HTML معطل