Эта страница содержит запросы учета активности SQL для базы данных Blackboard Learn, что дает возможность получить информацию о действиях при использовании мобильной версии Blackboard. Эта информация предполагает, что вы уже имеете доступ к своей базе данных и обладаете разрешениями для отправки запросов на получение информации. Эти запросы служат для получения отчетов, а потому в разрешениях на запись нет необходимости.

Рекомендуется использовать учетную запись с доступом только для чтения, чтобы предотвратить случайное внесение изменений. Внесение изменений напрямую в базу данных любой сложной системы может привести к серьезным проблемам, в том числе — к простою. Перечисленные на этой странице данного документа запросы не вносят в систему изменений.

Примеры кодов для запросов SQL приведены на этой странице. Эти запросы должны помочь вам понять, как работают дополнительные элементы. Способ записи данных предусматривает несколько ограничений. В настоящее время мы не можем определять, с помощью какого приложения или с какой платформы выполнялось какое-либо конкретное действие. Это означает, что при просмотре данных приложения Blackboard и Blackboard Instructor выглядят одинаково.

В образцах запросов SQL в качестве примера схемы базы данных использовалось приложение bblearn. База данных 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%'

Таблица Activity_Accumulator в базе данных Blackboard Learn записывает попытку входа с мобильного устройства несколько раз после каждого входа в приложение с мобильного устройства с методом аутентификации Force to Web. Подробнее об этой известной проблеме.

Количество уникальных пользователей за определенный период времени

Данный запрос показывает количество уникальных пользователей, входивших в систему в течение определенного периода времени. При этом используется идентификатор базы данных, сопоставленный с учетной записью, поэтому каждый пользователь учитывается только один раз вне зависимости от того, сколько устройств он использовал за указанный период времени. Например, если данный запрос регулярно используется для получения ежемесячных отчетов, пользователь будет упоминаться однократно в каждом запросе. Это означает, что при каждом выполнении запроса все входы пользователя будут учитываться как один вход. Если пользователь входил в систему в течение месяца, он будет отображаться в отчете по соответствующему месяцу, но только один раз. Данный пример отражает данные за один месяц.

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

Количество входов уникальных пользователей по роли на курсе

Данный запрос показывает количество уникальных пользователей, входивших в систему по своей роли на курсе. Это число фиксируется в таблице зачислений course_users, а затем добавляется в таблицу Activity_Accumulator. Внесение данных в таблицу 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.role необходимо указать идентификатор ROLE ID роли курса или организации. Случается, что некоторые пользователи входят в приложение по ошибке. Например, преподаватель может случайно войти в приложение Blackboard. Следует учитывать это во время анализа результатов.

Все входы индивидуальных пользователей за определенный период времени

Этот запрос подобен запросу «Общее количество входов в систему при помощи мобильных приложений за определенный период времени». Различие заключается в том, что он показывает все строки данных, а не только их количество. Он может быть полезен, если вы хотите выявить закономерности в использовании или экспортировать данные для создания более подробных отчетов. Символ «*» в первой строке означает, что будут показаны все столбцы таблицы.

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

Все просмотры тем форума пользователями за указанный период времени

Этот запрос собирает информацию о действиях учащихся в приложении, а не данные о входе в систему, которые доступны, например, на странице Mobile Analytics. Каждый раз когда кто-либо просматривает тему форума в приложение Blackboard, модуль записывает в таблицу activity_accumulator элемент «mobile.view.thread». Этот запрос показывает, когда каждый учащийся просматривал каждую тему каждого форума. Если эти данные объединяются с данными других таблиц или открываются в таких программах, как 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 для объединения результатов, полученных из нескольких таблиц. Соединение выполняется там, где находится утверждение, позволяющее SQL узнать о совпадении значений в двух таблицах.

Следующий запрос является примером соединения SQL, использующего наши таблицы. Выполнение соединений может быть непростым и часто сопровождается большим количеством проб и ошибок. Если вы планируете создавать более сложные запросы, рекомендуется изучить информацию о соединениях. Чем сложнее запросы, тем больше работы требуется от сервера базы данных, что повышает риск возникновения ошибок.

Ниже приведен построчный пример, а также рекомендации по созданию аналогичных запросов. Данный запрос объединяет несколько частей, представленных выше, в единый запрос, предлагающий только указанные столбцы из нескольких таблиц с несколькими заданными ограничениями.

  1. Укажите столбцы из двух разных таблиц. Имена таблиц указываются после столбцов.
  2. Выберите две таблицы и дайте им псевдонимы, состоящие из одной буквы.
  3. Условия указываются после элемента Where. В SQL условием считается объяснение того, как таблицы связаны между собой. Поэтому вам нужно указать, какие столбцы совпадают, чтобы дать SQL понять, как нужно связывать данные между собой.
  4. Дополнительное условие: временная метка — дата начала
  5. Дополнительное условие: временная метка — дата окончания
  6. Дополнительное условие: разделитель столбцов данных

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, можно настроить заполнение запроса именами курсов и именем содержимого. Вместо необходимости использовать несколько идентификаторов баз данных при заданной по умолчанию таблице activity_accumulator можно ввести в запрос имя содержимого и названия курсов.

Справочные данные

События, связанные с использованием мобильных устройств

Следующие события записываются модулем Mobile Web Services в таблицу activity_accumulator. С течением времени этот список может изменяться. Так как события записываются модулем, а не самими приложениями, формат данных остается одним и тем же вне зависимости от того, какое приложение было использовано при выполнении функции. В предыдущем запросе для просмотров по темам параметр «mobile.view.thread» мог быть заменен на любую строку из таблицы ниже, если эта строка (помимо самого перечисления данных об использовании на мобильных устройствах) содержала дополнительный текст. В некоторых экземплярах для того же действия используются другие строки. Причина этого заключается в изменении формата записи, поэтому вам может понадобиться использовать при поиске оба типа строк, чтобы получать результаты с течением времени.

Типы содержимого, поддерживаемого в приложении Blackboard
Событие Строка в поле «Данные» таблицы activity_accumulator
просмотр списка блогов 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
добавление записи в базу данных mobile.add.thread.post
добавление комментария к записи базы данных mobile.add.thread.post.comment
просмотр элемента содержимого Mobile Content View