Scientific journal
Modern problems of science and education
ISSN 2070-7428
"Перечень" ВАК
ИФ РИНЦ = 1,006

DBFORGE STUDIO FOR MYSQL PROFESSIONAL TOOL IN «DATABASE» TEACHING

Anisimova E.S. 1 Ibatullin R.R. 1
1 Kazan Federal University, Elabuga Institute
Traditional program used during lessons on discipline "Database" is the Microsoft Office Access. It has a very simple graphical interface and contains a large number of masters. However, MS Access has a number of drawbacks, including the restriction of providing multi-user environment features, the lack of a free version, etc. In this article we offer to use dbForge Studio for MySQL tool at the lessons on discipline "Database". It is a flexible tool for professional database developers, but it can be successfully used for teaching beginners working with databases. With this tool, students will be able to develop SQL scripts, stored procedures and functions, prepare and execute queries, edit data, carry out their export and import, manage users, edit the database objects to work with database projects, and more. The program has a convenient and intuitive interface, an important feature is the automatic generation of a script based on the commands executed by the user, which is very useful in the initial stages of the development of students' learning database. The article gives examples of some individual tasks, as well as some highlights of the work with the tool.
table
database
query
administration
sql-script

Использование баз данных становится сегодня неотъемлемой составляющей деятельности любой организации. В этой связи большую актуальность приобретает освоение принципов построения и эффективного использования систем управления базами данных [5, 6]. Дисциплина «База данных» направлена на изучение и практическое освоение методов проектирования, создания баз данных и их последующей эксплуатации.

Важной составляющей в организации учебного процесса при преподавании дисциплины «База данных» является выбор программного обеспечения для управления и создания баз данных [4]. Для работы с базами данных сегодня существует большое число программ: MSOfficeAccess, Paradox, dBase, FoxPro… Безусловно, в каждой из них есть свои достоинства, но есть и недостатки.

Наиболее популярной СУБД при преподавании дисциплины «База данных» является MSAccess [1]. Ее достоинства: простой графический интерфейс; большое количество мастеров, которые выполняют основную работу за пользователя при работе с данными и разработке приложений; ориентированность на пользователя с разной профессиональной подготовкой; широкие возможности по импорту/экспорту данных в различные форматы; наличие развитых встроенных средств разработки приложений; наличие встроенного языка макрокоманд. Недостатки: ограничены возможности обеспечения многопользовательской среды; в ранних версиях (до Access 2003) отсутствуют такие средства, как триггеры и хранимые процедуры; несложные способы защиты с использованием пароля базы данных; в вопросах поддержки целостности данных отвечает только моделям баз данных небольшой и средней сложности; кроме того, MSAccess не распространяется бесплатно.

Проектировать базу данных также можно непосредственно с помощью SQL-команд, используя инструменты MySQL. Однако это весьма кропотливый, сложный и трудоемкий процесс (по крайней мере, на начальных этапах работы студентов с базами данных). В этой связи существует большое число программных продуктов, автоматизирующих этот рутинный процесс.

Одним из современных гибких профессиональных инструментов для работы с MySQL является программа dbForgeStudioforMySQL. С ее помощью автоматизируется проектирование и администрирование баз данных, ввод и редактирование таблиц, создание и выполнение SQL-скриптов, триггеров, запросов. Кроме того, программа dbForgeStudioforMySQL является бесплатной для некоммерческого использования, что, например, облегчает применение ее студентами при выполнении самостоятельной работы вне учебного заведения.

Рассмотрим особенности применения инструмента dbForgeStudioforMySQL при преподавании дисциплины «База данных». Первоначально студенты знакомятся с основными возможностями данной программы [3]. Им предлагаются несложные задания по разработке баз данных, установлению связей между таблицами, наполнению создаваемых баз данных информацией, а также созданию запросов и триггеров. Далее каждый студент выполняет индивидуальное задание по разработке своей базы данных [2].

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

1. Например, стандартной является задача о зачислении абитуриентов на бюджетные места в институт. Абитуриенты сдают экзамены на один или несколько факультетов вуза. Известно расписание экзаменов: дата, предмет экзамена, факультет, на который экзамен сдается. На экзаменах абитуриенты получают оценки. По каждому абитуриенту хранятся некоторые данные, в частности, номер и дата выдачи аттестата. Необходимо создать три таблицы, представляющие собой модель предметной области:

Абитуриенты (Номер абитуриента, Фамилия, Имя, Отчество, Номер аттестата, Дата выдачи аттестата).

Экзамены (Код экзамена, Предмет, Дата проведения экзамена, Тип экзамена, Факультет).

Оценки (Код экзамена, Номер абитуриента, Оценка).

Установить связи между таблицами. Заполнить каждую таблицу записями (не менее 10).

2. Создать следующие запросы:

· Вывести всю возможную информацию об экзаменах, проводимых в вузе.

· Получить фамилии, имена и номера студентов, которых зовут Александр или Александра. Учесть, по возможности, что имя может быть набрано с ошибками или с ведущими пробелами (?).

· Какие абитуриенты получили больше других пятерок?

· Какие абитуриенты сдали математику лучше, чем в среднем сдали различные предметы абитуриенты, поступающие на ВМК?

· По каким предметам проводилось меньше экзаменов, чем по другим?

· Какие абитуриенты сдали все экзамены, которые есть в расписании?

· Найти экзамены, которые пока никто не сдавал.

и т.д.

Следует отметить, что процесс разработки баз данных с помощью инструмента dbForgeStudioforMySQL является более наглядным, что весьма важно при изучении дисциплины «База данных». Так, например, здесь существует два способа конструирования базы данных, создания таблиц базы данных – визуальный способ и способ на основе скрипта [7]. Конечно, на первом этапе разрабатывать базы данных с использованием только SQL-скрипта студентам будет весьма проблематично, в этой связи для начала предпочтительнее использовать визуальный способ разработки. Но, в отличие от MSAccess, в процессе визуального конструирования базы данных в dbForgeStudioforMySQL студент может одновременно наблюдать за изменениями SQL-скрипта, который генерируется программой автоматически, т.е. все, что студент создает визуально, сразу же переводится на язык SQL и отображается в отдельном окне. Так, уже на первом этапе работы с базами данных студенты могут ознакомиться с основными командами SQL. Постепенно, работая с базами данных, студенты запоминают основные команды и в дальнейшем могут самостоятельно записывать SQL-скрипты и выполнять их. Таким образом, все действия пользователя переводятся на язык SQL, что весьма полезно начинающим пользователям.

Рассмотрим процесс создания таблицы «Abiturient». Укажем название таблицы, названия необходимых полей, их типы, размеры, определим ключевое поле таблицы.

Рис. 1. Скрипт создания таблицы «Abiturient» базы данных

Код создания таблицы сразу же отображается в окне скрипта – все действия переводятся на язык SQL. Вносить изменения в окне скрипта нельзя, однако можно перейти по кнопке «Скрипт изменений», и уже после этого код создания таблицы становится доступным для редактирования.

Аналогично, визуально или с помощью скрипта, можно создать остальные таблицы «ekzamen» и «ocenki» базы данных.

Для создания связей между таблицами в ограничениях таблицы «ocenki» следует создать первый внешний ключ, ссылаясь на столбец – первичный ключ «nomer_abit» таблицы «abiturient», и второй внешний ключ, ссылаясь на столбец – первичный ключ «Kod_ekz» таблицы «ekzamen».

Для просмотра установленных связей необходимо выбрать во вкладке «База данных» пункт «Связанные таблицы» и перетащить из проводника необходимые для отображения таблицы.

Рис. 2. Связанные таблицы

В dbForgeStudio также существует весьма интересная и полезная операция по созданию запросов. Создавать запросы можно визуально или с помощью скрипта.

Ниже представлен достаточно несложный запрос абитуриентов, сдавших какой-либо экзамен на оценку «5» (визуальный режим, генерируемый скрипт, а также результат выполнения запроса).

Рис. 3. Разработка запроса

Также возможны задания по администрированию баз данных. dbForgeStudio позволяет осуществлять администрирование разрабатываемых баз данных. Здесь можно добавлять новых пользователей, назначать им определенные роли, привилегии и т.д.

Новому пользователю могут принадлежать все права, все права на все базы данных, права на создание и обратное проектированию любой БД, права создавать учетные записи и сбрасывать пароли, минимальный набор прав для мониторинга сервера и т.д. Новый пользователь может быть наделен объектными привилегиями, т.е. выбираются объекты (конкретные таблицы, базы данных) и для них определяются привилегии: Select, Delete, Insert, Update, Create...

Рассмотрим процесс наделения пользователя объектными привилегиями.

Добавим нового пользователя user 1. В качестве объектных привилегий выберем для него таблицу test и привилегию – Select.

В этом случае, кроме операции Select, пользователю user 1 будет невозможно выполнять иные операции. Например, нельзя будет удалить какие-либо записи, так как данному пользователю будет доступна только команда SELECT (а не DELETE).

Для добавления дополнительных привилегий необходимо снова зайти в Менеджер безопасности и выбрать в правом столбце нужную команду, например, DELETE:

Рис. 4. Наделение пользователя объектными привилегиями

Заключение

Программа dbForgeStudioforMySQL имеет удобный графический интерфейс, может использоваться пользователями с разной профессиональной подготовкой. Многие операции в данной программе, выполняемые визуально, понятны на интуитивном уровне, что облегчает ее применение начинающими пользователями. Кроме того, dbForgeStudio предоставляет широкие возможности по импорту/экспорту данных в различные форматы, по работе с триггерами, администрированию баз данных.

Таким образом, dbForgeStudioforMySQL может успешно применяться для обучения студентов дисциплине «Базы данных».