تمرين: استخدام SQL للاستعلام عن قاعدة بيانات Azure SQL

مكتمل

قامت شركة Contoso بتوفير قاعدة بيانات SQL واستوردت جميع بيانات المخزون إلى مخزن البيانات. بصفتك مطورا رائدا، طلب منك تشغيل بعض الاستعلامات عبر البيانات.

في هذا التمرين، ستقوم بالاستعلام عن قاعدة البيانات للعثور على عدد المنتجات الموجودة في قاعدة البيانات، وعدد العناصر في المخزون لمنتج معين.

اعداد

لتوفير الوقت، يتم توفير قاعدة البيانات وتعبئتها بتشغيل برنامج نصي. ستقوم بتنزيل البرنامج النصي من مستودع GitHub. ينفذ البرنامج النصي العمليات التالية:

  • إنشاء خادم قاعدة بيانات Azure SQL.
  • إنشاء قاعدة بيانات Azure SQL مرفقة بالخادم.
  • فتح جدار الحماية للسماح بحركة مرور SQL من الإنترنت.
  • الاتصال بقاعدة البيانات وتشغيل برنامج نصي SQL لإنشاء جدول وإدراج البيانات.
  1. قم بتشغيل أمر نسخ git التالي في Cloud Shell لاستنساخ المستودع الذي يحتوي على البيانات والإعداد النصي في GitHub. يتم نسخ المستودع إلى مجلد محلي يسمى dp-900/sql.

    git clone https://github.com/MicrosoftLearning/DP-900T00A-Azure-Data-Fundamentals dp-900
    
  2. قم بتشغيل الأمر التالي للانتقال إلى المجلد dp-900/sql .

    cd dp-900/sql
    
  3. قم بتشغيل setup.sh لإنشاء قاعدة بيانات وخادم Azure SQL، كما يلي:

    bash setup.sh
    

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

الاتصال بمحرر الاستعلام

ستستخدم محرر الاستعلام المضمن في مدخل Microsoft Azure للاتصال بقاعدة البيانات والاستعلام عن البيانات.

  1. سجل الدخول إلى مدخل Microsoft Azure باستخدام نفس الحساب الذي قمت بتنشيط بيئة الاختبار المعزولة باستخدامه.

  2. في المدخل، في الصفحة الرئيسية حدد قواعد بيانات SQL، ثم حدد قاعدة بيانات المخزون الموجودة على الخادم الذي أنشأته للتو.

    خيار قائمة قواعد بيانات SQL على الشاشة الرئيسية.

  3. في صفحة نظرة عامة لقاعدة البيانات الخاصة بك، حدد تعيين جدار حماية الخادم.

    صفحة نظرة عامة لمثيل قاعدة بيانات SQL. حدد المستخدم تعيين جدار حماية الخادم.

  4. في صفحة Firewall settings ، حدد Add client IP، ثم حدد Save.

    صفحة إعدادات جدار الحماية لمثيل قاعدة بيانات SQL. حدد المستخدم Add client IP.

  5. أغلق صفحة إعدادات جدار الحماية ، وارجع إلى صفحة نظرة عامة لقاعدة البيانات الخاصة بك.

  6. في صفحة نظرة عامة ، حدد محرر الاستعلام (معاينة) في القائمة اليمنى.

  7. أدخل اسم المستخدم وكلمة المرور التي سجلتها سابقا عند تشغيل البرنامج النصي للإعداد، ثم حدد موافق.

    صفحة تسجيل الدخول إلى قاعدة بيانات SQL في مدخل Azure.

    سيتم تقديم شاشة مشابهة لهذا المثال:

    محرر استعلام قاعدة بيانات SQL.

تلميح

لن تؤدي إضافة عنوان IP للعميل في هذه الخطوة إلى حساب أي اتصالات VPN موجودة. إذا لم تتمكن من إكمال الخطوة 7، ف قم بتعطيل أي اتصالات VPN أو أضف عنوان IP الإضافي يدويا من أي أخطاء يتم عرضها.

تشغيل الاستعلامات مقابل قاعدة البيانات

  1. انسخ عبارة SQL التالية في المحرر. حدد تشغيل، للتحقق من عمل كل شيء. يجب أن تشاهد قائمة بأربعة عناصر مخزون

    SELECT * 
    FROM Inventory
    

    تشغيل الاستعلام الأساسي في محرر استعلام قاعدة بيانات SQL.

  2. استبدل عبارة SQL الحالية بالبيان التالي لإظهار عدد الموز فقط في المخزون:

    SELECT * 
    FROM Inventory 
    WHERE Name = 'banana'
    

    يجب أن يكون هناك 150 موزة.

    تشغيل استعلام WHERE في محرر استعلام قاعدة بيانات SQL.

  3. استبدل عبارة SQL بالبيان التالي لاسترداد عناصر المخزون بترتيب الكمية في المخزون:

    SELECT * 
    FROM Inventory 
    ORDER BY Stock
    

    تشغيل استعلام ORDER في محرر استعلام قاعدة بيانات SQL.

  4. استبدل عبارة SQL بالبيان الموضح أدناه. هذه العبارة هي استعلام يستخدم عامل التشغيل JOIN لدمج البيانات من جدول CustomerOrder وجدول المخزون . يسرد تفاصيل الطلبات التي وضعها العملاء مع معلومات المخزون لكل عنصر تم طلبه:

    SELECT * 
    FROM Inventory 
    JOIN CustomerOrder ON Inventory.Id = CustomerOrder.InventoryId
    

    تشغيل استعلام JOIN في محرر استعلام قاعدة بيانات SQL.

  5. قم بتغيير الاستعلام للعثور على أسماء جميع العملاء الذين طلبوا البرتقال.

    SELECT CustomerOrder.CustomerName 
    FROM CustomerOrder
    JOIN Inventory ON CustomerOrder.InventoryId = Inventory.ID
    AND Inventory.Name = 'orange'
    

    يجب أن يرجع هذا الاستعلام عميلين: جون سميث وجين براون

  6. تعرف على عدد العملاء الذين طلبوا الليمون. يستخدم هذا الاستعلام الدالة COUNT(*)، التي ترجع عدد الصفوف التي تطابق معايير الاستعلام.

    SELECT COUNT(*) 
    FROM CustomerOrder
    JOIN Inventory ON CustomerOrder.InventoryId = Inventory.ID
    AND Inventory.Name = 'lemon'
    

    يجب أن تشير نتائج هذا الاستعلام إلى أن عميلا واحدا فقط قد طلب الليمون.

  7. ما هي الفواكه التي طلبها جون سميث؟

    SELECT Inventory.Name 
    FROM CustomerOrder
    JOIN Inventory ON CustomerOrder.InventoryId = Inventory.ID
    AND CustomerOrder.CustomerName = 'John Smith'
    

    يجب أن تظهر نتائج هذا الاستعلام أن جون سميث قد طلب البرتقال فقط.

  8. ما هو إجمالي كمية العناصر التي يطلبها جميع العملاء؟ يحتوي عمود الكمية في جدول CustomerOrder على الكمية لكل طلب. يستخدم هذا الاستعلام الدالة التجميعية SUM لإضافة الكميات معا إلى المنتج الإجمالي الكلي:

    SELECT SUM(CustomerOrder.Quantity) 
    FROM CustomerOrder
    

    يجب أن تكون الإجابة 29.

لقد رأيت الآن كيفية تشغيل استعلامات SQL مقابل قاعدة بيانات SQL. إذا كان لديك الوقت، فحاول إضافة المزيد من الصفوف إلى كلا الجدولين باستخدام عبارات INSERT ، وتعديل الصفوف باستخدام عبارات UPDATE ، وإزالة الصفوف باستخدام عبارات DELETE .