• Главная <
  • Галерея
  • Карта сайта
  • Наши контакты
  • Обратная связь

Робота з MySQL за допомогою dbForge Studio

Більше 20 тис. Вакансій, відкритих для ІТ-фахівців в останньому кварталі 2012 р, вимагають від кандидатів знання мови запитів SQL .

Знання SQL - найбільш поширена вимога до ІТ-фахівцям, незважаючи на те, що в 4 кварталі 2012 р потреба у фахівцях з баз даних знизилася на 1,4% в порівнянні з 3 кварталом 2012 р Проте, в 20660 вакансії в серед вимог до навичок співробітника вказано знання SQL.

Британська рекрутингова компанія CW Jobs

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

Одним з таких гнучких професійних інструментів для розробників і користувачів MySQL є програма dbForge Studio for SQL від компанії Devart . З її допомогою автоматизуються рутинні завдання розробки і адміністрування MySQL: проектування бази даних, введення та редагування даних таблиць, створення і виконання SQL-скриптів , Запитів і тригерів і ін. Програма є безкоштовною для приватного некомерційного використання і для навчальних закладів.

Програма має російську локалізацію, проте її довідковий посібник (до речі, досить непогане) є тільки на англійській мові. Якось на форумі програми я вичитав пояснення розробників програми з приводу відсутності російської версії довідки. Суть його така: ми і так надаємо можливість безкоштовного використання програми, так що вимагати від нас ще й локалізації (і підтримки) довідки, м'яко кажучи, не коректно, що, на мій погляд, повністю справедливо. З іншого боку, непогано б мати якесь уявлення про продукт саме російською мовою, тим більше літератури по ній я не зустрічав (хоча, припускаю, десь вона і є). Тому сподіваюся, що дана стаття допоможе комусь розібратися з даними, досить непоганим програмним продуктом.

У статті розглядається остання на момент написання версія програми 6.0.265.


інтерфейс програми

Основне вікно програми поділено на кілька областей (панелей):

  1. Провідник баз даних. Структурований у вигляді дерева перелік об'єктів баз даних, об'єднаних у функціональні групи.
  2. Властивості. Відображає властивості обраного об'єкта.
  3. Головне вікно. Робоче вікно, в якому здійснюються всі дії з базою даних.
  4. Проект.
  5. Вікно виведення. Висновок повідомлень системи.

Висновок повідомлень системи

Зазначу, що інформація панелей не завжди автоматично оновлюється. Тому, якщо ви не спостерігаєте проведених змін, то спробуйте на панелі провідника програми викликати контекстне меню на імені з'єднання і вибрати з нього пункт "Оновити" або натиснути функціональну клавішу <F5>, або на панелі інструментів вікна провідника натиснути кнопку Зазначу, що інформація панелей не завжди автоматично оновлюється "Оновити інформацію схеми".


Підключення до сервера MySQL

Після завантаження програми слід з'єднатися з сервером. Якщо це робиться вперше, то на панелі інструментів вікна провідника необхідно натиснути кнопку Після завантаження програми слід з'єднатися з сервером "Нове з'єднання", після чого з'явиться вікно "Властивості з'єднання бази даних", в якому вказуються параметри з'єднання з сервером:

  1. IP-адреса хоста, на якому розташована база даних.
  2. Порт (за замовчуванням "3306").
  3. Ім'я користувача.
  4. Його пароль.
  5. Можна також вказати базу даних, з якої автоматично буде здійснюватися робота після установки з'єднання.

Можна також вказати базу даних, з якої автоматично буде здійснюватися робота після установки з'єднання

Для перевірки правильності введених параметрів клацніть кнопку "Перевірити". При успішному з'єднанні з сервером піде повідомлення: "З'єднання встановлено".

Після успішного підключення до сервера на панелі провідника програми з'явиться перелік баз даних на сервері, причому на кореневому рівні знаходиться назва з'єднання. Одночасно у вікні виводу з'являється повідомлення про встановлення з'єднання з сервером.

При наступних завантаженнях dbForge Studio for SQL створювати нове з'єднання не потрібно, просто необхідно відновити з'єднання з сервером. Це можна зробити різними способами, наприклад, викликати контекстне меню на імені з'єднання на панелі провідника програми і вибрати з нього пункт "Відкрити (з'єднання)" або просто двічі клацнути на імені з'єднання.


Створення бази даних

  1. Для створення нової бази даних слід виконати команду База даних> Нова база даних ..., після чого з'явиться вікно "Створити нову базу даних".
  2. В поле "Назва" вводиться довільне ім'я.
  3. У списку "Кодування" задається кодування даних. Природно, при роботі з кирилицею слід вибрати російську кодування для Windows "cp 1251".
  4. У списку "Зіставлення" задається правило для роботи з даними таблиць. Наприклад, для роботи з даними російською мовою вибирається набір для "cp 1251_general_ci". Разом з тим, зіставлення дозволяє "деталізувати" обрану кодування, вибравши, наприклад, правила для болгарського або української мови.

Разом з тим, зіставлення дозволяє деталізувати обрану кодування, вибравши, наприклад, правила для болгарського або української мови

Відволікся трохи в сторону від основної теми. Налаштування (за замовчуванням) у вікні не випадкові, вони визначаються при конфігуруванні MySQL. Саме там, якщо ви плануєте працювати з даними російською мовою, слід задати таку установку:

character-set-server = cp1251

Після створення нової бази даних в dbForge Studio for SQL її назва повинна відобразитися у вікні провідника.

Властивості бази даних, зокрема набір символів для роботи з базою даних і набір правил для роботи відображаються на панелі властивостей при установці курсора на імені бази даних у вікні провідника.


Робота з таблицями

Доступ до таблицями бази даних здійснюються в вузлі "Таблиці" відповідної бази даних панелі "Провідник".


створення таблиці

Створення нової таблиці здійснюється так:

  1. Розкриваємо вузол з ім'ям потрібної бази даних (розкриття і згортки вузла здійснюються також, як і в "звичайному" провіднику Windows, тобто клацанням на символі "+" або "-" перед назвою бази даних.
  2. Викликати контекстне меню на пункті "Таблиці" і вибрати з нього пункт "Нова таблиця".
  3. У робочому вікні з'явиться вікно-вкладка таблиці, яка в свою чергу містить кілька вкладок. На вкладці "Загальні" задаються загальні атрибути таблиці : Її ім'я, тип даних, тут же можна при необхідності змінити базу даних, для якої створюється таблиця. Тип даних таблиці, знову ж таки, встановлюється автоматично відповідно налаштувань MySQL.
  4. На тій же вкладці "Загальні" вводяться дані про структуру таблиці, тобто. про всі її полях. Нове поле створюється автоматично, його також можна додати "явно", виконавши команду Таблиця> Новий стовпець. Взагалі, пункт головного меню програми Таблиця призначений саме для роботи з таблицею, в тому числі він містить дії, що дозволяють змінювати структуру таблиці: додавати, видаляти, вставляти, редагувати поля таблиці.

Взагалі, пункт головного меню програми Таблиця призначений саме для роботи з таблицею, в тому числі він містить дії, що дозволяють змінювати структуру таблиці: додавати, видаляти, вставляти, редагувати поля таблиці

Ключові властивості полів:

  • Первинний ключ. Визначення поля ключовим.
  • Порожні значення. Вкажіть, чи потрібно наявності порожніх значень в поле.
  • Без знака. Заборона введення негативних чисел в поле.
  • Бінарний. Завдання цієї властивості визначає, що значення в цьому полі будуть чутливими до регістру.
  • Автоінкремент. Автоматичний приріст на "1" значення в поле при додаванні нового запису. Застосовується для полів цілого типу даних (INT).

Застосовується для полів цілого типу даних (INT)

Для збереження структури таблиці слід виконати команду Файл> Зберегти або клацнути відповідну піктограму Для збереження структури таблиці слід виконати команду Файл> Зберегти або клацнути відповідну піктограму   на панелі стандартних інструментів програми на панелі стандартних інструментів програми.

Під структурою таблиці розташоване вікно "SQL", в якому відображається команда SQL, автоматично генерується програмою під час створення таблиці по введеним нами даними. Зауважу, що текст SQL-команди не редагується.

Подальше звернення до таблиці здійснюється шляхом подвійного клацання на її імені в провіднику, після чого її структура відображається в головному вікні.

Зміна структури таблиці (склад полів або їх властивостей) здійснюється також на вкладці "Загальні".

Зведені дані про таблиці можна відобразити на панелі властивостей подвійним клацанням на назві таблиці на панелі провідника.


Ввід данних

Для введення даних слід вибрати в провіднику потрібну таблицю, а у вікні-вкладці з таблицею перейти на вкладку "Дані".

Новий рядок (запис) додається автоматично при натисканні функціональної клавіші <вниз> при встановленому на останньому записі курсорі. Перехід від поля до поля здійснюється клавішами навігації, <Enter> або <Tab>. Якщо дані візуально не буде відображатися в полі, його можна збільшити, перетягнувши його праву межу або двічі натиснувши на неї в рядку з заголовками полів.

Переміщення за даними таблиці здійснюється за допомогою клавіш навігації. Нижня частина вікна з таблицею містить також панель навігації, якою зручно користуватися при переміщенні по таблиці з великою кількістю записів.

Нижня частина вікна з таблицею містить також панель навігації, якою зручно користуватися при переміщенні по таблиці з великою кількістю записів

Зазначу, що після введення в таблицю даних їх потрібно зберегти, тобто, виконати команду Файл> Зберегти або клацнути відповідну піктограму Зазначу, що після введення в таблицю даних їх потрібно зберегти, тобто, виконати команду Файл> Зберегти або клацнути відповідну піктограму   на панелі стандартних інструментів програми на панелі стандартних інструментів програми. Втім, якщо Ви і забудете про це, то програма сама нагадає Вам про наявність незбережених даних при закінченні сеансу роботи з нею.


Робота із запитами

побудова запиту

  1. Виконати команду Файл> Створити> Запит або на панелі стандартних інструментів програми натиснути кнопку створення нового запиту , Після чого в головному вікні з'явиться вкладка "Запрос.sql".
  2. Перетягнути з вікна провідника на вкладку "Запрос.sql" таблиці, з яких потрібно відібрати інформацію.
  3. Сформувати параметри запиту, про що мова піде нижче.
  4. При необхідності в колонці "Ім'я користувача" ввести змістовне назву для поля. У цьому випадку саме воно буде відображатися у висновку (в іншому випадку відображається назва поля).
  5. Зберегти запит, виконавши команду Файл> Зберегти запрос.sql або клацнувши відповідну піктограму на панелі інструментів. З'явиться вікно "Зберегти файл як", в якому слід вказати ім'я запиту, яке може бути і російською мовою. Файл запиту має розширення SQL.


Створення запиту на вибірку

Найпростішим типом запиту є запит на вибірку. Відображення і формування переліку полів, що включаються до вибірки, здійснюється на вкладці "Вибірка". Для включення в запит значень поля досить встановити прапорець для поля-мітки з назвою поля в області вікна, що відображає структуру обраних таблиць. Інший варіант формування запиту полягає у виборі полів із списку в колонці "Стовпець". Так в запит додаються складові вирази, що містять, наприклад, функції або представляють собою вираз з декількох полів.

Результати запиту будуть відображатися саме в тому порядку, як вони розташовані в колонці "Стовпець". Якщо виникає необхідність відображати певну інформацію тільки один раз, то потрібно встановити прапорець для поля-мітки "Унікальні рядки". Для перегляду результатів запиту ще під час його формування (без запам'ятовування) потрібно натиснути кнопку "Виконати".


Відбір за критерієм

Накладення умови на значення поля або декількох полів здійснюється на вкладці "Умови".

Для додавання умови слід натиснути кнопку Для додавання умови слід натиснути кнопку . Це призведе до появи тексту, який двічі містить фразу "Введіть значення", розділену знаком "=".

  1. Перший текст "Введіть значення" є лівою частиною умови. Це - поле (назва стовпчика) якийсь таблиці.
  2. Знак "=" є оператором умови. Його можна замінити на інший. Для цього слід клацнути на ньому і вибрати із списку щось інше, наприклад, ">".
  3. Текст "Введіть значення" праворуч від знака "=" є значенням умови. Клацання на тексті "Введіть значення" призводить до відображення списку полів таблиць, різних виразів тощо., Що можна уявити як умова.

Наприклад, для відбору студентів, які мають оцінку "5", умова може бути записано як "Оцінка" = 5.

Умов може бути кілька. Для додавання нового умови також необхідно натиснути кнопку Умов може бути кілька і сформувати за вищенаведеними правилами нову умову.

За замовчуванням між собою умови з'єднуються логічним оператором AND, однак і його можна змінити, клацнувши на ньому і вибравши зі списку інший.


Створення зв'язків (об'єднання таблиць)

У базі даних MySQL можна одноразово жорстко зафіксувати зв'язку між таблицями. Користувач в кожному запиті повинен створювати їх за допомогою SELECT і JOIN. Програма дозволяє створювати п'ять видів зв'язків, в тому числі внутрішню, лівосторонній і правосторонній об'єднання.

Об'єднання двох таблиць здійснюється шляхом об'єднання мишкою потрібних полів таблиць. Створена зв'язок відображається графічно. Ті ж дії можна зробити і на вкладці "З'єднання". Для цього потрібно натиснути кнопку Об'єднання двох таблиць здійснюється шляхом об'єднання мишкою потрібних полів таблиць , Після чого з'явиться порожній оператор JOIN. Клацаємо на тексті "Вкажіть ім'я стовпця" і додаємо до відповідних полях поля об'єднуються таблиць.

Код команди SELECT, що відображає створення зв'язків, також відображається на вкладці "З'єднання".

Для зміни типу зв'язку слід викликати контекстне меню на типі (назві) з'єднання, наприклад, "Inner Join" і вибрати з нього потрібний.

Видалити зв'язок можна різними способами, наприклад, викликавши контекстне меню на графічній лінії зв'язку і вибравши з нього пункт "Видалити з діаграми".

Видалити зв'язок можна різними способами, наприклад, викликавши контекстне меню на графічній лінії зв'язку і вибравши з нього пункт Видалити з діаграми


обчислювальні поля

Досить часто висновок результатів запиту повинен містити не просто значення одного з полів таблиці, а комбінацію значень полів з однієї або декількох таблиць або математичну операцію над ними. Наприклад, в запиті слід підрахувати загальну вартість товару, яка визначається як добуток загальної кількості товару і ціни за одиницю товару. Для цього слід створити обчислювальний поле. Наприклад, створення врожай поля "Ціна" і "Кількість" здійснюється так.

  1. Перейти на вкладку "Вибірка".
  2. Клацнути на вільному рядку в полі "Стовпець".
  3. Вибрати поле "Ціна".
  4. У нижній частині вікна вибору клацнути піктограму оператора "*".
  5. З відповідною таблиці вибрати поле "Кількість", після чого в полі "Стовпець" з'явиться вираз на кшталт Ціна * Кількість.
  6. Для створення змістовної підписи для обчислювального поля слід в поле "Ім'я користувача" замінити вираз "Exp" на "Всього".

Для створення змістовної підписи для обчислювального поля слід в поле Ім'я користувача замінити вираз Exp на Всього


Упорядкування (сортування) записів

Якщо необхідно впорядкувати відібрані дані за певним полю, то застосовують, як відомо, сортування. Визначення полів сортування здійснюється на вкладці "Сортування". Тут список "Стовпці" містить перелік всіх полів, включених в запит. Подвійне клацання на будь-якому з них або клацання кнопки "Додати стовпець" Якщо необхідно впорядкувати відібрані дані за певним полю, то застосовують, як відомо, сортування призводить до переносу цього поля в список "Сортування", який і визначає сортувальні поля і порядок упорядкування записів. За замовчуванням застосовується метод сортування "по зростанню", але його дуже просто змінити на "по спадаючій", клацнувши кнопку "Сортувати по ..." .

Кількість полів сортування не обмежується, що дозволяє здійснити багаторівневу сортування результатів виведення, упорядкувавши його відразу за кількома полями. В цьому випадку поля, для яких здійснюється сортування, слід розташувати в списку в саме тому порядку, в якому вона буде здійснюватися.

В цьому випадку поля, для яких здійснюється сортування, слід розташувати в списку в саме тому порядку, в якому вона буде здійснюватися


Угруповання записів і агрегатні функції

Дія угруповання дає можливість об'єднати однакові по якомусь ознакою записи таблиці для певного поля в групи і застосовувати до них обчислення за допомогою різних функцій.

Угруповання записів задається на вкладці "Угруповання".

Додавання функції для поля здійснюється на вкладці "Вибірка" так:

  1. Клацнути кнопку нового поля в колонці "Стовпець".
  2. У списку "Функція" вибрати потрібну функцію, після чого її ім'я з'явиться в колонці "Стовпець".
  3. Як аргумент функції вибирається потрібне поле зі списку "Таблиця".

Нагадаю, що до агрегатних функцій відносяться такі:

  • функція Sum надає можливість підрахувати для групи записів суму;
  • функція Avg - обчислити середнє значення;
  • Count - підрахувати загальну кількість записів;
  • Max і Min - визначити максимальне і мінімальне значення в полі.

Так, якщо здійснити угруповання студентів по їх прізвища, номеру залікової книжки і т.п., то в таблиці, яка містить дані з оцінками студентів за допомогою функції Sum можна підрахувати загальну суму оцінок для кожного студента, а за допомогою функції Avg - обчислити його середній бал.


Використання агрегатних функцій в умовах

В умовах у фразі HAVING можна використовувати агрегатні функції, які діють в межах створюваних груп. Це здійснюється на вкладці "Включення".

Наприклад, для відбору оцінок студентів групи, які мають оцінки вище середнього бала, можна застосувати два варіанти:

Оцінка> AVG (оцінка)

Оцінка - AVG (оцінка)> 0

Одночасно на вкладці "Угруповання" повинна бути задана угруповання по студентах.


виконання запиту

Для виконання запиту слід спочатку його відкрити. З цією метою слід натиснути кнопку Для виконання запиту слід спочатку його відкрити "Відкрити" на панелі стандартних інструментів програми. Для виконання запиту клацніть кнопку на панелі запитів.


формування тригерів

Як відомо, тригер - це процедура (послідовність SQL-Операторів), яка актівується во время Виконання операцій маніпулювання данімі (Додавання, замініті або стерти) над таблицею. Тригери є одним з механізмів підтримки цілісності бази даних.

Програма dbForge Studio for SQL представляє автоматизовані засоби створення тригерів.

Створення тригера здійснюється за таким алгоритмом:

  1. На панелі провідника викликати контекстне меню для пункту "Тригери" і вибрати з нього пункт "Новий тригер". З'явиться вікно формування тригера.
  2. На вкладці "Загальні" визначаються загальні реквізити тригера: ім'я, власник і таблиця, в якості яких виступають відповідно база даних і таблиця, для яких створюється тригер.
  3. В поле "Тіло тригера" на тій же вкладці розробником самостійно формується послідовність операторів, які будуть виконуватися під час виконання операції маніпулювання даними. Вони розташовуються між операторами BEGIN і END.
  4. На вкладці "Подія" визначається, для якої операції маніпулювання даними призначений тригер, а також момент його спрацювання: до або після події.

На вкладці Подія визначається, для якої операції маніпулювання даними призначений тригер, а також момент його спрацювання: до або після події

На вкладці "SQL" відображається автоматично сформований системою скрипт для тригера.

На вкладці SQL відображається автоматично сформований системою скрипт для тригера


Резервне копіювання / відновлення

При роботі з комп'ютером завжди необхідно пам'ятати про можливість аварійних ситуацій: відключення електрики, виходу з ладу пристроїв і т.п. Якщо база даних містить значний обсяг інформації, то втрата або руйнування даних може бути сприйнято як "кінець світу". Тому перше правило при роботі з будь-якою системою - це наявність резервної копії даних, що дозволяє при необхідності відновити дані. Копія також може бути корисною і при необхідності повернення до попередніх даних.

Створення резервної копії здійснюється командою База даних> Резервна копія> Створити резервну копію БД. Архів створюється з розширенням SQL, при цьому його ім'я містить ім'я бази даних, для якої він створюється і час його створення, наприклад: "підприємство 20101117 1559".

Для відновлення бази даних бажано її наявність на сервері. Втім, її можна створити і автоматично в процесі відновлення. Після цього слід викликати контекстне меню на назві бази даних і послідовно вибрати з нього пункти Резервна копія, Відновити БД з резервної копії.

Дії по створенню і відновленню резервної копії здійснюються під керуванням програми-майстра і труднощів не викликають. Єдино, зауважу, що при створенні резервної копії звертайте увагу на те, щоб в поле "База даних" була обрана потрібна база даних.

І ще одне зауваження. Слід мати на увазі, що якщо база даних переноситься з комп'ютера на комп'ютер, то такі об'єкти, як таблиці з усім їхнім вмістом і тригери будуть відновлені коректно і без проблем. А ось для кожного запиту при першому його запуску на іншому комп'ютері потрібно буде давати підтвердження про перенесення його на новий сервер.

І Останнє.

При роботі з dbForge Studio for SQL користувачі частенько відзначають наявність в ній багів. З цього приводу хотілося б відзначити наступне: по-перше, сама задача, поставлена ​​перед собою розробниками програми, а саме - автоматична генерація SQL-команд при візуальному проектуванні бази даних є досить складною для реалізації (незважаючи на формальність алгоритмів генерації), по-друге , самі баги постійно виправляються, а, по-третє, програма-то безкоштовна, а дарованому коню, як відомо, в зуби не дивляться ...

І найостанніше. Я попередив статтю витягом з британської рекрутингової компанії CW Jobs, в якій зазначалося висока потреба в IT-фахівцях , Які знають мову SQL. Зі статті випливає, що програма автоматично генерує SQL-команди по введених даних, а це дозволить початківцям розробникам відстежувати коректний код, необхідний для створення об'єктів бази даних.

Валерій ФЕТИСОВ

Новости