Редактор проекта Открытые Знания. https://openknow... · 4 дек 2021
Работа с базой данных на облачном сервере
В предыдущем материале мы разобрали основы реляционных баз данных. В этом материале мы кратко рассмотрим какие бывают системы для управления реляционными базами данных. Создадим и подключимся к серверу с базой данных в облаке Google Cloud.
Виды СУБД
Чтобы управлять структурированной информацией придуманы системы для управления базами данных. Сами данные и СУБД принято называть базой данных.
Сегодня на рынке часто встречаются следующие типы СУБД: MySQL, Maria DB, SQLite, PosgreSQL, Oracle database, Windows SQL server, Amazon Aurora, Teradata, Vertica HP. Причем последние пять предназначены для управления крупными проектами. Компании предоставляют большой набор программно-аппаратных средств для их управления.
Самые популярные СУБД бесплатные, с открытым кодом — MySQL, SQLite, Maria DB (это более функциональное ответвление от MySQL), PostgreSQL.
MySQL
В нашей серии уроков мы будем изучать SQL язык. На это есть несколько причин. Во-первых, это самый распостраненный язык для баз данных. Его используют миллионы компаний по всему миру в на разных приложениях от базы данных мобильного приложения до базы данных в Boieng.
У SQL есть диалекты. Специально спроектированные разработчиками СУБД перечисленных выше команды и скрипты. Они отличаются от базовых конструкций SQL и применяются только в работе то СУБД для которой они разработаны.
С помощью MySQL мы построим мини CRM без графической оболочки и научимся базовым конструкциям SQL.
Даем имя нашему инстансу, генерируем пароль. Выбираем версию нашей базы данных. Можно свежую. Так, как проект у нас учебный я выбрал небольшой объем памяти у сервера. Вы можете выбрать и больший. За облачные базы данных Google взимает плату.
Также у нашего сервера будет настроена автоматическое резервное сохранение данных — бэкап.
База данных
Свою базу данных можно создать командой:
mysql> CREATE DATABASE albatros;
Ниже мы расскажем, как пользоваться GCloud Shell — командой строкой внутри облачных сервисов Гугл.
Также для начинающих можно создать базу данных через графическую консоль.
При создании базы рекомендую выбирать кодировку UTF8-Unicode. Она самая распостраненная. Нужно понимать, что если далее вы решите экспортировать какие-то данные в другой кодировке могут возникнуть проблемы. Лучше придерживаться одного стиля и перед экспортом все приводить в соотвествии с утвержденной кодировкой.
Управление базой данных через консоль GCloud Shell
Перед вызовом базы данных в консоли зайдите в раздел SQL→ Connections. Поставьте галочку Public IP. Найдите IP адрес вашего компьютера. Вы можете в любом поисковике ввести запрос «узнать свой IP адрес». Добавьте свой адрес в раздел Edit Network. Сохраните.
Некоторые IP адреса могут меняться. Если в дальнейшем не будет возможности подключится к базе данных придется зайти снова в этот раздел и ввести свой новый IP адрес. Как видите, на скрине у меня он менялся неоднократно.
В конце нажмите кнопку Save и сохраните свое соединение. Google Cloud SQL Firewall будет пропускать соединение и Вы сможете работать с базой данных.
Далее открывает GCloud Shell — командную строку для управления облаком Гугла. Это второй значок после gift вверху справа.
В открывшемся окне введите команду:
gcloud sql connect honeycode --user=root --quiet
Вместо honeycode вам надо ввести название вашего инстанса облачной базы данных.
После генерации ключей и небольшой проверки вашего IP Вам предложат ввести пароль для пользователя root. Это суперпользователь по умолчанию. Его вы можете найти в разделе графической консоли SQL→ Users. В дальнейшем вы можете добавить других, изменить пароль доступа к СУБД.
В итоге вы должны получить приветственную надпись в командной строке.
Давайте найдем нашу базу данных Альбатрос. Введя команду:
show databases;
Мы видим её и технические базы, которые создаются по умолчанию.
Первые таблицы
Создадим первую нашу таблицу, где будут храниться данные клиентов, которым наше предприятие отгружает продукты питания. Также наполним ее данными.
Перед созданием таблицы проясню, что команды SQL пишутся заглавными буквами, а дополнительная информация маленькими.
Создадим таблицу с названием Клиенты. Она будет содержать данные:
ключ
организационно-правовая форма
название клиента
адрес отгрузки
время время работы клиента
телефон ответственного за приемку товара.
введем команду:
CREATE TABLE Клиенты (
id integer NOT NULL,
Тип_предприятия varchar(10) NOT NULL,
Название компании varchar(30) NOT NULL,
Адрес_отгрузки text NOT NULL,
Время_работы_клиента varchar(13) NOT NULL,
Телефон_приемщика integer NOT NULL
);
Наша таблица создана. Мы можем проверить это введя две команды:
USE albatros;
SHOW TABLES;
Первая команда переключит клиент на работу именно с нашей базой данных. Вторая покажет, что наша таблица создана.
Теперь давайте посмотрим содержимое нашей таблицы.
У вас она будет пустой, но я предварительно наполнил её данными о клиенте из предыдущих статей.
Чтобы просматривать содержимое таблиц в консоли введите команду:
SELECT * FROM Клиенты;
Перед нами наша таблица с колонками и содержимым видна только одна строка. Как же посчитать сколько сток в таблице, если она очень большая и листать черное окно утомительно? Для этого введем команду:
SELECT COUNT(*) FROM Клиенты;
Внесена одна строка.
Давайте добавим остальных наших клиентов. Для этого введем множественную команду:
INSERT Клиенты (
id, Тип_предприятия,
Название_компании,
Адрес_отгрузки, Время_работы_клиента,
Телефон_приемщика
)
VALUES
(
'2', 'ООО', '«Мой магазинчик»',
'115275, г. Москва, ул. Россошанская, д. 44, оф. 43',
'07:00 - 05:00', 89102245657
),
(
'3', 'АО', '«Отель «Гранд Делис»',
'103054, г. Москва, ул. Садовая-Спасская, д. 23/2к4',
'круглосуточно', 84952340021
),
(
'4', 'ООО', '«Хорека Трейд»',
'112345, Московская область, г. Щелково, ул.Талсинская, д.21, оф. 234',
'07:00 - 21:00', 84965666991
);
Итак, мы внесли новых контрагентов в нашу базу данных торгового предприятия. СУБД ответила, что успешно записала все данные.
Давайте убедимся, что это так. Для этого повторно введем команду:
SELECT COUNT(*) FROM Клиенты;
Мы создали базу данных для нашего предприятия и первую таблицу на облачном сервисе. Подключились к через командную строку и изучили основы языка SQL. Возможно эти практические кейсы помогут Вам освоении SQL и повысят производительность.
Все-таки управлять огромной базой данных с тысячами или миллионами строк через черное окно не очень удобно. В следующим материале мы рассмотрим как это делать с помощью графического клиента — программы, которую мы установим на компьютер. Там намного шире функционал и возможности.