Skip to content Skip to footer

Що таке SQL і навіщо він потрібний?

Як використовувати SQL для масштабування бізнесу.

У вас є ідея: купувати кавуни у Херсоні та продавати їх у Борисполі. Ви знаходите оптових продавців і того, хто привезе кавуни, дізнаєтесь про ціну. Починаєте продавати. Згодом купуєте вантажні машини і транспортуєте кавуни самі.

Де будете фіксувати контакти продавців та покупців, дані про машини? Швидше за все, у телефоні чи Google-таблиці. 

А якщо постачальників, покупців та машин – десятки? А якщо почнете возити ще дині та квіти? Аркушів стане дуже багато, і розібратися в них буде дуже складно.

Вам знадобляться реляційні бази даних та те, що допоможе їх структурувати. Найчастіше бізнес купує рішення із підпискою. Але це тимчасовий вихід. Якоїсь миті ви захочете продавати і купувати в Європі, з’являться представники — і треба буде видавати різні доступи до системи. І цього рішення виявиться замало.

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

Які завдання вирішує система управління базами даних

Система управління базами даних (СУБД) – це те, що дозволяє отримувати інформацію з таблиць та дата-файлів. Вони зберігаються на диску операційної системи, а «діставати» їх допомагають реляційні бази даних.

“Реляційні бази даних” – набір таблиць з даними та ідентифікаторами. Це схоже на адресну книгу: ось Excel-таблиці – там імена абонентів та номери, що визначають місто абонента (ідентифікатори 1, 2…10). Перші таблиці з іменами за номером посилаються на таблицю з розшифровкою ідентифікаторів – так буде зрозуміле місто.

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

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

Як SQL допомагає бізнесу

У будь-якій рітейл-мережі – Auchan, Walmart, мережі аптек – безліч баз даних. Кожен, кому це потрібно, може «витягувати» та використовувати дані за допомогою SQL – мови структурованих запитів. Вона дозволяє виконувати запити різного типу. Наприклад, вивести список чеків за вчора дорожче за певну суму і подивитися, на яких касах їх видавали.

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

Доступ до бази даних може бути у багатьох аналітиків. Але не всі розуміють, як писати запити, щоб бачити проміжні результати. Вони не можуть скласти ad-hoc звіти і чекають на перерахунки раз на тиждень від програмістів.

Але якщо аналітик показує програмістам, що знає про HAVING та SUM та вміє ними користуватися, довіри до нього буде більше.

Які висновки про внутрішні процеси дає SQL

SQL дозволяє “витягувати” будь-які дані будь-яких бізнесів – телеком-компаній, банків, перевізників. Але зробити це може не кожен. Щоб зануритися в бази даних, у користувача мають бути права та привілеї.

Телефонуєте, наприклад, мобільному оператору, а там кажуть: «Здрастуйте, Аня». Звідки вони знають ваше ім’я? Воно висвічується за номером телефону. Озвучуєте проблему — оператори запитують у базу даних, отримують відповіді в інтерфейсі на екрані.

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

Приходячи на нові проекти, ти два місяці тільки з усім знайомишся. Тобі кажуть: Ось основна таблиця, п’ять колонок. Інші 15 дізнаєшся протягом наступного року». Немає діаграми на всю стіну, де розписано всі зв’язки.

Аналоги SQL

Мова SQL призначена для реляційних баз даних, а NoSQL — для нереляційних. Якщо база є реляційною, між таблицями є посилання. У нереляційній дані зберігаються у аркушах – дата-сетах із ключами зберігання.

Кожна з цих систем має свої переваги.

Там, де багато даних та запитів, потрібен SQL. Візьмемо телеком. Корпорація мобільного зв’язку має величезну кількість абонентів, і база даних NoSQL не впорається з таким обсягом інформації.

NoSQL – для всього, що зчитується та зберігається на ходу. Це проміжна база даних. Наприклад, заповнення кошика: заходимо на сайт, починаємо додавати покупки. Тут дані зберігаються у нереляційній основі. А коли замовлення зроблено, все переходить у реляційну.

SQL та NoSQL можуть існувати паралельно. Можливості передавати дані безпосередньо немає, але через мову програмування це реально. Припустимо, логіни та паролі зберігаються в нереляційній БД, а інформація про покупки та дисконти — у реляційній.

Безпека SQL для бізнесу

SQL застосовується до будь-якої сфери бізнесу, де є дані. Якщо дані секретні, потрібно захищати мережу.

Адміністратор встановлює базу даних на сервер у серверній, і тільки він розуміє, що саме там стоїть. Цього може не знати навіть програміст — він працює з персонального комп’ютера через інтернет/локальну мережу під логіном та паролем.

Іноді для роботи з базою даних логіну та паролю мало. Доступ до таблиць є, але інформація зашифрована. У банку часто кажуть: “Нікому не повідомляйте пароль”. Паролі не читають навіть співробітники – вони бачать кешовані кракозяблики. Увійти в базу, побачити номер банківської картки, пароль та кодове слово можливо тільки якщо ви пройшли аутентифікацію.

Аналітика та SQL

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

Аналітик може працювати без програмістів, поки дата-сетів, які вони підготували, достатньо для вирішення завдань. Якщо недостатньо, він каже: «Мені потрібно бачити це, хочу, щоб дані будувалися за такими правилами». І озвучує бізнес-вимоги. Програміст каже: «Я створив вісім нових таблиць, між ними такий зв’язок. Вони доступні ось так, а нові будуть з’являтися о 3:00 щодня».

Що потрібно, щоб освоїти SQL

Щоб почати займатися SQL, достатньо базових знань з математики та розуміння, як працюють таблиці Excel. Далі – курси, тренінги, мітапи, книги та вебінари. 

SQL – це все бекенд – те, чого ти не бачиш. За півдня відеоуроку можна навчитися робити сайти – перший лендинг буде примітивним, дерев’яним, але буде. Тут же все за кадром. Вставив рядок, побачив “One row inserted” (“Один рядок вставлено”). Щоб перевірити, потрібно написати запит, який виявить значення рядка з умовою.

Залишити коментар

 

Напиши нам і ми з тобою зв'яжемося.

    Як краще відповісти вам?

    Після отримання форми ми зв’яжемося з вами :) ви також можете написати нам в месенджерах