Базы данных: Проектирование и разработка информационных систем с использованием СУБД MySQL и языка Go
Покупка
Основная коллекция
Тематика:
Проектирование баз и банков данных
Издательство:
НИЦ ИНФРА-М
Год издания: 2022
Кол-во страниц: 325
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-16-017213-2
ISBN-онлайн: 978-5-16-106422-1
DOI:
10.12737/1830834
Артикул: 753620.01.01
Учебное пособие предназначено для изучения и создания баз данных и информационных систем и приложений с использованием системы управления базами данных MySQL и языка программирования Go. Книга последовательно знакомит обучающихся с установкой и освоением рабочего пространства MySQL Workbench для работы с СУБД MySQL; основами администрирования сервера MySQL; проектированием ER-моделей в MySQL Workbench. Даны основы языка Go. Рассматривается создание проекта на языке Go. С целью удобства работы с учебным пособием программные коды размещены в облачном хранилище электронной библиотечной системы издательства «Znanium».
Соответствует требованиям федеральных государственных образовательных стандартов высшего образования последнего поколения и профессиональных стандартов.
Для студентов, бакалавров, магистрантов, аспирантов и специалистов, обучающихся по специальностям и направлениям подготовки: «Информатика и вычислительная техника», «Информационные системы и технологии», «Программная инженерия», «Прикладная математика и информатика», «Управление в технических системах», «Бизнес-информатика», «Педагогическое образование», а также для всех лиц, занятых в области проектирования современных баз данных, информационных систем, создания мобильных и интернет-приложений, основанных на СУБД MySQL и языке программирования Go.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
- 27.03.04: Управление в технических системах
- 38.03.05: Бизнес-информатика
- 44.03.01: Педагогическое образование
ГРНТИ:
Только для владельцев печатной версии книги: чтобы получить доступ к дополнительным материалам, пожалуйста, введите последнее слово на странице №154 Вашего печатного экземпляра.
Ввести кодовое слово
ошибка
-
activity260721_1141.zip
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
БАЗЫ ДАННЫХ ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА ИНФОРМАЦИОННЫХ СИСТЕМ С ИСПОЛЬЗОВАНИЕМ СУБД 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) позволяет работать с различными утилитами.