Юрий Копнин
Мыслитель
(8117)
6 лет назад
Когда то мне все это казалось не реально сложным и я долго игнорировал SQL, теперь могу сказать у страха глаза велики, был дураком и потерял время, все не так сложно и не так страшно.. когда ко мне приходят студенты на практику, они тоже округляют глаза и спрашивают - это вообще кто-то использует?..
Но я весь SQL могу рассказать в 2х словах...
Первое что нужно понимать, язык SQL применяется в основном для реляционных баз данных, где данные хранятся в таблицах. Нужно понимание реляционных баз и 12 правил Кодда.
Язык SQL делится на 2 части: DDL и DML.
1: DDL это Data Definition Language - язык описания данных, с помощью него создают и модифицируют таблицы, триггеры, хранимые процедуры. Это можно так сказать, системная часть, которая создает хранилище и обработку (если надо) для ваших данных, описывает их структуру. Учить не надо, нужно просто прочитать для понимания, современные средства разработки берут рутину по DDL на себя, Вам просто нужно понимать что там происходит..
2: DML - Data Manipulation Language, это язык управления данными. Раз все данные хранятся в таблицах, то у вас 4 основных операции;
1: Выбрать данные из таблицы - команда SELECT
2: Вставка данных в таблицу - команда INSERT
3: Обновление данных в таблице - команда UPDATE
4: Удаление данных из таблицы - команда DELETE
Вот и весь SQL, особняком стоит расширение SQL для хранимых процедур - это программы, которые обрабатывают данные и хранятся прямо на SQL сервере, но они используются все реже и реже и не факт что Вам понадобятся, т. к. современные методы программирования, например Web, предполагают вынос обработки данных на сервер приложений а не в хранимые процедуры.. Но все равно как въедете в SQL с хранимыми процедурами стоит ознакомиться.
Для QA инженера без этих понятий вообще нет смысла работы с корпоративным ПО или другим ПО использующим базы данных.
Алексей интересный
Гуру
(2935)
6 лет назад
это язык запросов. вот к примеру ты приходишь в магазин и говоришь, дайте мне колбасы, и тебе продавщица выдает всю колбасу что у них есть в магазине и докторску и сервилат и краковскую и и и. Ты смотришь на это и думаешь, что неее тебе нужна только один вид. И уточняешь свой запрос. А дайте мне колбасу, докторску. И тебе продавщица опять наваливает весь прилавок колбасой всей что у нее есть из докторской... ты опять смотришь и думаешь что столько не съешь и уточняешь... дайте мне колбасу докторскую, одну штучку. и ты получаешь одну колбасу докторскую одну штучку. ты смотришь на нее а она и колбаса и докторская и даже колличество совпадает, но она уже старая и зеленая, т. к. залежалсь давно... и ты собрав всю волю в кулак выдаешь последнее свое требование, дайте мне колбасу докторскую одну штучку из последнего привоза . И вот ты получаешь то что тебе надо было. Вот это и называется SQL . Вопрос сколько его учить, он учиться очень легко, и быстро думаю пару часов хватит, но надо практиковаться.
Jurijus Zaksas
Искусственный Интеллект
(473288)
6 лет назад
Язык запросов. Все операции с данными основаны на теории множеств, и этот язык в первом приближении - попытка записать математические операции со множествами натуральным языком. Но такой академический подход вовсе необязателен при его изучении, если с математикой у тебя проблемы. Можно подходить чисто утилитарно.
Простые запросы можно научиться писать за день-другой, если котелок варит, и не научиться никогда, если нет.
Зачем он QA - вопрос сложный. Дело в том, что хотя язык и несложный, чтобы им пользоваться нужно знать структуру конкретной БД, которая может быть весьма произвольной. К тому же, запрос может сам по себе содержать в себе ошибки, и можно понаоткрывать тикетов, которые программеры закроют с пометкой "сам дурак". Если таких соберется достаточно много, начальник отдела QA будет немножко недоволен.
Но, если все в порядке, можно с его помощью проверять, правильно ли программа показывает данные, производит расчеты и т. д.. Повторюсь, если результаты не совпадут, это не значит, что ошибка в программе - она запросто может быть и в твоем запросе.
Danny Lee
Гуру
(4943)
6 лет назад
Тестировщикам язык запросов нужен, чтобы точнее формулировать всевозможные ошибки в базах данных. Даже крупные поисковики - это своего рода базы данных, хранящие информацию про все сайты. Чтобы такие базы данных защитить от хакерских атак, большую работу проделали тестировщики.