تحتوي هذه الصفحة على استعلامات SQL الخاصة بمجمّع الأنشطة لقاعدة بيانات Blackboard Learn حتى يمكنك الحصول على معلومات النشاط لاستخدام Blackboard على الأجهزة المحمولة. وتفترض هذه المعلومات أنك لديك بالفعل القدرة على الوصول إلى قاعدة البيانات الخاصة بك والصلاحيات الخاصة بالاستعلام عن المعلومات. وهذه الاستعلامات قد تم تصميمها لأغراض إعداد التقارير حتى لا تكون هناك حاجة إلى الحصول على صلاحيات الكتابة.

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

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

يتم استخدام bblearn في نماذج استعلامات SQL كنموذج لمخطط قاعدة البيانات. قد تحتوي قاعدة بيانات Blackboard Learn على البيانات المخزنة في عدد من المخططات البديلة مثل bb_bb60 أو bblearn_stats للبيانات المؤرشفة. قد يحتاج الجزء الأول من الاستعلام إلى تعديله لأخذ اختلافات المخطط في الاعتبار.

حساب إجمالي عدد عمليات تسجيل الدخول من على الأجهزة المحمولة لفترة زمنية محددة

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

select Count(*) from bblearn.activity_accumulator
where TIMESTAMP > '01-MAR-2016'
and TIMESTAMP < '01-APR-2016'
and data like '%Mobile Login%'

يسجل جدول مجمع النشاط الموجود في قاعدة بيانات Blackboard Learn "محاولة تسجيل الدخول إلى الأجهزة المحمولة" ثلاث مرات لكل عملية تسجيل دخول يقوم بها مستخدم تطبيق الأجهزة المحمولة على iOS عندما يتم تكوين Mobile B2 مع فرض مصادقة الويب. يؤثر ذلك على عمليات تسجيل الدخول من كل من تطبيقي Blackboard وBlackboard Instructor. سيتم تكبير إحصائيات نشاط استخدام الأجهزة المحمولة الخاصة بعمليات تسجيل الدخول لمستخدمي تطبيق iOS.

حساب عدد المستخدمين الفريدين لفترة زمنية محددة

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

select Count(Distinct(user_pk1)) from bblearn.activity_accumulator
where TIMESTAMP > '01-MAR-2016'
and TIMESTAMP < '01-APR-2016'
and data like '%Mobile Login%'

حساب عدد عمليات تسجيل دخول المستخدم الفريدة حسب دور المقرر الدراسي

يُظهر هذا الاستعلام عدد المستخدمين الفريدين الذين قاموا بتسجيل الدخول حسب دور المقرر الدراسي الخاص بهم. ويقوم بالانضمام إلى جدول activity_accumulator باستخدام الجدول course_users (عمليات التسجيل). يمكن أن يوفر الانضمام إلى جدول course_users، الذي يحتوي على دور مقرر دراسي أو منتدى مجموعة لكل مستخدم، تقديرًا تقريبيًا لعدد المستخدمين الذين يقومون بالوصول إلى تطبيقي Blackboard وBlackboard Instructor. تنطبق نفس الإرشادات التي تنطبق على "حساب عدد المستخدمين الفريدين لفترة زمنية محددة" على هذا الاستعلام. يقوم هذا النموذج بإرجاع عدد عمليات تسجيل الدخول بالأجهزة المحمولة الفريدة الخاصة بالمدرس لمدة شهر واحد.

select Count(Distinct(user_pk1)) from bblearn.activity_accumulator aa
join bblearn.course_users cu on
aa.user_pk1 = cu.users_pk1
where cu.role = 'P'
and timestamp > '01-NOV-2018'
and timestamp < '30-NOV-2018'
and aa.data like '%Mobile Login%';

لاحظ أنه بالنسبة لدور cu، يجب أن يستخدم المقرر الدراسي أو منتدى المجموعة "معرف الدور". أيضًا، قد يقوم بعض المستخدمين بتسجيل الدخول إلى التطبيق غير الصحيح. علي سبيل المثال، قد يسجل المدرس الدخول إلى تطبيق Blackboard عن طريق الخطأ. خذ هذا بعين الاعتبار عند تحليل النتائج.

إظهار جميع عمليات تسجيل الدخول الفردية لفترة زمنية محددة

هذا الاستعلام مشابه بفعالية لاستعلام "حساب إجمالي عدد عمليات تسجيل الدخول من على الأجهزة المحمولة لفترة زمنية محددة" مع الفارق في أنه يعرض جميع بيانات الصف بدلاً من حساب عدد الصفوف. وقد يكون ذلك مفيدًا إذا كنت تبحث عن الأنماط أو التخطيط لتصدير البيانات كي يتم استخدامها في تقارير أعمق. ويقصد بالحرف '*' الموجود في السطر الأول أنه سيعرض جميع الأعمدة من الجدول.

select * from bblearn.activity_accumulator
where TIMESTAMP > '01-MAR-2016'
and TIMESTAMP < '01-APR-2016'
and data like '%Mobile Login%'

عرض جميع المرات الفردية التي يقوم فيها المستخدمون بعرض موضوعات المنتدى في فترة زمنية محددة

وبدلاً من قيام هذا الاستعلام بالنظر إلى بيانات تسجيل الدخول مثل صفحة تحليلات الأجهزة المحمولة (Mobile Analytics)، فهو ينظر إلى ما يقوم به الطلاب في التطبيق. عند قيام أحد الأشخاص باستخدام تطبيق Blackboard لعرض موضوع في منتدى، تسجل الكتلة البرمجية الإنشائية عنصر 'mobile.view.thread' في جدول activity_accumulator. يعرض هذا الاستعلام الوقت الذي يقوم فيه أي طالب بعرض أي موضوع في أي منتدى. إذا اجتمعت هذه البيانات مع البيانات الصادرة عن الجداول الأخرى أو تلك المستخدمة في برنامج مثل Microsoft Excel، يمكن تحديد المعلومات الخاصة بأنماط طلاب أو مقررات دراسية أو استخدام.

select * from bblearn.activity_accumulator
where TIMESTAMP > '01-MAR-2016'
and TIMESTAMP < '01-APR-2016'
and data = 'mobile.view.thread'

عرض جميع الاستخدامات من على الأجهزة المحمولة

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

select * from bblearn.activity_accumulator
where TIMESTAMP > '01-MAR-2016'
and TIMESTAMP < '01-APR-2016'
and data like '%Mobile%'

الاستعلامات المتقدمة

تتضمن الاستعلامات التالية بعضًا من الأساسيات المذكورة أعلاه وتعرض طرقًا كي تكون أكثر تفصيلاً أو تستجمع البيانات كي تكون أكثر قابلية للقراءة.

الاستعلام عن مستخدمي Blackboard

يتضمن هذا الاستعلام جميع البيانات الموجودة في جدول المستخدمين. ويتضمن هذا اسم المستخدم وقيمة PK المرتبطة بكل مستخدم. ويكون ذلك لكل المستخدمين الموجودين داخل Blackboard Learn بغض النظر عما إذا كانوا يستخدمون أيٍ من منتجات Blackboard المحمولة أم لا.

select *
from bblearn.users

تحديد الاستعلام الخاص بك إلى أعمدة معينة

تستخدم جميع الاستعلامات الموجودة في هذه الصفحة العلامة المحددة '*' في الجزء من الاستعلام الذي يسمح لك بتحديد الأعمدة. ويتسبب هذا في قيام SQL بإرجاع جميع الأعمدة في الجدول بغض النظر عن إذا ما كانوا يقدمون أي قيمة حقيقية لك. يقوم الاستعلام التالي بإرجاع جميع الأسطر من الجدول activity_accumulator إلا أنه يقوم بإرجاع 5 أعمدة فقط. وتلك لا تسمح لنا فقط بالتعرف على المستخدم والمقرر الدراسي وعنصر المحتوى، ولكنها أيضًا تعطينا المعلومات من حقل البيانات وطابع الوقت عند وقوع الحدث. فهي لا تعرض أيٍ من الأعمدة الأخرى.

select user_pk1, course_pk1, content_pk1, data, timestamp
from bblearn.activity_accumulator

انضمام جداول متعددة معًا

إذا قمت بتجميع النتائج من جدولين معًا، فيمكن لذلك مساعدتك في تصفية بياناتك وتحديدها للمستخدمين المناسبين. ويمكنك أيضًا سحب اسم المستخدم كي يتم ربط المستخدمين مع الأنشطة مباشرة حتى لا تضطر إلى البحث عنهم يدويًا. تستخدم SQL عمليات الانضمام لتجميع النتائج من جداول متعددة. والانضمام هو العبارة where التي تتيح لـ SQL معرفة أن القيمة المأخوذة من جدول واحد مساوية للقيمة نفسها الموجودة في جدول آخر.

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

فيما يلي مثال لسطر وراء سطر فضلاً عن مرجع جيد لبناء الاستعلامات الأخرى. يقوم هذا الاستعلام بجمع مقاطع متعددة مقدمة أعلاه في استعلام واحد يوفر أعمدة محددة فقط من جداول متعددة مع مجموعة قيود متعددة.

  1. قم بتحديد الأعمدة من جدولين مختلفين. يكون اسما الجدولين محددين بعد الأعمدة.
  2. اختر جدولين وأعطهما اسمين مستعارين مكونين من حرف واحد.
  3. تكون العبارة Where هي المكان الذي ستقوم فيه بوضع العبارات الشرطية. في SQL، يعتبر توضيح كيفية اتصال الجداول ببعضها عبارة شرطية. لذا، ستحتاج إلى تحديد الأعمدة المكافئة حتى يتسنى لـ SQL التعرف على كيفية اتصال البيانات ببعضها.
  4. الشرط الإضافي: timestamp start date
  5. الشرط الإضافي: timestamp end date
  6. الشرط الإضافي: data column limiter

select u.user_id, a.data, a.timestamp
from bblearn.activity_accumulator a, bblearn.users u
where u.pk1=a.user_pk1
and a.TIMESTAMP > '01-MAR-2016'
and a.TIMESTAMP < '01-APR-2016'
and a.data like '%Mobile Login%'

ومثله مثل الاستعلام، يمكن إضافة العبارة الشرطية إلى جدول المستخدم مثل u.user_id = 'StudentLogin'. ويسمح هذا للاستعلام بالتشغيل بالمقابلة مع الجدول activity_accumulator دون الحاجة إلى استنتاج المستخدمين الذين لهم القيمة PK1 طالما تم الحصول على اسم المستخدم الفعلي للطالب.

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

البيانات المرجعية

أحداث Mobile

يتم تسجيل الأحداث التالية من خلال الكتلة البرمجية الإنشائية Mobile Web Services في الجدول activity_accumulator. وقد تتغير هذه القائمة بمرور الوقت. ولأن الأحداث يتم تسجيلها بواسطة الكتلة البرمجية الإنشائية وليس التطبيقات نفسها، يكون تنسيق البيانات هو نفسه بغض النظر عن التطبيق الذي تم استخدامه لتنفيذ الوظيفة. وفي الاستعلام السابق لطرق عرض الموضوعات، يمكن استبدال المعلمة 'mobile.view.thread' بأيٍ من الإدخالات الموجودة في الجدول الموضح أدناه إذا كان الإدخال يحتوي على نص إضافي بجانب قائمة الأجهزة المحمولة نفسها. وهناك بعض الأمثلة حيث توجد إدخالات مختلفة للإجراء نفسه. وهذا يرجع إلى أن تنسيق التسجيل قد تغير في نقطة ما، لذا فقد تضطر إلى البحث عن كلا نوعي الإدخال للحصول على النتائج بمرور الوقت.

أنواع المحتوى المعتمد في تطبيق Blackboard
الحدثالإدخال في الجدول activity_accumulator في الحقل 'Data'
عرض قائمة المدونةmobile.list.blogs
عرض قائمة المشاركةmobile.list.blog.entries
عرض تعليق المشاركةmobile.list.blog.comments
إضافة تعليق على اليوميةmobile.list.journal.add.entry.comment
إضافة تعليق على المدونةmobile.list.blog.add.entry.comment
إضافة إدخال إلى اليوميةmobile.list.journal.add.entry
إضافة إدخال إلى المدونةmobile.list.blog.add.entry
عرض قائمة اليوميةmobile.list.journals
عرض قائمة المشاركةmobile.list.journal.entries
عرض تعليق المشاركةmobile.list.journal.comments
عرض منتديات المجموعةmobile.list.forums
عرض الموضوعاتmobile.list.threads
عرض الموضوعmobile.view.thread
عرض مشاركات الموضوعmobile.view.thread.post
عرض رسائل الإعلامmobile.view.announcements
عرض لائحة الطلابmobile.view.roster
عرض التقديراتmobile.view.grades
إضافة إدخال إلى اليوميةmobile.add.journal.entry
إضافة رسالة dbmobile.add.thread.post
إضافة تعليق على مشاركة dbmobile.add.thread.post.comment
عرض عنصر محتوىطريقة عرض المحتوى للأجهزة المحمولة