Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Базы данных: Проектирование и разработка информационных систем с использованием СУБД MySQL и языка Go

Покупка
Основная коллекция
Артикул: 753620.01.01
Доступ онлайн
392 ₽
от 333 ₽
В корзину
Учебное пособие предназначено для изучения и создания баз данных и информационных систем и приложений с использованием системы управления базами данных MySQL и языка программирования Go. Книга последовательно знакомит обучающихся с установкой и освоением рабочего пространства MySQL Workbench для работы с СУБД MySQL; основами администрирования сервера MySQL; проектированием ER-моделей в MySQL Workbench. Даны основы языка Go. Рассматривается создание проекта на языке Go. С целью удобства работы с учебным пособием программные коды размещены в облачном хранилище электронной библиотечной системы издательства «Znanium». Соответствует требованиям федеральных государственных образовательных стандартов высшего образования последнего поколения и профессиональных стандартов. Для студентов, бакалавров, магистрантов, аспирантов и специалистов, обучающихся по специальностям и направлениям подготовки: «Информатика и вычислительная техника», «Информационные системы и технологии», «Программная инженерия», «Прикладная математика и информатика», «Управление в технических системах», «Бизнес-информатика», «Педагогическое образование», а также для всех лиц, занятых в области проектирования современных баз данных, информационных систем, создания мобильных и интернет-приложений, основанных на СУБД MySQL и языке программирования Go.

Только для владельцев печатной версии книги: чтобы получить доступ к дополнительным материалам, пожалуйста, введите последнее слово на странице №154 Вашего печатного экземпляра.

Мартишин, С. А. Базы данных: проектирование и разработка информационных систем с использованием СУБД MySQL и языка Go : учебное пособие / С.А. Мартишин, В.Л. Симонов, М.В. Храпченко. — Москва : ИНФРА-М, 2022. — 325 с. + Доп. материалы [Электронный ресурс]. — (Высшее образование: Бакалавриат). — DOI 10.12737/1830834. - ISBN 978-5-16-017213-2. - Текст : электронный. - URL: https://znanium.ru/catalog/product/1830834 (дата обращения: 20.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
БАЗЫ ДАННЫХ

ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА 
ИНФОРМАЦИОННЫХ СИСТЕМ 
С ИСПОЛЬЗОВАНИЕМ СУБД MYSQL 
И ЯЗЫКА GO

С.А. МАРТИШИН
В.Л. СИМОНОВ
М.В. ХРАПЧЕНКО

Рекомендовано в качестве учебного пособия для студентов 
(специалитет, бакалавриат и магистратура) специальностей 
и направлений подготовки: «Информатика и вычислительная техника», 
«Информационные системы и технологии», «Программная инженерия», 
«Прикладная математика и информатика», «Управление в технических системах», 
«Бизнес-информатика», «Педагогическое образование»

Москва
ИНФРА-М
2022

УЧЕБНОЕ ПОСОБИЕ

УДК 004.65(075.8)
ББК 32.972.134я73
 
М29

Мартишин С.А.
М29  
Базы данных: проектирование и разработка информационных 
систем с использованием СУБД MySQL и языка Go : учебное по-
собие / С.А. Мартишин, В.Л. Симонов, М.В. Храпченко. — Москва : 
ИНФРА-М, 2022. — 325 с. + Доп. материалы [Электронный ресурс]. — 
(Высшее образование: Бакалавриат). — DOI 10.12737/1830834.

ISBN 978-5-16-017213-2 (print)
ISBN 978-5-16-106422-1 (online)
Учебное пособие предназначено для изучения и создания баз данных и ин-
формационных систем и приложений с использованием системы управления 
базами данных MySQL и языка программирования Go. Книга последовательно 
знакомит обучающихся с установкой и освоением рабочего пространства 
MySQL Workbench для работы с СУБД MySQL; основами администрирования 
сервера MySQL; проектированием ER-моделей в MySQL Workbench. Даны 
основы языка Go. Рассматривается создание проекта на языке Go. С целью 
удобства работы с учебным пособием программные коды размещены в облач-
ном хранилище электронной библиотечной системы издательства «Znanium».
Соответствует требованиям федеральных государственных образователь-
ных стандартов высшего образования последнего поколения и профессиональ-
ных стандартов.
Для студентов, бакалавров, магистрантов, аспирантов и специалистов, обу-
чающихся по специальностям и направлениям подготовки: «Информатика 
и вычислительная техника», «Информационные системы и технологии», «Про-
граммная инженерия», «Прикладная математика и информатика», «Управле-
ние в технических системах», «Бизнес-информатика», «Педагогическое образо-
вание», а также для всех лиц, занятых в области проектирования современных 
баз данных, информационных систем, создания мобильных и интернет-прило-
жений, основанных на СУБД MySQL и языке программирования Go.

УДК 004.65(075.8)
ББК 32.972.134я73

Р е ц е н з е н т ы:
Л.А. Белобжеский, кандидат технических наук, доцент, доцент кафедры 305 
«Пилотажно-навигационные и информационно-измерительные комплексы» 
Института № 3 «Системы управления, информатика и электроэнергетика» 
Московского авиационного института (национального исследовательского 
университета);
Т.В. Карягина, кандидат технических наук, доцент, доцент факультета ин-
формационных технологий Российского государственного социального уни-
верситета

Данное пособие было выпущено на основе материалов научных 
исследований, выполненных при финансовой поддержке Российского Фонда 
фундаментальных исследований (проект 19-01-00702а)

ISBN 978-5-16-017213-2 (print)
ISBN 978-5-16-106422-1 (online)
© Мартишин С.А., Симонов В.Л., 
Храпченко М.В., 2022

Материалы, отмеченные знаком 
, 
доступны в электронно-библиотечной системе Znanium

Предисловие

Для освоения материала предлагаемого учебного пособия обуча-
ющимся необходимо предварительное знакомство с языками и тех-
нологиями СУБД, среди которых:
 
• SQL-базы данных;
 
• язык программирования JavaScript;
 
• язык гипертекстовой разметки HTML5;
 
• клиент-серверные технологии, MVC и ряд других.
Практические аспекты применения теоретических знаний 
можно изучить, в частности, по уже изданным книгам настоящего 
авторского коллектива:
 
• Проектирование и реализация баз данных в СУБД MySQL 
с использованием MySQL Workbench: методы и средства про-
ектирования информационных систем и технологий, инстру-
ментальные средства информационных систем (2012 и после-
дующие годы издания).
 
• Основы теории надежности информационных систем (2013 
и последующие годы издания).
 
• Базы данных. Практическое применение СУБД SQL- и NoSOL-
типа для проектирования информационных систем (2016 и по-
следующие годы издания).
 
• Базы данных: Работа с распределенными базами данных и фай-
ловыми системами на примере MongoDB и HDFS с использо-
ванием Node.js, Express.js, Apache Spark и Scala (2019 и после-
дующие годы издания).
Учебное пособие может быть использовано (полностью или час-
тично) при изучении таких дисциплин, как:
 
• проектирование базы данных;
 
• проектирование и администрирование информационных систем;
 
• распределенные и удаленные базы данных;
 
• разработка интернет-приложений;
 
• программирование мобильных устройств;
 
• веб-программирование;
 
• программирование;
 
• технологии программирования;
 
• специальные разделы программирования;
 
• тестирование и внедрение программного обеспечения;
 
• социальная информатика и ряд других.

Приведем примерное соответствие содержания учебного по-
собия требованиям профессиональных стандартов (рассматри-
вается для системообразующего направления подготовки «Инфор-
матика и вычислительная техника»):
Область профессиональной деятельности:
06 Связь, информационные и коммуникационные технологии.
Наименование профессионального стандарта:
06.011 Профессиональный стандарт «Администратор баз 
данных»;
06.014 Профессиональный стандарт «Менеджер по информаци-
онным технологиям»;
06.015 Профессиональный стандарт «Специалист по информа-
ционным системам»;
06.016 Профессиональный стандарт «Руководитель проектов 
в области информационных технологий»;
06.017 Профессиональный стандарт «Руководитель разработки 
программного обеспечения»;
06.019 Профессиональный стандарт «Технический писатель 
(специалист по технической документации в области информаци-
онных технологий)».
Разумеется, область действия настоящего учебного пособия 
этим не ограничивается. В результате изучения материалов насто-
ящего учебного пособия студент будет:
знать
 
• основные этапы построения баз данных SQL-типа при проекти-
ровании информационных систем;
 
• компоненты программных комплексов и баз данных;
 
• технологию проектирования, производства и сопровождения баз 
данных в информационных системах;
 
• основы безопасной работы с системой управления базами 
данных (аутентификация, назначение прав доступа для пользо-
вателей, резервное копирование, восстановление системы после 
сбоев и пр.);
уметь
 
• участвовать во всех фазах проектирования, разработки, изго-
товления и сопровождения баз данных для информационной 
системы;
 
• разрабатывать модели компонентов для информационной 
системы, включая модели баз данных;
 
• осуществлять прямой и обратный инжиниринг;
 
• составлять структурированные запросы к информационным ре-
сурсам локализованных и распределенных баз данных (созда-

вать, обновлять и удалять документы в составе системы управ-
ления базами данных; осуществлять выборку данных и т.д.;
 
• создавать на основе выбранной системы управления базами 
данных ядро информационной системы и целостный про -
граммный продукт;
владеть
 
• навыками по созданию программного средства с использова-
нием системы управления базами данных MySQL и языка Go;
 
• основами администрирования сервера;
 
• навыками создания ER-моделей и работы с EER-диаграммами;
 
• основами администрирования системы управления базами 
данных MySQL.
С целью удобства работы с учебным пособием программные 
коды размещены в облачном хранилище электронной библио-
течной системы издательства «Znanium» (приложение 2).
Авторы с благодарностью примут любые конструктивные заме-
чания, касающиеся содержания настоящего учебного пособия.

Введение

Современная IT-сфера характеризуется быстрым проникнове-
нием информационных систем и технологий в разнообразные об-
ласти: медицину, охрану, военную сферу, образование и т.д.
Пандемия COVID-19 ускорила этот процесс, в результате чего 
агрегируются данные разнотипных систем — мобильных, GPS, 
медицинских, оптического распознавания лиц, социальных и пр. 
Таким образом, разработаны и внедрены системы:
 
• тотального социального мониторинга;
 
• отслеживания контактов с потенциально и реально заражен-
ными людьми;
 
• распознавания (с вытекающими последствиями) лиц, зара-
женных, потенциально зараженных, имеющих или не имеющих 
на лице маску, и т.д.
Вузы и колледжи также не остались в стороне от данного про-
цесса развития. Студенты с удовольствием проектируют разнооб-
разные информационные системы, преследующие цели автомати-
зации и минимизации контактов между людьми:
 
• для школы и вуза;
 
• для предприятий общественного питания с минимизацией кон-
тактов при заказе меню;
 
• для диагностики в пешеходном потоке лиц, игнорирующих 
нормы социальной дистанции и распоряжения о ношении масок, 
и т.д.
Относительно студенческих проектов необходимо отметить 
следующее. На всех защитах выпускной квалификационной ра-
боты очевидно, выполнены ли работы студентами с уровня «сту-
денческая скамья» либо выполнены студентами — авторами, уже 
имеющими производственный опыт. Указанные две категории раз-
личаются довольно существенно. Отсюда следует рекомендация 
обучающимся: как можно раньше начать работать по специаль-
ности (не в ущерб учебе), если они планируют продолжать работу 
по профилю обучения.
При этом следует отметить, что инновационность чаще всего 
остается за вузом — получение патентов, фиксация результатов 
инновационной деятельности и т.д., поскольку именно в вузе 
учатся и работают как молодежь, обладающая «свежими мозгами», 
так и опытные преподаватели, способные видеть и реализовывать 
тенденции завтрашнего дня. Следовательно, для студентов очень 

важна практика и еще раз практика. При этом студентам следует 
изучать технологии как сегодняшнего, так и завтрашнего дня. 
Именно на это и нацелена данная книга.
Имеется еще одна существенная тенденция. Стремительное развитие 
IT-сферы влечет за собой такое же стремительное изменение 
в образовательных стандартах. Если более 10–15 лет назад образовательные 
стандарты держались неизменными примерно пять лет, 
то сегодня меняются буквально каждые 1,5–2 года.
При этом руководящие и надзорные органы в образовании 
нашли эффективный способ государственного регулирования образования — 
не разрабатывать собственные позиции в формате 
«знать-уметь-владеть», а обеспечивать соответствие новым профессиональным 
стандартам, иными словами, осуществлять привязку 
образовательных стандартов к профессиональным.

Часть I.

ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ СУБД 
SQL-ТИПА НА ПРИМЕРЕ MYSQL

ОБЩИЕ СВЕДЕНИЯ

В настоящем учебном пособии в качестве операционной системы 
(ОС) используется ОС Fedora как одна из наиболее простых в установке 
и подходящих для учебных целей операционных систем семейства 
Linux. На момент написания книги текущей версией была 
Fedora 34.
В настоящее время установка ОС Fedora не является сложным 
процессом. Поэтому, если у читателя ОС Fedora не инсталлирована, 
то он легко справится с этим самостоятельно (https://getfedora.
org). Для удобства предлагается использовать Fedora Workstation 
с графическим интерфейсом.
Если root с паролем не был создан при установке, то для установки 
пароля root нужно выполнить команду

$ sudo passwd root

В качестве систем управления базами данных (СУБД) будем 
использовать MySQL (на момент написания книги использовалась 
версия 8). MySQL — свободная реляционная система управления 
базами данных, разработку и поддержку которой осуществляет 
корпорация Oracle. Распространяется как под GNU General Public 
License, так и под коммерческой лицензией, в связи с чем часть 
функций в свободной версии недоступна. Однако это касается 
специфических возможностей, редко используемых на практике. 
Более подробно см. [1].
Как правило, MySQL устанавливается на сервер, к которому 
обращаются локальные или удаленные клиенты. Однако MySQL 
можно установить и на локальном компьютере.
К достоинствам СУБД MySQL также относится поддержка 
большого количества типов таблиц, например InnoDB (транзакции 
на уровне отдельных записей), MyISAM (для полнотекстового поиска) 
и пр., что делает использование СУБД MySQL пригодным 
для широкого класса задач.

ЛАБОРАТОРНАЯ РАБОТА № 1. УСТАНОВКА И ОСВОЕНИЕ 
РАБОЧЕГО ПРОСТРАНСТВА MYSQL WORKBENCH ДЛЯ РАБОТЫ 
С СУБД MYSQL

Цель: изучение принципов установки и работы с СУБД MySQL.

Установку СУБД MySQL будем производить из-под root (в режиме 
администратора). Поэтому до начала установки необходимо 
убедиться, что соответствующие права имеются.
Внимание! После завершения каждого этапа установки необходимо 
перезагружать компьютер.
Дистрибутивы MySQL для различного типа операционных 
систем доступны на https://dev.mysql.com.
Если вы не находитесь в режиме администратора, то необходимо 
перейти в него ($ su -). Далее ввести пароль администратора ОС 
и (# dnf -y update):

[user@computer_name]$ su -
Пароль:
[root@computer_name]# dnf -y update

-y означает, что на вопрос обновления ответ Yes дается автоматически, 
что упрощает установку обновлений для учебных задач.
Установка СУБД MySQL:

[root@computer_name]# dnf install community-mysql-server

Если СУБД MySQL уже была установлена ранее, то появится 
сообщение:

Пакет community-mysql-server-8.0.23-1.fc33.x86_64 уже установлен.
Зависимости разрешены.
Отсутствуют действия для выполнения
Выполнено!

Далее в терминале набираем команды (первая из которых запускает 
сервер, вторая дает возможность автоматического запуска 
при загрузке ОС):

[root@computer_name]# systemctl start mysqld.service
[root@computer_name]# systemctl enable mysqld.service

Будьте внимательны, в более старых версиях Fedora эти команды 
немного отличаются.
Далее создадим пароль root (администратора) для управления 
MySQL. Выполним команду

root@computer_name]# mysqladmin -u root пароль_админ_mysql

Войдем в терминал под root:

[root@computer_name]# mysql -u root -p 

Введем пароль администратора MySQL и войдем в командную 
строку MySQL в терминале.
Для выхода из терминала MySQL нужно ввести \q и нажать 
Enter.
Далее для удобства работы будем использовать графический 
интерфейс. Для работы с MySQL можно применять, например, 
phpMyAdmin или MySQL Workbench. Для наших целей более 
удобным является MySQL Workbench.
Для установки MySQL Workbench скачайте бесплатную версию 
с http://dev.mysql.com/downloads/workbench и установите ее 
(рис. 1.1).
На старых версиях Fedora Linux нужно было создать порт 3306 
tcp (порт MySQL). В последних версиях порт настраивается автоматически 
при установке MySQL.
Примерный вид экрана при первом вызове MySQL Workbench 
представлен на рис. 1.2 (он также содержит приветствие и некоторые 
ссылки: на документацию (https://dev.mysql.com/doc/
workbench/en), блог (https://mysqlworkbench.org) и форум (https://
forums.mysql.com)).
На рис. 1.2 видно, что верхняя часть страницы содержит основное 
меню. Для работы с файлами (File) оно предусматривает создание 
новой модели, открытие существующей, печать, выход и т.п., редактирование (
Edit), предусматривает отмену действия, копирование, 
вставку, вырезание, поиск. Эти пункты меню имеют практически 
тот же состав функций, что и хорошо известные программные продукты. 
Пункт меню вид (View) служит для настройки отображения, 
в том числе его увеличение, перемещение по таблицам.
Для операций с базой данных (выбора и подключения, прямого 
и обратного инжиниринга) используется пункт меню Database.
Пункт меню инструменты (Tools) позволяет работать с различ-
ными утилитами.

Доступ онлайн
392 ₽
от 333 ₽
В корзину