تمرين: استخدام SQL للاستعلام عن قاعدة بيانات Azure SQL
قامت شركة Contoso بتوفير قاعدة بيانات SQL واستوردت جميع بيانات المخزون إلى مخزن البيانات. بصفتك مطورا رائدا، طلب منك تشغيل بعض الاستعلامات عبر البيانات.
في هذا التمرين، ستقوم بالاستعلام عن قاعدة البيانات للعثور على عدد المنتجات الموجودة في قاعدة البيانات، وعدد العناصر في المخزون لمنتج معين.
اعداد
لتوفير الوقت، يتم توفير قاعدة البيانات وتعبئتها بتشغيل برنامج نصي. ستقوم بتنزيل البرنامج النصي من مستودع GitHub. ينفذ البرنامج النصي العمليات التالية:
- إنشاء خادم قاعدة بيانات Azure SQL.
- إنشاء قاعدة بيانات Azure SQL مرفقة بالخادم.
- فتح جدار الحماية للسماح بحركة مرور SQL من الإنترنت.
- الاتصال بقاعدة البيانات وتشغيل برنامج نصي SQL لإنشاء جدول وإدراج البيانات.
قم بتشغيل أمر نسخ git التالي في Cloud Shell لاستنساخ المستودع الذي يحتوي على البيانات والإعداد النصي في GitHub. يتم نسخ المستودع إلى مجلد محلي يسمى dp-900/sql.
git clone https://github.com/MicrosoftLearning/DP-900T00A-Azure-Data-Fundamentals dp-900قم بتشغيل الأمر التالي للانتقال إلى المجلد dp-900/sql .
cd dp-900/sqlقم بتشغيل setup.sh لإنشاء قاعدة بيانات وخادم Azure SQL، كما يلي:
bash setup.sh
يستغرق تشغيل البرنامج النصي بضع دقائق. عند انتهاء البرنامج النصي، سيعرض تفاصيل الاتصال لقاعدة البيانات. اكتب اسم المستخدم وكلمة المرور.
الاتصال بمحرر الاستعلام
ستستخدم محرر الاستعلام المضمن في مدخل Microsoft Azure للاتصال بقاعدة البيانات والاستعلام عن البيانات.
سجل الدخول إلى مدخل Microsoft Azure باستخدام نفس الحساب الذي قمت بتنشيط بيئة الاختبار المعزولة باستخدامه.
في المدخل، في الصفحة الرئيسية حدد قواعد بيانات SQL، ثم حدد قاعدة بيانات المخزون الموجودة على الخادم الذي أنشأته للتو.
في صفحة نظرة عامة لقاعدة البيانات الخاصة بك، حدد تعيين جدار حماية الخادم.
في صفحة Firewall settings ، حدد Add client IP، ثم حدد Save.
أغلق صفحة إعدادات جدار الحماية ، وارجع إلى صفحة نظرة عامة لقاعدة البيانات الخاصة بك.
في صفحة نظرة عامة ، حدد محرر الاستعلام (معاينة) في القائمة اليمنى.
أدخل اسم المستخدم وكلمة المرور التي سجلتها سابقا عند تشغيل البرنامج النصي للإعداد، ثم حدد موافق.
سيتم تقديم شاشة مشابهة لهذا المثال:
تلميح
لن تؤدي إضافة عنوان IP للعميل في هذه الخطوة إلى حساب أي اتصالات VPN موجودة. إذا لم تتمكن من إكمال الخطوة 7، ف قم بتعطيل أي اتصالات VPN أو أضف عنوان IP الإضافي يدويا من أي أخطاء يتم عرضها.
تشغيل الاستعلامات مقابل قاعدة البيانات
انسخ عبارة SQL التالية في المحرر. حدد تشغيل، للتحقق من عمل كل شيء. يجب أن تشاهد قائمة بأربعة عناصر مخزون
SELECT * FROM Inventory
استبدل عبارة SQL الحالية بالبيان التالي لإظهار عدد الموز فقط في المخزون:
SELECT * FROM Inventory WHERE Name = 'banana'يجب أن يكون هناك 150 موزة.
استبدل عبارة SQL بالبيان التالي لاسترداد عناصر المخزون بترتيب الكمية في المخزون:
SELECT * FROM Inventory ORDER BY Stock
استبدل عبارة SQL بالبيان الموضح أدناه. هذه العبارة هي استعلام يستخدم عامل التشغيل JOIN لدمج البيانات من جدول CustomerOrder وجدول المخزون . يسرد تفاصيل الطلبات التي وضعها العملاء مع معلومات المخزون لكل عنصر تم طلبه:
SELECT * FROM Inventory JOIN CustomerOrder ON Inventory.Id = CustomerOrder.InventoryId
قم بتغيير الاستعلام للعثور على أسماء جميع العملاء الذين طلبوا البرتقال.
SELECT CustomerOrder.CustomerName FROM CustomerOrder JOIN Inventory ON CustomerOrder.InventoryId = Inventory.ID AND Inventory.Name = 'orange'يجب أن يرجع هذا الاستعلام عميلين: جون سميث وجين براون
تعرف على عدد العملاء الذين طلبوا الليمون. يستخدم هذا الاستعلام الدالة COUNT(*)، التي ترجع عدد الصفوف التي تطابق معايير الاستعلام.
SELECT COUNT(*) FROM CustomerOrder JOIN Inventory ON CustomerOrder.InventoryId = Inventory.ID AND Inventory.Name = 'lemon'يجب أن تشير نتائج هذا الاستعلام إلى أن عميلا واحدا فقط قد طلب الليمون.
ما هي الفواكه التي طلبها جون سميث؟
SELECT Inventory.Name FROM CustomerOrder JOIN Inventory ON CustomerOrder.InventoryId = Inventory.ID AND CustomerOrder.CustomerName = 'John Smith'يجب أن تظهر نتائج هذا الاستعلام أن جون سميث قد طلب البرتقال فقط.
ما هو إجمالي كمية العناصر التي يطلبها جميع العملاء؟ يحتوي عمود الكمية في جدول CustomerOrder على الكمية لكل طلب. يستخدم هذا الاستعلام الدالة التجميعية SUM لإضافة الكميات معا إلى المنتج الإجمالي الكلي:
SELECT SUM(CustomerOrder.Quantity) FROM CustomerOrderيجب أن تكون الإجابة 29.
لقد رأيت الآن كيفية تشغيل استعلامات SQL مقابل قاعدة بيانات SQL. إذا كان لديك الوقت، فحاول إضافة المزيد من الصفوف إلى كلا الجدولين باستخدام عبارات INSERT ، وتعديل الصفوف باستخدام عبارات UPDATE ، وإزالة الصفوف باستخدام عبارات DELETE .