дівчина фон

Що таке База Даних простими словами.
Карта роботи оператора MySQL у веб-контексті

листопад 2014 року

    Можливо професіонали своєї справи зроблять зауваження щодо професійності викладеного матеріалу, але я подам особисте бачення області роботи оператора MySQL, зі свого погляду. Воно ніби в інтернеті багато інформації MySQL SELECT і таке інше, та й документації MySQL.сом досить, але ж...

    По-перше, База Даних (БД) - це зрозуміло, що це інформація. Реалізація любого чату, форуму, статистики відвідувань, кількості Like/UnLike, все це неможливо без використання БД. Робота ж з Базою Даних, логічно припустити, що це робота з інформацією. Інформація в комп'ютерному світі, це набір одиничок та нуликів, 1/0, він же Біт інформації, більше Байт, кБайт, МегаБайт. Звісно всі чули, що інформація зберігається на жорстких дисках, логічно навіть припустити що в файликах.


сервер MySQL


    По-друге, має бути Система для роботи з Базою Даних, щоб можна було б виконувати необхідні операції з Інформацією, зберігати, редагувати, аналізувати, видаляти і таке інше на розсуд користувача.
    Можна відмітити за цим тезисом, для роботи з інформацією використовуються SQL-запити, і як каже вікіпедія SQL (англ. Structured query language — мова структурованих запитів) — декларативна мова програмування для взаємодії користувача з базами даних, що застосовується для формування запитів, оновлення і керування реляційними БД, створення схеми бази даних і її модифікації, системи контролю за доступом до бази даних. Сам по собі SQL не є ні системою керування базами даних, ні окремим програмним продуктом. Не будучи мовою програмування в тому розумінні, як C або Pascal, SQL може формувати інтерактивні запити або, будучи вбудованою в прикладні програми, виступати в якості інструкцій для керування даними. Стандарт SQL, крім того, вміщує функції для визначення зміни, перевірки і захисту даних.

    Прикладом таких запитів може бути:

1 SELECT *
2 FROM TABLE_NAME
3 WHERE column_name IN (value1,value2,...)


1 INSERT INTO @TABLE
2 OUTPUT INSERTED.id
3 VALUES ('Peter Doe');


    Однією з систем керування інформацією, є Система Керування Базою Даних MySQL. Є звісно інші системи керування як, наприклад, Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, OpenEdge, SQLite та інші, але я планую розглядати саме цю систему керування даними, як одну з перспективних.

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

сервер MySQL

    Головний користувач комп'ютера - User, саме йому необхідні результати роботи Баз Даних. Його домашній ПК через інтернет отримує сторінку сайту, за допомогою http-протокола, з веб-серверу.

    Всі знають, що інформація сайту розташована на веб-сервері, що знаходиться в мережі 24 години на добу. Саме на веб-сервері будуть застосовуватись знання та напрацювання оператора MySQL.

    І на сервері розташований MySQL-сервер Баз Даних. Ці два елемента співпрацюють, завдяки встановленим програмним продуктам. Встановлена бібліотека зі сторони PHP, щось на зразок libmysqlclient library. І звісно встановлена одна з версій дистрибютива MySQL, щось на зразок MySQL Version 5.6. Куди ж без програмного забезпечення.

    Четвертим пунктом, я відмічу зв'язок веб-сервера в частині відображення сторінки сайту. Тут все просто, користувач вводить url-адресу ресурсу, що його цікавить, чи просто в пошуковій системі Яндекса, Гугла чи іншої вводить запит і браузер користувача, зєднавшись з веб-сервером, відповідно виводить на монітор сторінку сайту.

сервер MySQL


    П'яте. Місце напрацювань оператора MySQL. Веб-програмування це безмежне поле діяльності; веб-дизайнери, копірайтери, розробники html, php, javascript, jQuery, perl та інших напрямків для веб-спеціалістів, всі знаходять місце для праці у веб просторі. Але ж що ж до оператора MySQL? Його праця полягає в написанні кодів php, повязаних з СУБД MySQL.

    Це для зразка може мати такий вигляд:

<?php
$mysqli 
= new mysqli("localhost""my_user""my_password""world");

/* check connection */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

/* Insert rows */
$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n"$mysqli->affected_rows);

$mysqli->query("ALTER TABLE Language ADD Status int default 0");

/* update rows */
$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n"$mysqli->affected_rows);

/* delete rows */
$mysqli->query("DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n"$mysqli->affected_rows);

/* select all rows */
$result $mysqli->query("SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n"$mysqli->affected_rows);

$result->close();

/* Delete table Language */
$mysqli->query("DROP TABLE Language");

/* close connection */
$mysqli->close();
?>


    Всі інші напрямки веб-сфери на малюнку відмічу темною масою :)

сервер MySQL