Технология хранения, поиска и сортировки информации
Изучение темы следует начать с описания области применения компьютерных информационных систем, с обоснования актуальности данного приложения компьютерной техники. Задачу можно сформулировать следующим образом: имеется большой объем данных о какой-то реальной системе объектов или событий. Например, о книгах в библиотеке, работниках предприятия, товарах на складе, дорожно-транспортных происшествиях за длительный период времени и т.п. Необходимо организовать хранение этой информации таким образом, чтобы ее было удобно просматривать, пополнять, изменять, искать нужные сведения, делать любые выборки, осуществлять сортировку в любом порядке. Такой работой людям приходилось заниматься и задолго до появления компьютера. Основным средством хранения данных была бумага. Данные хранились в виде списков в толстых журналах, папках, на картонных карточках. Последний способ используется, например, в библиотечных каталогах. Большинству учеников он хорошо знаком: на каждой карточке записаны сведения об отдельной книге. В алфавитном каталоге карточки систематизированы по фамилиям авторов в алфавитном порядке, в предметном каталоге — по тематике книг. Подобные систематизированные картотеки используются в отделах кадров предприятий. Они удобны тем, что легко можно извлечь нужную карточку, заменить, добавить новые карточки, сохраняя установленный порядок.Тем не менее, если такая картотека содержит тысячи карточек, то, как бы совершенна ни была ее организация, обработка данных в ней — дело длительное и трудоемкое.
Компьютерные информационные систем ы позволяют хранить большие объемы данных, осуществлять в них быстрый поиск, вносить изменения, выполнять всевозможные манипуляции с данными (группировать, сортировать и пр.). Следует привести примеры таких информационных систем. Например, система продажи железнодорожных и авиационных билетов. Другой знакомый ученикам пример: во время телерепортажей с крупных международных соревнований, олимпийских игр на экран мгновенно выводится досье любого спортсмена, о котором говорит комментатор — это работает компьютерная информационная система.
Основой всякой информационной системы является база данных — организованная совокупность данных на магнитных дисках. Ученики уже хорошо знают, что информация на дисках хранится в виде файлов. Поэтому первый вывод, который можно сделать относительно организации больших баз данных — это то, что они требуют больших объемов дисковой памяти.
Тема «Базы данных и информационные системы» насыщена теоретическими понятиями. Эти понятия пересекаются с другими содержательными линиями базового курса: информационное моделирование, представление информации (в частности, логической информации). Активное развитие теории баз данных началось в 1970-х гг. Особое место в ней занимает теория реляционных баз данных (РБД), разработанная Е. Коддом.
К теоретическим вопросам, рассматриваемым в рамках базового курса, относятся вопросы классификации БД, структуры однотабличной РБД.
Классификация базданных. Базы данных классифицируются по разным признакам. По характеру хранимой информации БД делят на фактографические и документальные. Если проводить аналогию с описанными выше примерами информационных хранилищ, то фактографические БД — это картотеки, а документальные — это архивы. В фактографических БД хранится краткая информация в строго определенном формате. В документальных БД — всевозможные документы. Причем это могут быть не только текстовые документы, но и графика, видео и звук (мультимедиа).
Классификация по способу хранения данных делит БД на централизованные и распределенные. Вся информация в централизованной БД хранится на одном компьютере. Это может быть автономный ПК или сервер сети, к которому имеют доступ пользователи-клиенты. Распределенные БД используются в локальных и глобальных компьютерных сетях. В таком случае разные части базы хранятся на разных компьютерах.
Третий признак классификации БД — по структуре организации данных. В линии «Моделирование и формализация» рассказывается о трех способах организации данных: табличном, иерархическом и сетевом. Базы данных, использующие соответствующий способ организации информации, называются реляционными (табличные БД), иерархическими и сетевыми БД.
В базовом курсе информатики рассматриваются лишь фактографические реляционные базы данных. Это связано не только с ограниченностью школьного курса, но и с тем фактом, что реляционный тип БД используется сегодня наиболее часто и является универсальным. Теоретически доказано, что любая система данных может быть отражена с помощью таблиц. Простейшая реляционная БД содержит одну таблицу, более сложная может состоять из множества взаимосвязанных таблиц.
Структура однотабличной реляционной БД. Таблица содержит информацию о некоторой системе объектов или событий. В разных строчках содержится информация о разных объектах описываемой системы, а столбцы соответствуют различным атрибутам этих объектов. В терминологии реляционных баз данных строки таблицы называются записями, столбцы — полями. Само название «реляционная БД» происходит от английского слова «relation», что переводится как «отношение». Здесь термин «отношение» понимается как взаимосвязь между полями таблицы. В реляционном подходе таблица называется отношением.
Объяснение данного материала следует проводить на конкретных примерах («Домашняя библиотека», «Погода», «Успеваемость»). Следует подчеркнуть, что в базах данных каждая таблица должна иметь свое имя. Учителю будет удобно работать, если эти таблицы вынести на плакаты.
Основные представления, которые должны быть закреплены учениками:
• всякая таблица содержит в себе информацию о некоторой реальной системе (процессе) и, следовательно, является ее информационной моделью;
• всякая запись в таблице — информация о конкретном объекте (событии) данной системы;
• значение поля в каждой записи — это определенная характеристика (свойство, атрибут) объекта.
Вопросы, задаваемые ученикам для закрепления этих понятий должны быть следующего характера:
Вопрос: Информация о какой системе содержится в таблице «Успеваемость»?
Ответ: Об определенном классе школы.
Вопрос: Информация о каком объекте содержится в каждой записи этой таблицы?
Ответ: О конкретном ученике.
Вопрос: Что обозначают значения полей в записи?
Ответ: Оценки, полученные данным учеником по школьным предметам.
Основные понятия, связанные с записями и полями: главный ключ записи, имя поля, значение поля, тип поля.
Главный ключ — это поле или совокупность полей, которое однозначно определяет запись в таблице. Можно еще сказать так: главный ключ — это идентификатор записи. В базах данных слово «ключ» имеет несколько употреблений: ключ поиска — поле, по значению которого ищется запись в БД, ключ сортировки — поле, по значению которого происходит упорядочение записей. Поэтому идентификатор записей приходится называть главным ключом.
Учителю важно понимать, что тема «Базы данных» содержит в себе ряд узловых вопросов, имеющих фундаментальное значение для курса информатики в целом. В этой теме ученики впервые встречаются с понятием величины. В дальнейшем это понятие будет широко использоваться в электронных таблицах, в алгоритмах и программах. Величина — это отдельный информационный объект, имеющий собственное имя и занимающий место в памяти компьютера. С этой точки зрения поля являются величинами. Каждое поле в таблице имеет имя, для каждого поля определен тип. Снятие типа величины связано с тремя ее свойствами:
• множеством значений, которые может принимать величина;
• множеством операций, которые можно выполнять с этой величиной;
• формой внутреннего представления в памяти ЭВМ.
В большинстве случаев в базах данных используются четыре основных типа: символьный, числовой, дата и логический. Поле символьного типа может хранить значение любой последовательности символов; числовые поля могут содержать целые или дробные десятичные числа; дата — день/месяц/год; логические поля — значения логических величин (да — нет, истина — ложь, true — false).
В данном разделе впервые в курсе информатики ученики встречаются с логическим типом данных, с логическими величинами. Первое понятие о логической величине можно дать как ответ на альтернативный вопрос. Например: «Имеется ли данная книга в библиотеке?», или «Поступил ли абитуриент в университет», или «На улице идет дождь?» и т. п. Ответами на такие вопросы могут быть только «да» или «нет». Синонимами являются «истина» «ложь»; «true», «false». Если поле таблицы будет принимать только такие значения, то ему назначается логический тип.
Необходимо закрепить понятия «главный ключ», «имя поля», «тип поля» на серии заданий.
Задания первого типа: дано имя таблицы и перечень полей, требуется указать главный ключ и определить типы всех полей. Пример:
БИБЛИОТЕКА (НОМЕР, АВТОР, НАЗВАНИЕ, ГОД, ПОЛКА)
Здесь использована традиционная форма для представления таблиц (отношений) в теории реляционных баз данных. Перед скобками записано имя таблицы, в скобках через запятую перечислены имена полей. Ключевые поля подчеркиваются. В данном отношении все поля символьного типа.
ПОГОДА (ДЕНЬ, ОСАДКИ, ТЕМПЕРАТУРА, ДАВЛЕНИЕ, ВЛАЖНОСТЬ)
Здесь поле ДЕНЬ имеет тип «дата», ОСАДКИ — символьный тип; ТЕМПЕРАТУРА, ДАВЛЕНИЕ и ВЛАЖНОСТЬ - числовые поля.
УСПЕВАЕМОСТЬ (УЧЕНИК, РУССКИЙ, АЛГЕБРА, ХИМИЯ, ФИЗИКА, ИСТОРИЯ, МУЗЫКА)
Здесь поле УЧЕНИК символьного типа, все остальные — числового. Оценки имеет смысл определить числовым типом, так как в запросах могут использоваться вычисления, например, поиск по среднему баллу.
Задания второго типа: определена предметная область базы данных; требуется озаглавить таблицу, определить имена полей и их типы, назначить главный ключ. Конечно, эта задача имеет отношение к области проектирования БД и уже по этой причине сложная. Поэтому требовать от учеников какой-то полноты ее решения не следует. Достаточно, чтобы они указали несколько полей, имеющих отношение к данной теме, и правильно определили типы полей. Например, требуется определить поля, типы полей и ключи для баз данных «Страны мира», «Одноклассники», «Кинофильмы». Возможны следующие решения:
СТРАНЫ_МИРА СТРАНА — символьный. СТОЛИЦА- символьный ПЛОЩАДЬ — числовой НАСЕЛЕНИЕ — числовой ПОСЕЩАЛ - логический | ОДНОКЛАССНИКИ ФАМИЛИЯ — симв. ИМЯ - симв.. АДРЕС — симв. ТЕЛЕФОН — симв. РОДИЛСЯ - дата | КИНОФИЛЬМЫ НАЗВАНИЕ — симв. СТРАНА - симв ЖАНР — симв. РЕЖИССЕР — симв ДУБЛИРОВАН -лог. |
После знакомства с основными понятиями, относящимися к организации информации в реляционных БД, следует перейти к изучению программного обеспечения, предназначенного для работы с базами данных. Такое программное обеспечение называется СУБД — система управления базами данных.
В базовом курсе Н.Д.Угриновича не предполагается освоение учащимися какой-либо СУБД. В качестве программных средств для организации табличного хранения данных описывается использование текстового процессора MS Word и табличного процессора MS Ехсеl. Для манипулирования данными используются возможности сортировки строк в таблицах. Поиск данных реализуется в электронных таблицах с помощью механизма фильтрации.
В практикуме по информационным технологиям в составе УМК к базовому курсу Н. В. Макаровой имеется раздел «Освоение системы управления базой данных Ассеss». Выполняя задания из этого раздела, учащиеся осваивают основные технологические приемы работы в среде СУБД МS Ассеss: создание структуры и заполнение базы данных, использование форм, сортировка и фильтрация данных, создание запросов и отчетов.
В учебнике И.Г.Семакина в соответствии с общим принципом, принятым в курсе, не приводится описания какой-либо конкретной СУБД. Применен следующий методический прием: рассматривается некоторая гипотетическая реляционная СУБД. Для нее определяется язык команд, в котором используются русские служебные слова. Система взаимодействует с пользователем в диалоговом режиме: на экран выводится приглашение в виде точки (так принято в dBase и ей подобных СУБД). В ответ на приглашение пользователь вводит с клавиатуры очередную команду. После выполнения команды повторяется приглашение. Задания для практической работы учащихся содержаться в разделе «Базы данных» задачника-практикума. Условия заданий сформулированы инвариантно к используемой СУБД и, следовательно, могут быть выполнены в любой системе реляционного типа, выбранной учителем. В последнее время наиболее часто используемой в школах системой стала МS Ассеss.
Изучение конкретной СУБД следует проводить по стандартной методической схеме. В отличие от интерфейса текстовых или графических редакторов, интерфейсы различных СУБД менее унифицированы. Поэтому здесь трудно давать обобщенное описание. Адаптацию к конкретной системе должен выполнить учитель.
Например, для СУБД Access различаются следующие основные режимы работы:
• режим работы с таблицей: «Таблица»;
• режим работы с запросами: «Запрос»;
• режим работы с отчетами: «Отчет»;
• режим работы с формами: «Форма».
(Режимы работы с макросами и модулями в базовом курсе не рассматриваются). В свою очередь, в каждом из отмеченных режимов есть подрежимы: «Просмотр», «Конструктор» и «Создать». Например, работая в режиме «Таблица — Просмотр», пользователь может просмотреть содержание таблицы, а также отредактировать некоторые ее поля. В режиме «Таблица — Конструктор» можно просмотреть описание структуры таблицы и внести в нее изменения. В режиме «Таблица — Создать» описывается и создается структура новой таблицы.
Подобно большинству тем базового курса, изучение темы «Базы данных» может происходить на разных уровнях. Обозначим два уровня изучения: минимальный и углубленный. Задача первого уровня: дать общие представления о базах данных, научить работе с готовой БД: осуществлять поиск информации; сортировку, удаление и добавление записей. Дополнительные задачи второго уровня: познакомить с основами проектирования БД; научить создавать структуру и заполнять БД.
Работа с СУБД начинается с запуска соответствующей программы, поэтому ученикам необходимо показать, где хранится программа и как ее запустить на исполнение.
Первое понятие, которое должны усвоить ученики: БД хранится в файле; чтобы начать с ней работать, необходимо открыть файл с БД. Затем учитель должен показать, как можно просмотреть на экране записи таблицы. Для этого должна быть заранее подготовлена демонстрационная БД. (В приложении задачника-практикума Семакина содержатся разнообразные таблицы, которые можно использовать в этих целях.)
Представляя ученикам демонстрационную БД, необходимо обратить внимание на то, что наряду с самой таблицей в памяти компьютера хранится описание ее структуры, откуда пользователь может узнать параметры полей: имя, тип, формат и др. В СУБД Access это делается в режиме «Таблица — Конструктор».
Создание БД происходит в два этапа: создание структуры БД и ввод данных. Создание структуры БД в МS Асcеss» следует выполнять с помощью конструктора таблиц. Ученики заранее должны спроектировать таблицу: определить имена полей, типы полей, первичный ключ. Следует обращать внимание учеников на подбор форматов полей. Правильный подбор форматов позволяет рационально использовать память. Экономия памяти - важнейшая проблема при создании БД. Следует продемонстрировать ученикам два способа ввода данных: непосредственно в таблицу и с помощью формы ввода.
Обучение построению многотабличных баз данных может производиться при углубленном изучении базового курса или в рамках профильного курса информатики в старших классах. Нередко в олимпиадных заданиях на базы данных требуется создать многотабличную БД.
Подбор практического материала задачника-практикума Семакина И.Г. позволяет организовать изучение темы «Базы данных» на разных уровнях, использовать различные СУБД. Весь комплект заданий ориентирован на углубленное изучение темы, на использование развитых версии реляционных СУБД, в том числе МS Ассеss. Задача учителя — сделать выборку заданий для организации практической работы в соответствии с поставленными целями обучения, резервом учебного времени, имеющимися техническими и программными средствами.
Запросы на поиск данных. Основная задача любой информационной системы — поиск информации в БД. Поиск происходит по запросу пользователя. В результате выполнения запроса получается таблица, состоящая из полей, указанных в команде. В эту таблицу включается информация из тех записей, которые удовлетворяют условию поиска. Условие поиска представляет собой логическое выражение. Здесь мы встречаемся еще с одной фундаментальной составляющей данной темы курса — с основами математической логики. Помимо прикладного применения в информатике эта тема имеет большое общеобразовательное значение.
Переходя к работе с конкретной СУБД, учитель знакомит учеников с правилами формирования в ней команды запроса. В СУБД Access для создания запросов используется конструктор запросов. Формируемая команда оказывается скрытой от пользователя. Работа с конструктором требует определенных навыков, которые следует отрабатывать на упражнениях. Целесообразно поступать следующим образом: выполнение любого задания на поиск данных в БД начинать с записи в тетради команды на языке гипотетической СУБД, а затем, перейдя в режим создания запроса на выборку, соответствующим образом заполнить поля конструктора.
В СУБД Access используется своеобразный табличный способ представления условий поиска. В ячейках таблицы конструктору запросов записываются условия, накладываемые на значения с ответствующих полей. Условия, стоящие в одной строке, должны выполняться одновременно, т.е. соединены между собой операцией И; условия в разных строках соединены операцией ИЛИ. Таблица играет роль фильтра при отборе записей из БД: сначала отбираются записи, удовлетворяющие условиям первой строки, затем к ним добавляются записи, удовлетворяющие условиям второй строки и т.д.
Запросы на удаление данных. Условия поиска в форме логических выражений используются и в командах удаления записей из таблицы. В Access с помощью конструктора формируется запрос на удаление и условие для отбора удаляемых записей задается в табличной форме, так же как и в запросе на выборку.
Запросы на сортировку. Еще один важный вид манипулирования информацией в базе данных — сортировка записей. Здесь основными понятиями, которые должны усвоить ученики, являются «ключ сортировки» и «порядок сортировки». Ключ сортировки — это поле, по значению которого происходит упорядочение записей в таблице. Порядок сортировки имеет два варианта: по возрастанию значений ключа и по убыванию значений.
Если ключей несколько, то среди них устанавливается иерархия: первичный ключ, вторичный ключ и т.д. В первую очередь записи сортируются по значению первичного ключа; внутри группы записей с одинаковыми значениями первичного ключа происходит сортировка по вторичному ключу и т.д. СУБД Access позволяет сортировать записи как во всей исходной таблице, так и в таблицах, получаемых в результате выполнения запроса на выборку.
Рекомендации по организации практической работы
Практические задания делятся на три типа:
1) задачи: теоретические задания для закрепления основных понятий;
2) упражнения: практические задания для работы в среде СУБД с целью отработки отдельных навыков;
3) индивидуальные работы: зачетные задания, требующие от учеников комплексного владения теоретическими знаниями и практическими навыками.
Упражнения, предложенные в задачнике Семакина, выполняются на компьютере. Учитель может использовать материал упражнений в ходе объяснений для демонстрации приемов работы с базой данных средствами изучаемой СУБД. После такого объяснения следует предложить ученикам коллективно выполнить другие упражнения того же типа. Рабочий материал для упражнений (файлы с таблицами) учитель должен подготовить заранее.
Варианты индивидуальных работ учитель распределяет среди учеников по своему усмотрению. Возможен вариант, когда все делают одно и то же задание. В таком случае учителю легче осуществлять контроль, оказывать помощь ученикам. По результатам выполнения работы каждый ученик получает оценку.