Имя материала: Методика преподавания информатики

Автор: М.П.ЛАПЧИК

12.4. базы данных и информационные системы

 

Методические рекомендации по изучению темы

 

Изучаемые вопросы:

ª Области применения информационных систем и баз данных (БД).

ªКлассификация БД.

ªСтруктура реляционной базы данных (РБД).

ªЭлементы РБД: главный ключ; имя, значение и тип поля.

ªНазначение системы управления базами данных (СУБД); режимы работы СУБД.

ªЗапросы на поиск данных.

ªЗапросы на удаление данных.

ªЗапросы на сортировку.

Области применения. Изучение темы следует начать с описания области применения компьютерных информационных систем, с обоснования актуальности данного приложения компьютерной техники. Задачу можно сформулировать следующим образом: имеется большой объем данных о какой-то реальной системе объектов или событий. Например, о книгах в библиотеке, работниках предприятия, товарах на складе, дорожно-транспортных происшествиях за длительный период времени и т.п. Необходимо организовать хранение этой информации таким образом, чтобы ее было удобно просматривать, пополнять, изменять, искать нужные сведения, делать любые выборки, осуществлять сортировку в любом порядке. Такой работой людям приходилось заниматься и задолго до появления компьютеров. Основным средством хранения данных была бумага. Данные хранились в виде списков в толстых журналах, папках, на картонных карточках. Последний способ используется, например, в библиотечных каталогах. Большинству учеников он хорошо знаком: на каждой карточке записаны сведения об отдельной книге. В алфавитном каталоге карточки систематизированы по фамилиям авторов в алфавитном порядке, в предметном каталоге — по тематике книг. Подобные систематизированные картотеки используются в отделах кадров предприятий. Они удобны тем, что легко можно извлечь нужную карточку, заменить, добавить новые карточки, сохраняя установленный порядок. Тем не менее если такая картотека содержит тысячи карточек, то, как бы совершенна ни была ее организация, обработка данных в ней — дело длительное и трудоемкое.

Другой пример — архивы различных документов. Например, существуют исторические архивы, архивы судебных дел, архивы патентов на изобретения и многие другие. Порой такие архивы занимают целые здания. Поиск в них нужных документов требует значительных усилий. Кроме того, существуют киноархивы, фотоархивы, архивы звуковых записей.

В наше время решению описанных проблем помогают компьютеры.

Компьютерные информационные системы позволяют хранить большие объемы данных, осуществлять в них быстрый поиск, вносить изменения, выполнять всевозможные манипуляции с данными (группировать, сортировать и пр.). Следует привести примеры таких информационных систем. Например, система продажи железнодорожных и авиационных билетов. Другой знакомый ученикам пример: во время телерепортажей с крупных международных соревнований, олимпийских игр на экран мгновенно выводится досье любого спортсмена, о котором говорит комментатор — это работает компьютерная информационная система.

Основой всякой информационной системы является база данных — организованная совокупность данных на магнитных дисках. Ученики уже хорошо знают, что информация на дисках хранится в виде файлов. Поэтому первый вывод, который можно сделать относительно организации больших баз данных — это то, что они требуют больших объемов дисковой памяти.

Теоретические основы. Тема «Базы данных и информационные системы» насыщена теоретическими понятиями. Эти понятия пересекаются с другими содержательными линиями базового курса: информационное моделирование, представление информации (в частности, логической информации). Активное развитие теории баз данных началось в 1970-х гг. Особое место в ней занимает теория реляционных баз данных (РБД), разработанная Е. Коддом. Элементы этой теории рассмотрены в подразделе 10.3 настоящего пособия.

К теоретическим вопросам, рассматриваемым в рамках базового курса, относятся вопросы классификации БД, структуры однотабличной РБД.

Классификация баз данных. Базы данных классифицируются по разным признакам. По характеру хранимой информации БД делятся на фактографические и документальные. Если проводить аналогию с описанными выше примерами информационных хранилищ, то фактографические БД — это картотеки, а документальные — это архивы. В фактографических БД хранится краткая информация в строго определенном формате. В документальных БД — всевозможные документы. Причем это могут быть не только текстовые документы, но и графика, видео и звук (мультимедиа).

Классификация по способу хранения данных делит БД на централизованные и распределенные. Вся информация в централизованной БД хранится на одном компьютере. Это может быть автономный ПК или сервер сети, к которому имеют доступ пользователи-клиенты. Распределенные БД используются в локальных и глобальных компьютерных сетях. В таком случае разные части базы хранятся на разных компьютерах.

Третий признак классификации БД — по структуре организации данных. В разделе «Формализация и моделирование» говорилось о трех способах организации данных: табличном, иерархическом и сетевом. Базы данных, использующие соответствующий способ организации информации, называются реляционными (табличные БД), иерархическими и сетевыми БД.

В базовом курсе информатики рассматриваются лишь фактографические реляционные базы данных. Это связано не только с ограниченностью школьного курса, но и с тем фактом, что реляционный тип БД используется сегодня наиболее часто и является универсальным. Теоретически доказано, что любая система данных может быть отражена с помощью таблиц. Простейшая реля-. ционная БД содержит одну таблицу, более сложная может состоять из множества взаимосвязанных таблиц.

Структура однотабличной реляционной БД. О табличной форме информационной модели речь шла в подразделе 10.1. Таблица содержит информацию о некоторой системе объектов или событий. В разных строчках содержится информация о разных объектах описываемой системы, а столбцы соответствуют различным атрибутам этих объектов. В терминологии реляционных баз данных строки таблицы называются записями, столбцы — полями. Само название «реляционная БД» происходит от английского слова «relation», что переводится как «отношение». Здесь термин «отношение» понимается как взаимосвязь между полями таблицы. В реляционном подходе таблица называется отношением.

Объяснение данного материала следует проводить на конкретных примерах. Например, в учебнике [15] в качестве примеров используются разнообразные таблицы: «Домашняя библиотека», «Погода», «Успеваемость», «Факультативы». Следует подчеркнуть, что в базах данных каждая таблица должна иметь свое имя. Учителю будет удобно работать, если эти таблицы вынести на плакаты.

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

• всякая таблица содержит в себе информацию о некоторой реальной системе (процессе) и, следовательно, является ее информационной моделью;

• всякая запись в таблице — информация о конкретном объекте (событии) данной системы;

• значение поля в каждой записи — это определенная характеристика (свойство, атрибут) объекта.

Вопросы, задаваемые ученикам для закрепления этих понятий, должны быть следующего характера:

Вопрос: Информация о какой системе содержится в таблице «Успеваемость»?

Ответ: Об определенном классе школы.

Вопрос: Информация о каком объекте содержится в каждой записи этой таблицы?

Ответ: О конкретном ученике.

Вопрос: Что обозначают значения полей в записи?

Ответ: Оценки, полученные данным учеником по школьным предметам.

Основные понятия, связанные с записями и полями: главный ключ записи, имя поля, значение поля, тип поля.

Главный ключ — это поле или совокупность полей, которое однозначно определяет запись в таблице. Можно еще сказать так: главный ключ — это идентификатор записи. В базах данных слово «ключ» имеет несколько употреблений: ключ поиска — поле, по значению которого ищется запись в БД, ключ сортировки — поле, по значению которого происходит упорядочение записей. Поэтому идентификатор записей приходится называть главным ключом.

Учителю важно понимать, что тема «Базы данных» содержит в себе ряд узловых вопросов, имеющих фундаментальное значение для курса информатики в целом. В этой теме ученики впервые встречаются с понятием величины. В дальнейшем это понятие будет широко использоваться в электронных таблицах, в алгоритмах и программах. Величина — это отдельный информационный объект, имеющий собственное имя и занимающий место в памяти компьютера. С этой точки зрения поля являются величинами. Каждое поле в таблице имеет имя, для каждого поля определен тип. Понятие типа величины связано с тремя ее свойствами:

• множеством значений, которые может принимать величина;

• множеством операций, которые можно выполнять с этой величиной;

• формой внутреннего представления в памяти ЭВМ.

В большинстве случаев в базах данных используются четыре основных типа: символьный, числовой, дата и логический. Поле символьного типа может хранить значение любой последовательности символов; числовые поля могут содержать целые или дробные десятичные числа; дата — день/месяц/год; логические поля — значения логических величин (да — нет, лстина — ложь, true — false).

В данном разделе впервые в курсе информатики ученики встречаются с логическим типом данных, с логическими величинами. Первое понятие о логической величине можно дать как ответ на альтернативный вопрос. Например: «Имеется ли данная книга в библиотеке?», или «Поступил ли абитуриент в университет», или «На улице идет дождь?» и т.п. Ответами на такие вопросы могут быть только «да» или «нет». Синонимами являются «истина», «ложь»; «true», «false». Если поле таблицы будет принимать только такие значения, то ему назначается логический тип.

Необходимо закрепить понятия «главный ключ», «имя поля», «тип поля» на серии заданий.

Задания первого типа: дано имя таблицы и перечень полей, требуется указать главный ключ и определить типы всех полей' Примеры из учебника:

БИБЛИОТЕКА (НОМЕР, АВТОР, НАЗВАНИЕ, ГОД, ПОЛКА)

 

Здесь использована традиционная форма для представления таблиц (отношений) в теории реляционных баз данных. Перед скобками записано имя таблицы, в скобках через запятую перечислены имена полей. Ключевые поля подчеркиваются. В данном отношении все поля символьного типа.

 

ПОГОДА (ДЕНЬ, ОСАДКИ, ТЕМПЕРАТУРА, ДАВЛЕНИЕ ВЛАЖНОСТЬ)

 

Здесь поле ДЕНЬ имеет тип «дата», ОСАДКИ — символьный тип; ТЕМПЕРАТУРА, ДАВЛЕНИЕ и ВЛАЖНОСТЬ - числовые поля.

 

УСПЕВАЕМОСТЬ (УЧЕНИК, РУССКИЙ, АЛГЕБРА ХИМИЯ, ФИЗИКА,

ИСТОРИЯ, МУЗЫКА)

 

Здесь поле УЧЕНИК символьного типа, все остальные — числового. Оценки имеет смысл определить числовым типом, так как в запросах могут использоваться вычисления, например, поиск по среднему баллу.

 

ФАКУЛЬТАТИВЫ (УЧЕНИК. ГЕОЛОГИЯ, ЦВЕТОВОДСТВО, ТАНЦЫ)

 

Здесь поле УЧЕНИК имеет символьный тип, остальные поля логического типа. Значения этих полей — ответы на вопросы, посещает ли ученик данный факультатив.

Задания второго типа: определена предметная область базы данных; требуется озаглавить таблицу, определить имена полей и их типы, назначить главный ключ. Конечно, эта задача имеет отношение к области проектирования БД и уже по этой причине сложная. Поэтому требовать от учеников какой-то полноты ее решения не следует. Достаточно, чтобы они указали несколько полей, имеющих отношение к данной теме, и правильно определили типы полей. Например, требуется определить поля, типы полей и ключи для баз данных «Страны мира», «Одноклассники», «Кинофильмы». Возможны следующие решения (табл. 12.2):

Таблица 12.2

 

СТРАНЫ_МИРА

ОДНОКЛАССНИКИ

КИНОФИЛЬМЫ

СТРАНА — символьный

СТОЛИЦА — символьный

ГШОШАДЬ — числовой

НАСЕЛЕНИЕ — числовой

ПОСЕЩАЛ — логический

 

ФАМИЛИЯ — символьный

ИМЯ — символьный

АДРЕС — символьный

ТЕЛЕФОН — символьный

РОДИЛСЯ — дата

НАЗВАНИЕ — символьный

СТРАНА — символьный

ЖАНР — символьный

РЕЖИССЕР — символьный

ДУБЛИРОВАН -логический

 

Программное обеспечение. После знакомства с основными понятиями, относящимися к организации информации в реляционных БД, следует перейти к изучению программного обеспечения, предназначенного для работы с базами данных. Такое программное обеспечение называется СУБД — система управления базами данных.

Для персональных компьютеров существует целый ряд СУБД реляционного типа. Исторически одной из первых таких систем была dBASE. Используемые в этой системе форматы представления данных, язык обработки данных стали стандартом для ряда последующих СУБД. К ним относятся FoxPro, Paradox; СУБД с русифицированными оболочками Карат и Ребус, работающие в операционной системе MS-DOS. В состав пакета Microsoft Office входит реляционная СУБД Access, все чаще изучаемая в школе.

Существует два способа работы пользователя с базой данных: работа с помощью прикладных программ, заранее составленных программистом в среде СУБД, и работа путем непосредственного взаимодействия с СУБД. В начальный период появления и распространения баз данных использовался только первый способ. Позже стали появляться СУБД, ориентированные на работу с пользователем. Для них были созданы удобные диалоговые оболочки, позволяющие пользователю легко реализовывать свои потребности в работе с базой данных: пополнять и изменять базу, осуществлять поиск данных по любым условиям, создавать отчетные документы. Наиболее совершенной СУБД такого типа является MS Access.

В разных школах используется разная техника и программное обеспечение. Варианты доступных СУБД могут быть самыми разнообразными: от учебной РБД для УКНЦ до профессиональной MS Access для IBM PC. В различных системах различается способ взаимодействия пользователя с СУБД — пользовательский интерфейс. Есть два принципиально различных режима такого взаимодействия: посимвольный ввод команд и работа с диалоговой оболочкой. Эта ситуация подобна взаимодействию пользователя с операционной системой MS-DOS: работа в режиме командной строки или работа через оболочку Norton Commander. У всякой СУБД существует свой язык описания данных и язык манипулирования данными. Если пользователю приходится работать в режиме посимвольного ввода команд, то он должен знать все подробности синтаксиса командного языка. Диалоговая оболочка — средство интерфейса более высокого уровня. Однако следует понимать, что, работая с оболочкой, пользователь формирует те же самые команды, привлекая вспомогательные средства: меню, панели инструментов, подсказки и пр.

Любая команда — это информация, управляющая выполнением определенного вида работы. Она должна содержать все необходимые данные для этого. Обычно это имя команды и набор параметров. С методической точки зрения важно, чтобы ученики, выполняя любые действия с БД, понимали: какая отдается команда, какие параметры для ее выполнения должны быть сообщены системе.

Изучение конкретной СУБД следует проводить по стандартной методической схеме: «среда — режимы работы — система команд — данные». В отличие от интерфейса текстовых или графических редакторов, интерфейсы различных СУБД менее унифицированы. Поэтому здесь трудно давать обобщенное описание. Адаптацию к конкретной системе должен выполнить учитель. Как всегда в таких случаях, нужно привлекать дополнительную литературу: пособия, справочники, методички.

Например, для СУБД Access различаются следующие основные режимы работы:

• режим работы с таблицей: «Таблица»;

• режим работы с запросами: «Запрос»;

• режим работы с отчетами: «Отчет»;

• режим работы с формами: «Форма»;

(режимы работы с макросами и модулями в базовом курсе не рассматриваются). В свою очередь, в каждом из отмеченных режимов есть подрежимы: «Просмотр», «Конструктор» и «Создать». Например работая в режиме «Таблица — Просмотр», пользователь может просмотреть содержание таблицы, а также отредактировать некоторые ее поля. В режиме «Таблица — Конструктор» можно просмотреть описание структуры таблицы и внести в нее изменения. В режиме «Таблица — Создать» описывается и создается структура новой таблицы.

В учебнике [15] нет описания какой-либо конкретной СУБД. Применен следующий методический прием: рассматривается некоторая гипотетическая реляционная СУБД. Для нее определяется язык команд, в котором используются русские служебные слова. Система взаимодействует с пользователем в диалоговом режиме: на экран выводится приглашение в виде точки (так принято в dBASE и ей подобных СУБД). В ответ на приглашение пользователь вводит с клавиатуры очередную команду. После выполнения команды повторяется приглашение.

Основные типы решаемых задач. Подобно большинству тем базового курса, изучение темы «Базы данных» может происходить на разных уровнях. Обозначим два уровня изучения: минимальный и углубленный. Задача первого уровня: дать общие представления о базах данных, научить работе с готовой БД: осуществлять поиск информации; сортировку, удаление и добавление записей. Дополнительные задачи второго уровня: познакомить с основами проектирования БД; научить создавать структуру и заполнять БД.

Работа с СУБД начинается с запуска соответствующей программы, поэтому ученикам необходимо показать, где хранится программа и как ее запустить на исполнение.

Первое понятие, которое должны усвоить ученики: БД хранится в файле; чтобы начать с ней работать, необходимо открыть файл с БД. Затем учитель должен показать, как можно просмотреть на экране записи таблицы. Для этого должна быть заранее подготовлена демонстрационная БД. (В приложении к подразделу 5.4 задачника-практикума [3] содержатся разнообразные таблицы, которые можно использовать в этих целях.)

Представляя ученикам демонстрационную БД, необходимо обратить внимание на то, что наряду с самой таблицей в памяти компьютера хранится описание ее структуры, откуда пользователь может узнать параметры полей: имя, тип, формат и др. В СУБД Access это делается в режиме «Таблица — Конструктор».

Запросы на поиск данных. Основная задача любой информационной системы — поиск информации в БД. Поиск происходит по запросу пользователя. На языке гипотетической СУБД, используемом в учебнике [15], команда запроса имеет следующую структуру:

 

.справка <список выводимых полей> для <условие поиска>

 

В результате выполнения запроса получается таблица, состоящая из полей, указанных в команде. В эту таблицу включается информация из тех записей, которые удовлетворяют условию поиска. Условие поиска представляет собой логическое выражение. Здесь мы встречаемся еще с одной фундаментальной составляющей данной темы курса — с основами математической логики. Помимо прикладного применения в информатике эта тема имеет большое общеобразовательное значение.

Методические вопросы изучения элементов математической логики, применительно к БД, рассмотрены в подразделе 8.4. Там же обсуждены способы представления простых и сложных условий поиска в БД.

Переходя к работе с конкретной СУБД, учитель знакомит учеников с правилами формирования в ней команды запроса. Если отсутствует диалоговая оболочка и команды задаются посимвольным вводом, то нужно описывать синтаксис команд, обращая внимание на все детали. Например, на языке dBASE команда вывода на экран записей из БД «БИБЛИОТЕКА», относящихся к книгам Л.Н.Толстого, стоящим на 3-й полке, выглядит так:

 

.DISPLAY FOR AVTOR="Толстой Л.Н." .AND. POLKA=3

 

При использовании диалоговой оболочки (например, работа в режиме ассистента в СУБД «Ребус») команда формируется в диалоге. Система подсказывает пользователю каждый шаг и предоставляет меню для выбора очередного элемента команды. При этом пользователь видит на экране формируемую команду.

В СУБД Access для создания запросов используется конструктор запросов. Формируемая команда оказывается скрытой от пользователя. Работа с конструктором требует определенных навыков, которые следует отрабатывать на упражнениях. Целесообразно поступать следующим образом: выполнение любого задания на поиск данных в БД начинать с записи в тетради команды на языке гипотетической СУБД, а затем, перейдя в режим создания запроса на выборку, соответствующим образом заполнить поля конструктора.

В СУБД Access используется своеобразный табличный способ представления условий поиска. В ячейках таблицы конструктора запросов записываются условия, накладываемые на значения соответствующих полей. Условия, стоящие в одной строке, должны выполняться одновременно, т.е. соединены между собой операцией И; условия в разных строках соединены операцией ИЛИ. Таблица играет роль фильтра при отборе записей из БД: сначала отбираются записи, удовлетворяющие условиям первой строки, затем к ним добавляются записи, удовлетворяющие условиям второй строки и т.д.

Вернемся к примеру из подраздела 8.4. Рассматривается формальная БД, представленная следующей таблицей (табл. 12.3):

Таблица 12.3

 

 

Записи

Поля

А

Б

С

R1

1

2

3

R2

1

3

1

R3

2

2

2

R4

3

3

3

R5

3

2

3

 

На языке конструктора запросов Access нужно сформулировать 10 условий поиска к этой базе, представленных в виде следующих логических выражений:

1)А=1 и В = 2;                                                      2)А=1 или А=3;

3)А=1 или В-2;                                                     4) А= 1 или В = 2 или С- 3;

5) А=1 и В = 2 и С = 3;                                        6) не А= 1;

7) А = 1 и В = 2 или С = 3;                  8) А = 1 или В = 2 и С - 3;

9) не А- 1 или В = 2 и С = 3;                              10) (А= 1 или В = 2) и С = 3.

Решения содержатся в следующей таблице (табл. 12.4):

Таблица 12.4

 

 

 

 

 

 

Условие

А

В

С

Условие

А

В

С

1) А=1 иВ=2

 

= 1

= 2

 

6)  не А=1

 

<>1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2) А— 1 или А— 3

 

 

= 1

 

 

7) А=1 и В=2 или С=3

=1

=2

 

=3

 

 

 

 

= 3

 

 

 

 

 

 

3) А=1 илиВ=2

=1

 

 

8) А=1 или В=2 и С=3

=1

 

 

 

= 2

 

 

=2

=3

 

 

 

 

 

 

4) А-1 илиВ-2или С Ъ

=1

 

 

9)не А=1 или В=2 и С=3

 

<>1

 

 

 

= 2

 

 

=2

=3

 

 

= 3

 

 

 

5) А-1 и В~2 и С=3

=1

= 2

= 3

10) (А=1 или В=2) и С=3

= 1

 

=3

 

 

 

 

=2

=3

 

 

 

 

 

 

Страница: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 |