Распределенные базы данных
Покупка
Новинка
Основная коллекция
Тематика:
Базы и банки данных. СУБД
Издательство:
Московский педагогический государственный университет
Год издания: 2023
Кол-во страниц: 40
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-4263-1243-2
Артикул: 834972.01.99
Лабораторный практикум предназначен для проведения занятий по курсам «Распределенные базы данных», «Базы данных» для бакалавров, обучающихся по направлению «Прикладная информатика», а также может использоваться для изучения разделов, связанных с базами данных и управления данными, на направлениях подготовки «Педагогическое образование» (с двумя профилями подготовки). Основная цель практикума - показать все основные задачи и приемы работы с базами данных с помощью языка SQL. Практикум содержит 13 лабораторных работ.
Тематика:
ББК:
УДК:
ОКСО:
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
Министерство просвещения Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования «Московский педагогический государственный университет» П. Д. Кулпеппер, Е. Е. Ковалев РАСПРЕДЕЛЕННЫЕ БАЗЫ ДАННЫХ Лабораторный практикум МПГУ Москва • 2023
УДК 004.65(076.5) DOI: 10.31862/9785426312432 ББК 16.353.1я73-5 К90 Рецензенты: В. Н. Платонов, доцент, кандидат физико-математических наук, доцент кафедры ПИВМ МПГУ А. В. Данилькевич, доцент, кандидат педагогических наук, директор ГБОУ «Школа № 1179», г. Москва Кулпеппер, Полина Дмитриевна. К90 Распределенные базы данных : лабораторный практикум / П. Д. Кулпеппер, Е. Е. Ковалев. – Москва : МПГУ, 2023. – 40 с. : ил. ISBN 978-5-4263-1243-2 Лабораторный практикум предназначен для проведения занятий по курсам «Распределенные базы данных», «Базы данных» для бакалавров, обучающихся по направлению «Прикладная информатика», а также может использоваться для изучения разделов, связанных с базами данных и управления данными, на направлениях подготовки «Педагогическое образование» (с двумя профилями подготовки). Основная цель практикума – показать все основные задачи и приемы работы с базами данных с помощью языка SQL. Практикум содержит 13 лабораторных работ. УДК 004.65(076.5) ББК 16.353.1я73-5 ISBN 978-5-4263-1243-2 DOI: 10.31862/9785426312432 © © МПГУ, 2023 Кулпеппер П. Д., Ковалев Е. Е., текст, 2023
СОДЕРЖАНИЕ Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Лабораторная работа № 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Лабораторная работа № 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Лабораторная работа № 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Лабораторная работа № 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Лабораторная работа № 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Лабораторная работа № 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Лабораторная работа № 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Лабораторная работа № 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Лабораторная работа № 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Лабораторная работа № 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Лабораторная работа № 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Лабораторная работа № 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Лабораторная работа № 13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Список использованной литературы . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
ВВЕДЕНИЕ Лабораторный практикум по дисциплине «Распределенные базы данных» является важной частью методической системы, направленной на формирование прикладных компетенций у студентов направления 09.03.03 «Прикладная информатика». Эта дисциплина является продолжением курса «Базы данных» и охватывает область применения сетевых технологий при реализации управления данными. Основной упор сделан на овладении практическими приемами манипулирования данными при помощи языка SQL. Цель освоения дисциплины: знакомство с основными современными направлениями в области создания распределенных баз данных, основными правилами нормализации данных, изучение основ программирования баз данных и выполнения типовых операций, таких как: добавление, изменение и удаление данных в распределенной структуре обработки данных, разработки распределенных SQL-приложений, а также формирование определенных практических навыков разработки приложений баз данных с архитектурой «клиент-сервер». Для выполнения представленных в практикуме заданий необходимо знакомство с основами теории реляционных баз данных, жизненным циклом баз данных, современными системами управления базами данных. Практикум направлен на формирование компетенции, представленной в таблице 1. Таблица 1 Индикаторы достижения компетенций Код компетенции Формулировка компетенции Индикаторы достижения компетенций ПК-5 Способен осуществлять управление базами данных и поддержку информационного обеспечения решения прикладных задач ПК-5.1 Владеет прикладными средствами моделирования, разработки и администрирования баз данных ПК-5.2 Владеет средствами администрирования локальных вычислительных сетей ПК-5.3 Применяет средства сопровождения и контроля использования ИТ-инфраструктуры ПК-5.4 Публично представляет результаты решения конкретной задачи, разбирается в вопросе и проблемах построения информационных систем
ЛАБОРАТОРНАЯ РАБОТА № 1 Создание многотабличной базы данных (БД), многотабличные запросы Под распределенной базой данных (РБД) понимается набор логически связанных между собой разделяемых данных, которые физически распределены по разным узлам компьютерной сети. Система управления РБД – это программный комплекс (СУБД), предназначенный для управления РБД и позволяющий сделать распределенность прозрачной для конечного пользователя. Прозрачность РБД заключается в том, что с точки зрения конечного пользователя она должна вести себя точно так же, как централизованная. Логически единая БД разделяется на фрагменты, каждый из которых хранится на одном компьютере, а все компьютеры соединены линиями связи. Каждый из этих фрагментов работает под управлением своей СУБД. Объектами баз данных являются их составляющие, например таблицы, представления, отчеты и т. п. Объекты выполняют функции хранения и обработки информации, чаще всего в реляционном виде как набор связанных таблиц. Таблицы состоят из строк и столбцов и представляют собой структурированный набор сведений о чем-либо. Строки (или записи) – составляющие таблицы, которые содержат определенное описание или характеристики конкретного элемента (субъекта). Столбцы (или поля) – составляющие таблицы, которые содержат описание какого-то одного параметра, но для всех объектов. Каждый столбец в таблице имеет свой тип данных, размер и имя. Обычно все данные при распределенном характере обработки хранятся на сервере, который обслуживает все клиентские запросы. Серверные данные располагаются на одном или нескольких физических дисках или могут распределяться между узлами сети. Чтобы сделать запрос, клиент устанавливает соединение с сервером. Сервер анализирует инструкции, выполняет их, извлекает данные и возвращает результаты запроса [1]. Основным средством запроса, извлечения и манипулирования данными является язык SQL (англ. structured query language – «язык структурированных запросов»). SQL относится к декларативным
П. Д. КУЛПЕППЕР, Е. Е. КОВАЛЕВ. РАСПРЕДЕЛЕННЫЕ БАЗЫ ДАННЫХ. ЛАБОРАТОРНЫЙ ПРАКТИКУМ языкам программирования. Операторы (команды), написанные на SQL, только указывают СУБД, какой результат должен быть получен после выполнения программы, но не описывают процедуру получения этого результата. СУБД сама определяет способ выполнения команды пользователя. В языке SQL традиционно выделяются группа операторов определения данных (Data Defi nition Language – DDL), группа операторов манипулирования данными (Data Manipulation Language – DML) и группа операторов, управляющих привилегиями доступа к объектам базы данных (Data Control Language – DCL) [3]. К операторам языка определения данных (DDL) относятся команды для создания, изменения и удаления таблиц, представлений и других объектов базы данных. Задание 1. Создать базу данных «Университет» (рис. 1). 2. Внести данные в таблицы (10–15 строчек). 3. Сформировать SQL запросы. Запросы 1. Выведите названия кафедр вместе с факультетами, на которых расположены эти кафедры. 2. Выведите названия групп и их кураторов. 3. Выведите имена и фамилии преподавателей, которые проводят занятия у выбранной группы. 4. Выведите названия дисциплин, которые закреплены за указанным преподавателем. 5. Выведите фамилии преподавателей и названия факультетов, на которых они проводят занятия. 6. Выведите названия кафедр и названия групп, которые к ним относятся. 7. Выведите названия кафедр, на которых читается указанная дисциплина. 8. Выведите названия групп, которые обучаются на указанном факультете. 9. Выведите группы выбранного курса, а также названия их факультетов. 10. Для занятий, которые проходят в указанной аудитории, выведите полное имя преподавателя, предмет и номер группы.
ЛАБОРАТОРНАЯ РАБОТА № 1 Рис. 1. Структура базы данных «Университет» Общие требования для полей: • все поля не должны содержать NULL значений; • значения полей типа «Финансирование», «Зарплата» и «Курс» должны быть строго больше нуля.
ЛАБОРАТОРНАЯ РАБОТА № 2 Операторы BETWEEN, IN, LIKE SQL использует специальные операторы IN, BETWEEN, LIKE и IS NULL в дополнение к булевым операциям. Задание 1. Использовать базу данных «Университет», созданную в лабораторной работе № 1. 2. Внести данные в таблицы (10–15 строчек). 3. Сформировать SQL запросы. Запросы 1. Выведите факультеты, у которых финансирование находится в указанном диапазоне, с помощью оператора BETWEEN и с помощью операторов сравнения (2 способа – 2 запроса). 2. Выведите группы с 1-го по 3-й курс, у которых есть указанный предмет. 3. Выведите данные из таблицы «Кафедры», отсортированные по возрастанию по полю «Финансирование». 4. Выведите кафедры, отсортированные по факультету и названию кафедры. 5. Выведите преподавателей, которые проводят занятия у 2-го или у 4-го курсов, с помощью оператора IN и с помощью оператора OR (2 способа – 2 запроса). 6. В порядке обратном алфавитному выведите названия групп, у которых нет указанного предмета. 7. Выведите имена всех кураторов и преподавателей без повторений в алфавитном порядке. 8. Выведите все кафедры и все факультеты с повторениями в порядке обратном алфавитному. 9. Выведите преподавателей, которые проводят занятия, с помощью оператора IN и подзапроса (2 способа – 2 запроса). 10. Выведите все предметы, у которых в названии есть буква «а». 11. Выведите все факультеты, название которых начинается с гласной буквы. 12. Выведите кураторов групп указанной кафедры, у которых фамилия заканчивается на заданную букву.
ЛАБОРАТОРНАЯ РАБОТА № 2 13. Выведите кураторов, у которых имя состоит из 6 и более букв, а в фамилии нет заданной буквы. 14. Выведите все группы первого курса, переименуйте поле «Название», ограничьте вывод 3 строками. 15. Выведите имена и фамилии преподавателей в одном столбце, задайте новое имя столбца.
ЛАБОРАТОРНАЯ РАБОТА № 3 Создание многотабличной БД, нормализация таблиц, работа с операторами JOIN и UNION, агрегирующие функции Нормализация – это процесс эффективной организации данных в БД. Существует две главные причины, обуславливающие необходимость нормализации: • предотвращение записи в БД лишних данных, например хранения одинаковых данных в разных таблицах (сохранение целостности данных); • обеспечение необходимого и обоснованного типа связи между данными (мощности отношения). Нормализация предполагает соблюдение нескольких форм. Форма – это формат структурирования БД. Существует три главные формы: первая нормальная форма (1НФ), вторая (2НФ) и третья (3НФ). Всего таких форм семь, однако на практике для большей части приложений вполне достаточно нормализовать БД до третьей нормальной формы (БД будет считаться нормализованной, когда к ней применяется 3НФ и выше) [3]. JOIN – оператор SQL, который используется для объединения таблиц по ключу, присутствующему в обеих таблицах. Перед ключом ставится оператор ON. Примеры использования различных видов оператора JOIN приведены на рис. 2. Оператор языка SQL UNION предназначен для объединения результирующих таблиц базы данных, полученных с применением ключевого слова SELECT. Условием объединения результирующих таблиц является совпадение количества столбцов в объединяемых запросах. Агрегирующие функции используются для получения обобщающих значений. Их можно применять ко всем строкам таблицы, строкам, определенным в условии WHERE, или к группам строк при применении GROUP BY. В любом случае независимо от структуры набора строк для каждого из них получается единственное значение. Для выполнения агрегирующих операций используются следующие функции: • COUNT определяет количество не пустых (не NULL) строк или значений поля, выбранных посредством запроса; • SUM вычисляет сумму всех выбранных значений данного поля;
Рис. 2. Различные типы соединения таблиц с помощью оператора JOIN