Научная статья на тему 'Сравнительная характеристика средств автоматизированной проверки правильности составления SQL-запросов'

Сравнительная характеристика средств автоматизированной проверки правильности составления SQL-запросов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
898
49
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БАЗА ДАННЫХ / ТЕНЕВАЯ БАЗА ДАННЫХ / ТАБЛИЦА / ЗАПИСЬ / СХЕМА БД / SQL-ЗАПРОС / АТАКА / СИСТЕМА ТЕСТИРОВАНИЯ / АВТОМАТИЗИРОВАННАЯ СИСТЕМА / СУБД / DATABASE / SHADOW DATABASE / TABLE / RECORD / DB SCHEME / SQL-REQUEST / ATTACK / TESTING SYSTEM / AUTOMATED SYSTEM / DBMS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Семенова З.В., Любич С.А., Кузнецов А.Г., Мальцев П.А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

COMPARATIVE CHARACTERISTIC OF MEANS OF AUTOMATED CHECK OF THE CORRECTNESS OF WRITING OF SQL REQUESTS

The article presents an analysis of resources that can be used to test users who study the SQL language. Also, the article describes plan and result of the attack on web applications for learning the SQL language. There are some weaknesses of web applications in terms of their ability to verify the correctness of the compilation of SQL queries, which are also describes here. The conclusion deals with is made about the expediency of developing a specialized test system for verifying the correctness of writing SQL-queries.

Текст научной работы на тему «Сравнительная характеристика средств автоматизированной проверки правильности составления SQL-запросов»

РАЗДЕЛ IV. ИНФОРМАТИКА, ВЫЧИСЛИТЕТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ

УДК 004.655.3

СРАВНИТЕЛЬНАЯ ХАРАКТЕРИСТИКА СРЕДСТВ АВТОМАТИЗИРОВАННОЙ ПРОВЕРКИ ПРАВИЛЬНОСТИ СОСТАВЛЕНИЯ SQL-ЗАПРОСОВ

З.В.Семенова, С.А. Любич, А.Г. Кузнецов, П.А.Мальцев ФГБОУ ВО «СибАДИ», г. Омск, Россия

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

Ключевые слова: база данных, теневая база данных, таблица, запись, схема БД, SQL-запрос, атака, система тестирования, автоматизированная система, СУБД.

ВВЕДЕНИЕ

Как известно, превалирующим типом СУБД, используемом для создания баз данных, в частности для корпоративных ИС, является реляционная система управления БД (SQL-o-риентированная). Доказательством этому может, например, служить количество вакансий, предъявляющих требование к знанию SQL (на момент написания статьи, согласно сайту HeadHunter.ru, количество подобных вакансий превышало 8 тысяч). Как показал опрос, проведенный в 2016 году известным российским аналитическим агентством Тэглайн (Tagline. ru), 99,5% респондентов отдают предпочтение именно им [1]. Заметим, что в опросе принимали участия компании, занимающиеся разработкой баз данных. Это свидетельствует, что спрос на специалистов, владеющих языком SQL, будет в ближайшем будущем только расти. Существует и ряд других факторов, обуславливающих такой рост.

Во-первых, современные тенденции ежегодного увеличения вдвое объемов и источни-

ков информации, на что указывает международная исследовательская и консалтинговая компания International Data Corporation (IDC), занимающаяся изучением мирового рынка информационных технологий и телекоммуникаций. Во-вторых, вступил в силу Федеральный закон № 242-ФЗ, в котором указано, что «операторы должны при сборе персональных данных, в том числе посредством Интернета, обеспечить запись, систематизацию, накопление, хранение, уточнение (обновление, изменение), извлечение персональных данных граждан РФ с использованием баз данных, находящихся на территории нашей страны» [2]. И, наконец, процесс оцифровки уже накопленных данных (архивы, библиотеки, кадастры и пр.). Все это, очевидно также повлияет на повышение спроса на специалистов в области реляционных СУБД, владеющих языком SQL, а, следовательно, и на популярность использования ресурсов и систем, которые позволяют (при обучении SQL) контролировать правильность составленных запросов.

ПОСТАНОВКА ЗАДАЧИ

Существует значительное количество программных средств (систем, сервисов и пр.), позволяющих осуществлять тестирование пользователей. Исходя из контекста проведенного нами исследования, разделим их на две основные группы:

• общего назначения;

• для проверки (или тренинга) написания SQL-запросов.

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

ХАРАКТЕРИСТИКА СИСТЕМ ОБЩЕГО НАЗНАЧЕНИЯ

Системы общего назначения могут быть использованы для обучения и тестирования по различным предметам. Условно и их можно разделить на две группы. Одна из них - это системы или сервисы, которые реализуют лишь одну функцию - тестирование.

Это, например, программная система SunRav TestOfficePro, предназначенная для контроля и проверки знаний. Состоит она из трех программ: для создания тестов, проведения тестирования, анализа результатов компьютерного тестирования. Другая программа - TestOfficePro работает в локальной сети и на компьютерах, не подключенных к сети (возможно тестирование с флеш-накопителей, компакт-дисков без установки программы). В публикациях освещены основные возможности таких программ для тестирования, как UniTest System VeralTest, «Конструктор тестов», INDIGO и другие [3].

Другая группа - это системы или сервисы, функция тестирования в которых является лишь составляющей. Одним из таких сервисов, например, является сервис ¡Spring Online. Сервис позволяет размещать в облаке курсы, тесты, поддерживает аудио, видео и документы, умеет рассылать приглашения и измерять эффективность обучения.

Одной из наиболее распространенной систем указанной группы, широко используемой в системе высшего образования, является система управления курсами Moodle. Moodle

(Modular Object-Oriented Dynamic Learning Environment) - модульная объектно-ориентированная динамическая учебная среда, имеющая по оценкам компании «Открытые Технологии» более 60 тысяч инсталляций, реализованных более чем в 100 странах мира [4].

Среда имеет такой элемент курса, как «Тест», позволяющий составлять в рамках базовой сборки Moodle разнообразные типы тестовых вопросов: «выбор одного/нескольких из нескольких»; «верно/не верно»; «краткий открытый ответ (или «вопрос с пропуском»)»; «числовой ответ»; «вычисляемый (по формуле) ответ»; «установление соответствия»; «эссе (проверяется вручную)»; «вложенные ответы (комбинированный)».

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

Среди указанных типов тестовых вопросов для проверки правильности написания SQL-запросов могут подойти лишь три: «выбор одного/нескольких из нескольких», «краткий открытый ответ (или «вопрос с пропуском»)» и «установление соответствия».

При построении тестового вопроса на «выбор одного/нескольких из нескольких», составитель может предусмотреть несколько вариантов правильных ответов. Тестовый вопрос типа «Установление соответствия» реализован стандартно. Существенным недостатком этих двух типов является то, что обучающемуся не приходится самостоятельно составлять SQL-запросы. Высока вероятность «отгадывания» правильного ответа. Частично в Moodle и других, описанных выше системах, эта проблема может быть решена за счет использования такого типа вопроса, как «краткий открытый ответ». Он позволяет предложить пользователю либо написать полностью SQL-запрос, либо какую-то его часть (в зависимости от формулировки тестового задания). В этом случае проверка правильности ответа в Moodle опирается на механизм сравнения нормализованных строк. Правила нормализации можно задать в системе (например, учитывать или нет верхний регистр). В некоторых системах можно задать удаление пробелов.

Существенным недостаткам является то, что разработчик теста может не учесть все

Таблица 1

ОПИСАНИЕ ПОЛЕЙ БАЗЫ ДАННЫХ «BOOKSHOP»

Таблица «Book» Таблица «Publishing_house»

Имя поля Тип Coдepжимoe Имя поля Тип Содержимое

ID_book (PK) целое Идентификатор книги ID_Publish целое Идентификатор издательства

Author строковое Автор книги Name строковое Название издательства

Name_book строковое Название книги City строковое Город издательства

Page целое

Year_Pub целое

ID_Publish (FK)

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

Пусть имеется следующее задание. База данных «BookShop» состоит из двух таблиц «Book» и «Publishing_house», описание полей представлено в таблице 1. Выдать список книг (указать автора, название книги, год, город), опубликованных в 2016 и в 2017 годах в издательствах, расположенных в городе Омск и Москва.

Вариант верно составленного SQL-запроса.

SELECT Author, Name_book, Year_Pub, City

FROM Book, Publishing_house

WHERE (Year_Pub=2016 OR Year_Pub =2017) AND (City = «Омск» OR City = «Москва») AND

(Book.ID_Publish = Publishing_house.ID_ Publish)

Однако этот вариант является далеко не единственным. Вместо логического выражения, выступающим фильтром по году издания (Year_Pub=2016 OR Year_Pub =2017) на SQL можно составить эквивалентные:

• Year_Pub In (2016, 2017)

• Year_Pub In (2017, 2016)

• (Year_Pub>=2016 AND Year_Pub <=2017)

• (Year_Pub<=2017 AND Year_Pub>=2016)

Аналогично можно иначе представить логическое выражение, выступающее фильтром по названию города, где расположено издательство. Кроме того, иначе можно описать и связи таблиц (не через предложение WHERE, а через предложение JOIN). Таким образом, даже при столь простом запросе правильных ответов может быть достаточно много и преду-

смотреть все варианты достаточно трудно.

Другим недостатком (скорее его можно отнести к неудобству) является то, что пользователю не предъявляется результат запроса, если составленный запрос был неверным с точки зрения формулировки задания, а синтаксически был оформлен корректно. Более того, в таком случае целесообразно, чтобы система выдавала 2 результата: результат, соответствующий составленному пользователем запросу и верный результат.

Сказанное свидетельствует, что эффективность проверки правильности составления SQL-запросов в тестовых системах общего назначения недостаточна высока.

ХАРАКТЕРИСТИКА СИСТЕМ ОБУЧЕНИЯ И ТЕСТИРОВАНИЯ ПО SQL

В сети интернет можно найти немалое количество онлайн курсов по SQL. Все они включают компонент по проверке правильности составления SQL-запросов, а в некоторых случаях проверку теоретических знаний. Кратко охарактеризуем некоторые из них.

Codecademy - это бесплатная онлайн платформа для изучения различных языков программирования. Кроме того, пользователи данного сайта могут пройти курс под названием «Learning SQL», ориентированного на обучение составлению SQL-запросов.

В рамках бесплатной версии пользователю предоставляется ограниченное количество заданий по данному курсу, а именно «Манипуляция с данными», «Команда SELECT ... FROM». Обучение таким предложениям команды SELECT, как «Where», «Order by», «group by», «union» и так далее доступно

только в платной версии сайта. В рамках этого курса существуют еще несколько разделов обучения: «Запросы и подзапросы», «Агрегированные функции», «Несколько таблиц».

TestDome - это абсолютно бесплатная система для обучения таким языкам программирования, как C#, PHP, JavaScript, Java, Python, C++, C и Ruby. Кроме того, существуют обучающие курсы, направленные на правильное написание SQL-запросов не только для обучения синтаксиса языка выборки данных, но и для приобретения навыков работы с базами данных в различных языках программирования.

В рамках раздела «Database technology» существует курс «SQL 15 minutes», который и представляет наибольшую ценность как аналогичная система по сравнению с ранее разработанной.

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

SQL-EX - ресурс, ориентированный на приобретение навыков в написании операторов манипуляции данными языка SQL. Пользователь, выполняющий тестовое задание, вводит свой вариант SQL-запроса. При этом в случае неправильного ответа система сообщает об этом, а при правильном или синтаксически верном запросе система возвращает результат и визиализирует его. Предусмотрена возможность выполнять любые операторы DML к имеющимся базам данных, отключив опцию проверки. Предлагаются задания на выборку и на модификацию данных [5].

SQL Zoo - ресурс предлагает изучить SQL, ориентируясь на использование таких СУБД, как SQL Server, Oracle, MySQL, DB2 и PostgreSQL. Ресурс выполнен в виде электронного онлайн-учебника по SQL и предусматривает освоение таких SQL-предложе-ний, как SELECT, CREATE, ALTER и DELETE. Кроме того, рассматриваются предложения GROUP BY, индексы, представления, соединения SQL, подзапросы, обработка значений NULL в SQL и т. д. SQLZoo также имеет несколько тестов SQL для проверки знаний [6].

Academy.vertabelo - этот ресурс предлагает на выбор несколько курсов: «SQL-запросы», «Работа с данными в SQL», «Создание таблиц в SQL». Каждый курс включает в себя десятки интерактивных упражнений с подробным объяснением теории урока и интерактивную консоль, которая проверяет решение пользователя. После завершения всех уроков предоставляется возможность пройти итоговое тестирование, чтобы проверить знания. Контет является платным, возможность бесплатно опробовать его возможности [7]

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

Рис. 1. Блок-схема алгоритма атаки «Обход решения»

В ходе эксперимента реализовать атаку «Обход решения» удалось для нескольких из представленных ресурсов. Для этого использовались следующие методы:

• выборка по другому полю или полям, не соответствующих запросу;

• сокращение количества записей;

• вывод нужного числового значения.

2.

Ы

How to use WHERE to filter records. Show the name for the countries that have a population of at least 200 million. 200 million is 200000000. there are eight zeros.

у SELECT лапе FROM world

WHERE name ='Brazil" or name = 'China' or name ='India' or name

- 'Indonesia' or name = 'United States1

A

Submit SQL

Restore default

Correct answer

name

Brazii

China

India

Indonesia

United States

Рис. 2. Результат выполнения запроса

Рис. 3. Результат выполнения неверного запроса

Так, например, при прохождении тестирования на ресурсе SQL Zoo было предложено следующее тестовое задание: «Вывести названия стран, население которых составляет более 200 миллионов (рисунок 2) Как видно из рисунка 2, составленное нами логическое

выражение в предложении Where не является корректным: вместо выражения population > 200000000 было использовано совсем другое: name - Brazil' OR name - China' OR name -India' OR name = 'Indonesia' OR name -'United States' При этом система оценила ответ, как верный.

Аналогичная атака увенчалась успехом и для ресурса vertabelo (academy.vertabelo. com). Системой в процессе тестирования было предложено задание, в соответствии с которым необходимо было вывести информацию о машинах, которые были произведены в 1999 году. Исходные данные для выполнения задания представлены в таблице 2.

Анализ содержимого таблицы позволил составить запрос не соответствующий поставленной задаче, но система приняла его, как верный, предложив перейти к другому заданию (рисунке 3).

Многие ресурсы атаку такого вида не пропускают. Так, например, ресурс sql-ex.ru успешно с ней справился, что обусловлено

Текущий рейтинг

Неверно.

Ваш запрос вернул правильные данные на основной 6азе.|но не прошел тест на проверочной базе.

' Неверное число ялйни (меньше иа 2)

Результат выполнения Вашего запроса:

model

1232

Рис. 4. Результат выполнения неверного запроса на ресурсе SQL-EX.RU

Таблица 2 ДАННЫЕ ТАБЛИЦЫ "CAR"

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

VIN BRAND MODEL PRICE PRODUCTION_ YEAR

LJCPCBLCX14500264 Ford Focus 8000.00 2005

WPOZZZ79ZTS372128 Ford Fusion 12500.00 2008

JF1BR93D7BG498281 Toyota Avensis 11300.00 1999

KLATF08Y1VB363636 Volkswagen Golf 3270.00 1992

1M8GDM9AXKP042788 Volkswagen Golf 13000.00 2010

1HGCM82633A004352 Volkswagen Jetta 6420.00 2003

1G1YZ23J9P5800003 Fiat Punto 5700.00 1999

GS723HDSAK2399002 Opel Corsa null 2007

наличием теневой (проверочной) базы данных (рисунок 4). Несмотря на то, что на основной базе данных был получен верный результат (верная выдача) при некорректном ответе (с точки зрения формулировки задания), ответ не был защитан.

Далее рассмотрим, как можно реализовать атаку «Обход решения» следующим методом. Сокращение количества записей - это вид некорректных SQL-запросов, в которых для достижения нужно результата используется оператор "TOP", обеспечивающий вывод лишь первых N записей. Очевидно, что остальные записи не анализируются (отсекаются). В качестве исходных данных возьмем таблицу New_car (рисунок 5) и следующее тестовое задание: «Используя предложение "WHERE", вывести все данные для автомобилей, модель (поле Model) которых равна 'RAV4'.

New_car

Id Brand Model Year

1 Toyota RAV4 2016

2 Subaru Forester 2014

3 Lada Granta 2015

4 Lada Priora 2015

5 Nissan Almera 2017

Рис. 5. Таблица New_car

Результат корректно составленного SQL-запроса, который выглядит следующим образом: SELECT * FROM New_car WHERE Model=

'RAV4';, представлен на рисунке 5.

Id Brand Model Year

1 Toyota RAV4 2016

Рис. 6. Результат выполнения корректного запроса по значению поля Model

Анализируя полученный результат, представленный на рисунке 6, можно заметить, что в данном случае необходимая запись - первая в таблице. Чтобы ее получить, достаточно выполнить один из следующих SQL-запросов (в зависимости от типа СУБД):

SELECT * FROM New_car LIMIT 1; SELECT TOP(1) * FROM New_car; Очевидно, что с точки зрения формулировки задания данные запросы являются некорректными, при этом итоговый результат верен. Проведенные нами атаки на ресурсы показали, что не все из исследуемых ресурсов защищены от этого (таблица 3)

Аналогичные результаты были получены нами при использовании метода «Вывод нужного числа».

Вывод нужного числа - это вид некорректных SQL-запросов, в которых для получения нужного числа применяются агрегатные функции "COUNT" "AVG", "SUM", "MIN", "MAX" совместно со знаками сложения или вычитания. Как правило, они применяется в случае, если в задании необходимо что-то посчитать и вывести число в качестве результата. Рассмотрим задание на применение агрегатной функции count, в котором пользователю необходимо вывести количество автомобилей бренда (поле Brand) Lada. База данных состоит из одной, ранее представленной таблицы New_Car (рис. 7).

Запрос удовлетворяет условию задания, будет иметь следующий вид: SELECT COUNT(

SELECT * FROM Cars WHERE Brand = 'Lada'

) FROM Cars;

Результат данного запроса будет выглядеть так, как это представлено рисунке 6.

Count 2

Рис.7. Результат выполнения корректного

запроса

Анализируя данные исходной таблицы (рисунок 5) можно заметить, что количество автомобилей, поле Brand которых имеет значение «Lada» - 2. С помощью агрегатной функции "COUNT(*)" без оператора "WHERE" можно получить тот же результат, что и в случае составления запроса, отвечающего условию задания. Подобный запрос будет иметь следующий вид:

SELECT count(*)-3 FROM Cars;

Из проанализированных нами шести ресурсов подобную атаку не смогли распознать и отразить три (таблица 3).

Есть и еще один аспект анализа - нечувствительность к порядку полей в команде SELECT. Следует заметить, что в большинстве случаев в заданиях на составление SQL-запросов в явном виде перечисляются поля, значения которых необходимо вывести. При этом, на наш взгляд, порядок следова-

Таблица 3

СРАВНИТЕЛЬНАЯ ХАРАКТЕРИСТИКА РЕСУРСОВ ПО ОБУЧЕНИЮ ЯЗЫКУ SQL

Характеристики сервисов CodeWars Sql-ex Academy. vertabelo SQL Zoo TestDome Codecade-my

Бесплатность сервиса + + +/- + + +/-

Возможность выполнять SQL-запросы + + + + + +

Возможность выполнять запросы на выборку + + + + + +

Невозможность подбора результата при замене полей + + - - + -

Невозможность подбора результата при сокращении количества записей + + + +

Невозможность подбора результата при выводе нужного числового значения + + +

Нечувствительность к порядку полей в команде SELECT - - - - - -

Невозможность модификации данных и таблиц + + + + + -

Возможность использования в учебном процессе (в соответствии с программой курса)

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

В систематизированном виде результаты проведенных экспериментов представлены в таблице 3.

ЗАКЛЮЧЕНИЕ

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

работки навыков написания сложных SQL-запросов их применение нецелесообразно. Что касается специализированных ресурсов, то многие из них могут неправильно составленный пользователем запрос (с точки зрения требований задания) оценить, как верный, что во многом обусловлено отсутствием теневой БД. Кроме того, все из проанализированных нами ресурсов не обладают таким свойством, как «нечувствительность к порядку полей в команде SELECT» и не характеризуются возможностью использования в учебном процессе (в соответствии с логикой учебного курса). Полученные результаты следует использовать при разработке системы для проверки правильности составления SQL-запросов, которое должно быть лишено подобных недостатков.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Рейтинг систем управления базами данных (СУБД) 2016. [Электронный ресурс].

- Режим доступа: http://tagline.ru/database-management-systems-rating/

2. Вступил в силу закон о хранении и обработке персональных данных россиян с использованием серверов, находящихся на территории России. ГАРАНТ.РУ: [Электронный ресурс]. - Режим доступа: http://www.garant.ru/ news/648095/#ixzz4fqIthNDx

3. Перовская С. VeralTest Express 2.6: тесты на все случаи жизни: [Электронный ресурс]. -http://www.softkey.info/reviews/review16552.php

4. Moodle - система дистанционного обучения: [Электронный ресурс]. - Режим доступа: https://opentechnology.ru/products/moodle

5. SQL тренажер [Электронный ресурс]. -Режим доступа: http://www.sql-ex.ru.

6. Websites to Learn SQL Online for FREE. [Электронный ресурс]. - Режим доступа: http:// javarevisited.blogspot.ru/2015/06/5-websites-to-learn-sql-online-for-free.html

7. Курсы по SQL [Электронный ресурс]. -Режим доступа: https://academy.vertabelo.com

COMPARATIVE CHARACTERISTIC OF MEANS OF AUTOMATED CHECK OF THE CORRECTNESS OF WRITING OF SQL REQUESTS

Z.v. Semenova, S.a. lYubich, a.g. Kuznetsov, p.a. Mal'tsev

Annotation. The article presents an analysis of resources that can be used to test users who study the SQL language. Also, the article describes plan and result of the attack on web applications for learning the SQL language. There are some weaknesses of web applications in terms of their ability to verify the correctness of the compilation of SQL queries, which are also describes here. The conclusion deals with is made about the expediency of developing a specialized test system for verifying the correctness of writing SQL-queries.

Keywords: database, shadow database, table, record, DB scheme, SQL-request, attack, testing system, automated system, DBMS.

REFERENCES

1. Reyting sistem upravleniya bazami danny-kh (SUBD) 2016. Available at: http://tagline.ru/ database-management-systems-rating/

2. Vstupil v silu zakon o sokhranenii i obra-botke personal'nykh dannykh s ispol'zovaniyem serverov, nakhodyashchikhsya na territorii Rossii. GARANT.RU. Available at: http://www.garant.ru/ news/648095/#ixzz4fqIthNDx

3. Perovskaya S. VeralTest Express 2.6: testy na vse sluchai zhizni. Available at: http://www. softkey.info/reviews/review16552.php

4. Moodle - sistema distantsionnogo obu-cheniya. Available at: https://opentechnology.ru/ products/moodle

5. SQL trenazher. Available at: http://www.sql-ex.ru.5. SQL trainer (electronic resource): http:// www.sql-ex.ru

6. Websites to Learn SQL Online for FREE. (electronic resource): http://javarevisited.blog-spot.ru/2015/06/5-websites-to-learn-sql-online-for-free.html

7. Kursy po SQL. Available at: https://acade-my.vertabelo.com

ИНФОРМАЦИЯ ОБ АВТОРАХ

Семенова Зинаида Васильевна - доктор педагогических наук, профессор, заведующая кафедрой «Информационная безопасность», СибАДИ. (E-mail: semenova.z.v@gmail.com).

Semenova Zinaida Vasil'yevna - doctor of pedagogical sciences, professor, head of the department of Information Security, Siberian State Automobile and Highway University (SibADI) (E-mail: semenova.z.v@gmail.com).

Любич Станислав Александрович - старший преподаватель кафедры «Информационная безопасность», СибАДИ (E-mail: ljubich.s.a@mail.ru).

Lyubich Stanislav Alexandrovich - senior lecturer of the department of Information Security, Siberian State Automobile and Highway University (SibADI), (E-mail: ljubich.s.a@mail.ru).

Кузнецов Артем Гзннадьевич - студент группы Биб13-И1, СибАДИ (E-mail:Automobile and Highway University (SibADI).).

Kuznetsov Artem Gennad'yevich - student, department department of Information Security, Siberian State.

Мальцев Павел Андреевич - студент группы Биб13-И1, СибАДИ (E-mail: zeden123@ gmail.com).

Mal'tsev Pavel Andreyevich - student, department department of Information Security, Siberian State Automobile and Highway University (SibADI) (E-mail: zeden123@gmail.com).

УДК 004.4'2, 658.8

ОСОБЕННОСТИ ПРОЕКТИРОВАНИЯ ИНТЕРНЕТ-ПРОЕКТОВ ПО ПРОДАЖЕ И ПРОДВИЖЕНИЮ НА РЫНОК СТРОИТЕЛЬНЫХ МАТЕРИАЛОВ

Е.С. Марченко, О.С. Сафин, Л.И. Остринская ФГБОУ ВО «СибАДИ», г. Омск, Россия

Аннотация. В современном мире существует необходимость в автоматизации процесса взаимодействия компаний с клиентами. Интернет-пространство позволяет в этом достичь хороших результатов через применение различных моделей электронного бизнеса, правильный выбор модели и способа её реализации приведет к хорошим показателям на выходе. Важно не забывать, что создание проекта электронного бизнеса объединяет в жизненном цикле не только мероприятия проектирования и интеграции существующих систем, но и различные методы цифрового-маркетинга, оптимизирующие способы продвижению товаров на рынок. Особенности проектирования интернет-проектов рассмотрены на примере реальной компании.

Ключевые слова: электронный бизнес, проектирование интернет-проекта, торговая интернет-система, строительные материалы, интернет-маркетинг.

ВВЕДЕНИЕ

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

и средств продвижения интернет-проектов. В настоящее время множество предприятий, работающих в различных сферах и уже использующих интернет-технологии в качестве основного инструмента взаимодействия с клиентом осознали необходимость активного применения таких решений. Для большинства таких объектов эти модели электронного бизнеса становятся крупными инвестиционными 1Т-проектами и основными технологиями взаимодействия с клиентами [1].

РАЗНОВИДНОСТЬ МОДЕЛЕЙ ЭЛЕКТРОННОГО БИЗНЕСА

При проектировании и разработке интернет-проектов ведения электронного бизнеса

i Надоели баннеры? Вы всегда можете отключить рекламу.