Статья опубликована в рамках: XL Международной научно-практической конференции «Вопросы технических и физико-математических наук в свете современных исследований» (Россия, г. Новосибирск, 23 июня 2021 г.)
Наука: Технические науки
Секция: Информатика, вычислительная техника и управление
Скачать книгу(-и): Сборник статей конференции
дипломов
ПРЕПОДАВАНИЕ БАЗ ДАННЫХ ДЛЯ СТУДЕНТОВ НЕТЕХНИЧЕСКИХ СПЕЦИАЛЬНОСТЕЙ
АННОТАЦИЯ
Рассматривается методика преподавания дисциплины Базы данных для нетехнических специальностей. Изложена подробная предлагаемая программа обучения с элементами методики.
Ключевые слова: базы данных, СУБД, обучение, нетехнические специальности, курс обучения.
Для большинства специалистов, получающих высшее образование по программе бакалавриата и т.д. знакомство с базами данных, как с изнанкой хранения данных в цифровых системах, чрезвычайно полезно. Знакомство с базами данных и СУБД позволяет расширить общеобразовательный кругозор, развить логику мышления, улучшить абстрагирование при мышлении, что является необходимостью процесса высшего образования. Помимо этого, пользователи информационных систем (коими является абсолютное большинство) начинают понимать принципы и механизмы, лежащие в основе работы с данными различных программ или интерфейсов, принципы работы фильтрации данных при выводе.
Началом должно быть знакомство с файловыми системами и разметкой носителей. Данные темы редко рассматриваются в школьных курсах в достаточной мере (чаще вообще не рассматриваются). Знакомство включает краткую историю, назначение, развитие, современное состояние, структуру и правила адресаций. Сравнительно рассматривается история развития баз данных, и сопоставляются возможности ФС и БД. В истории развития баз данных обязательно уделяется внимание иерархическому и сетевому типам, разбирается структура и акцентируется связь структур с файловыми системами и различия. Основное внимание уделяется реляционным базам данных, как наиболее распространенным. Вместе с тем обязательно рассматриваются постреляционные и объектно-ориентированные базы данных и излагаются причины их появления, в т.ч. в связи с Big Data, ИИ.
Во вводной части также конкретизируются понятия БД и СУБД, рассматриваются типы СУБД, взаимодействие с СУБД, перечисляются конкретные СУБД и их производители, вводится понятие распределенных баз данных, описывается взаимодействие клиента и сервера БД, назначение клиент-серверных и файл-серверных организаций баз данных, основные требования к базе данных.
Основная часть начинается с понятия «модель данных», трехуровневой архитектуры ANSI и понятий «физическая независимость» и «логическая независимость». На этой базе дается классификация моделей – инфологические, даталогические, физические – приводятся примеры и показывается связь с архитектурой баз данных ANSI.
Далее вводятся основные понятия реляционной теории: отношения, атрибуты, домены, кортежи, схема отношения, переменная отношения, а так же основные операции: объединение, пересечение, разность, декартово произведение, ограничение (фильтрация), проекция, соединение, деление. Для иллюстрации всех понятий и операций используется представление в виде таблиц и диаграммы Эйлера-Венна. Приводятся примеры на таблицах. На этой основе объясняются понятия: отсутствие одинаковых кортежей и первичный ключ, независимость последовательности кортежей и атрибутов, атомарность значений атрибутов. Акцентируется внимание на важности понятия «первичный ключ», описываются свойства (минимальность и т.д.), объясняются термины «простой ключ», «составной ключ», «альтернативный ключ».
После этого можно переходить к инфологическим моделям. Конкретно, к ER-диаграммам. На примере ER-диаграмм начинается изложение порядка проектирования базы данных. Вводится понятие предметной области, по каким признакам она выбирается. Объясняется как выбирать существенные объекты предметной области и их отношения. Следующим определяется выбор атрибутов сущностей, выбор ключевого атрибута, определение связей между сущностями. Для записи схем выбирается некоторый единый формат диаграммы Чена. При разборе связей определяются виды связей «один-к-одному», «один-ко-многим», «многие-ко-многим». Объясняется приемлемость и неприемлемость видов связей, метод исключения связи «многие-ко-многим» и вид «сущность-действие». Приводятся примеры создания ER-диаграмм в реальном времени на обыденных примерах. Позиционируется метод как основной при проектировании баз данных на данном уровне, а результатом указывается концептуальная схема базы данных.
В качестве метода даталогического проектирования дается метод нормальных форм. До метода нормальных форм даются правила Кодда для реляционных систем с подробными разъяснениями. Далее все относится только к реляционным системам. Объясняется понятие «нормальная форма», его суть и применимость нормальных форм при проектировании (аномалия обновления, метод декомпозиции). После этого даются формулировки всех нормальных форм, но подробно разъясняются, в т.ч. и на примерах, только три нормальные формы (понятия функциональной зависимости и многозначной зависимости явно не вводятся). Применение только трех форм аргументируется практикой применения. Разъясняются возможности проектирования при помощи метода нормальных форм. В качестве результата указывается логическая схема базы данных.
Физическое проектирование начинается с рассказа об оснастке СУБД, в частности о наличии графических средств для работы с СУБД и командной строки. Далее вводится понятие о SQL и сопоставляется работа с графической оболочкой и командной строкой. Разъясняется создание базы данных, последовательность создания таблиц и ограничений, последовательность заполнения таблиц. Вводится понятие о целостности базы данных и о значении Null. Связываются понятия домена данных и типа и ограничений. [1]
Разбор возможностей SQL начинается со структуры языка и его возможностей. Возможно некоторое введение в историю. Первыми разбираются запросы на выборку. Приводятся и разбираются примеры простых запросов (только Select <> From). Далее вводится понятие фильтра Where и виды условий фильтрования: тета-сравнение, принадлежность диапазону, множеству, совпадение (несовпадение) с шаблоном, сравнение с NULL. Вводится ключевое слово Distinct. Объясняется порядок и использование Order by и приводятся примеры. Вводится понятие агрегатных функций. Приводятся примеры запросов с агрегатными функциями. Разъясняется необходимость группировки данных, механизм работы Group by, излагаются правила использования Group by. Приводятся примеры. Дополняется необходимость фильтрации вывода после группировки – объясняется порядок использования Having, сравнивается Having и Where. Вводится сортировка вывода, многоуровневая сортировка и порядок сортировки. Далее разъясняется необходимость сложных запросов, что это такое и приводятся примеры. Даются признаки необходимости сложного запроса. Вводится понятие соединения. Даются типы соединений с использованием диаграмм Эйлера-Венна (где применимо) и даются примеры.
Операторы DDL разъясняются на примере базы данных и таблицы. Create database вводится без размещения и журналов. Create table дается подробно – помимо описания полей даются три способа ввода ограничений: NULL, UNIQUE, DEFAULT, CHECK, CONSTRAINT, PRIMARY KEY, FOREIGN KEY, MATCH, ON DELETE, ON UPDATE. Подробно разъясняется применение всех ограничений. Даются примеры создания таблиц на основе запросов. Предложения Drop даются на примере базы данных и таблицы. Предложения Alter даются на примере таблицы с несколькими примерами добавления и удаления полей и ограничений. [2]
Операторы DML даются подробно (с упоминанием ограничений целостности) с достаточным количеством примеров. Для Insert into дается полный и сокращенный синтаксис.
Далее рассказывается о понятии и пользе представлений в практической деятельности: создание и удаление, опции создания, модифицируемые и немодифицируемые, примеры использования.
Следующий элемент – индексы. Объясняются принципы работы индексов. Вводятся понятия плотного и неплотного индексов. Приводятся примеры неявного создания индексов в базе данных, а также создание и удаление индексов в терминах SQL, уникальные и неуникальные индексы.
Далее дается определение транзакции, разъясняется на примерах и сопоставляется с запросами SQL. Даются предложения SQL для управления транзакциями. Разъясняются требования ACID и уровни изоляции. Дается представление об уровнях изоляции транзакций по умолчанию и способы управления изоляцией.
К сведениям о транзакциях добавляются сведения о ведении журналов: важность ведения, подробность, цель. Даются модели мягкого и жесткого сбоев и способы восстановления базы данных после них.
В администрировании и структуре базы данных дается структура СУБД, БД, иерархия пользователей, роли. Рассказывается об управлении привилегиями, видах привилегий, показывается в терминах SQL создание и удаление пользователей, ролей, передача и отзыв привилегий, возможности суперпользователя.
В практической части работа начинается в среде MS Access или в аналогичной среде (производные от HSQLBD). Разбирается интерфейс, создается однотабличная база данных, несколько форм к ней (с различной целью), несколько простых запросов на выборку и несколько отчетов. Рассматривается работа с запросами в среде конструктора. Следующая база данных создается многотабличная. В ней создается схема базы данных, проводится импорт данных, создаются запросы на различные действия, сложные отчеты и формы, пробуется режим SQL. По результатам проводится проверочная работа, содержащая изученные элементы.
Следующий вид практической работы – создание ER-диаграмм. В качестве исходных данных берутся формулировки задания (наподобие ТЗ) и предлагается создать ER-диаграмму базы данных. Используется много заданий для последовательного приближения обучаемых к самостоятельному созданию диаграмм. После этого изучается нормализация отношений. Исходным заданием является список полей будущей базы данных (или таблица), и предлагается создать схему базы данных, которая бы соответствовала трем нормальным формам. Упражнение так же повторяется многократно до достижения самостоятельности в правильном создании схемы. По результатам занятий по проектированию проводится проверочная работа (или две), в которой обучаемые самостоятельно строят ER-диаграммы и схемы базы данных.
Последний вид практических работ состоит в отработке навыков написания SQL кода для различных задач. Для работы необходимо наличие локальной сети с доступным сервером SQL (MS, Oracle, Mysql, Mariadb и т.п.) и соответствующими клиентами с командной строкой. Альтернативой может быть программа с консольным окном и доступом к какому-нибудь файлу базы данных из этой программы (т.е. в консоли программы можно вводить SQL код для базы данных). В этом случае подойдут любые системы (исполняемый файл соответствует системе). Один блок работы посвящен выборке – база данных должна содержать таблицы и схему, к которым будут исполняться запросы. Второй блок начинается с создания таблиц базы данных (т.е., исходный файл базы данных не содержит таблиц), содержащих связи и ограничения. После этого таблицы заполняются при помощи DML, изменяются при помощи DML, можно удалить какие-то записи. Далее модифицируются сами таблицы и база: добавляются и удаляются поля и ограничения, таблицы. По итогам отработки навыков написания SQL кода проводится проверочная работа, содержащая составление запросов на бумаге.
По результатам курса проводится проверочная работа или тестирование.
Список литературы:
- Карпова, Т. С. Базы данных: модели, разработка, реализация / Т. С. Карпова. – 2-е изд., исправ. – Москва : Национальный Открытый Университет «ИНТУИТ», 2016. – 241 с. : ил. – Режим доступа: по подписке. – URL: https://biblioclub.ru/index.php?page=book&id=429003
- Кузнецов, С. Введение в модель данных SQL : учебное пособие : [16+] / С. Кузнецов. – 2-е изд., исправ. – Москва : Национальный Открытый Университет «ИНТУИТ», 2016. – 351 с. : илл. – (Основы информационных технологий). – Режим доступа: по подписке. – URL: https://biblioclub.ru/index.php?page=book&id=429087
дипломов
Оставить комментарий