Помимо собственно данных, требуется специальное программное обеспечение, которое с ними работает. Такое универсальное ПО принято называть системами управления базами данных, или сокращенно СУБД. Именно наличие СУБД и разработанных на ее базе программ для конкретной предметной области превращает огромный объем хранимых в компьютерной памяти сведений в мощную справочную систему, способную производить поиск и отбор необходимой нам информации. Подобные системы принято называть информационными.
Переход к компьютерному хранению информации дает много преимуществ. Они отчетливо видны, если сформулировать те функции, которые выполняет современная компьютерная система обработки данных.
• Ввод информации в БД и обеспечение его логического контроля. Под логическим контролем здесь понимается проверка на допустимость вводимых данных: нельзя, например, вводить дату рождения 31 июня 1057 года.
• Исправление информации (также с контролем правильности ввода).
• Удаление устаревшей информации.
• Контроль целостности и непротиворечивости данных. Здесь имеется в виду, что данные, хранящиеся в разных частях базы данных, не противоречат друг другу, например, дата поступления в школу явно не может быть позже даты ее окончания.
• Защита данных от разрушения. Помимо контроля за целостностью, который только что обсуждался, СУБД должна иметь средства защиты данных от выключения электропитания, сбоев оборудования и других аварийных ситуаций, а также возможности последующего восстановления информации.
• Поиск информации с необходимыми свойствами. Одна из наиболее важных в практическом отношении задач, ради которой ставятся все остальные.
• Автоматическое упорядочивание информации в соответствии с требованиями человека. Сюда относится сортировка данных, распределение их между несколькими базами и другие подобные процедуры.
• Обеспечение коллективного доступа к данным. В современных информационных системах возможен параллельный доступ к одним и тем же данным нескольких пользователей, поэтому СУБД должны поддерживать такой режим.
• Защита от несанкционированного доступа. Не только ввод новой информации, но даже ее просмотр должны быть разрешены только тем пользователям, у которых есть на это права.
• Удобный и интуитивно понятный пользователю интерфейс.
Организация БД:
иерархическая
Характер связи между записями в БД определяет три основных типа организации баз данных: иерархический, сетевой и реляционный.
В иерархической базе данных записи образуют особую структуру, называемую деревом (см. рисунок). При таком способе организации каждая запись может принадлежать только одному "родителю" (более правильный термин — "владелец отношения"). В качестве примеров такого рода отношений можно привести следующие: организация — [основная работа] — работник, банк — [вклад] — сберкнижка, футбольная команда — [хозяин поля] — матч и т.п. Отметим, что типичными примерами иерархического способа организации является хорошо известная система вложенных каталогов в операционной системе, или так называемое "генеалогическое дерево", представляющее собой графическое представление родословной.
В сетевой базе данных связи разрешено устанавливать произвольным образом, без всяких ограничений, поэтому запись может быть найдена значительно быстрее (по наиболее короткому пути). Такая модель лучше всего соответствует реальной жизни: один и тот же человек является одновременно и работником, и клиентом банка, и покупателем, т.е. запись с информацией о нем образует довольно густую сеть сложных связей. Трудность состоит в том, что указанную организацию БД, к сожалению, сложно реализовать на компьютере. '
Хотя описанные выше способы являются более универсальными, на практике распространен самый простой тип организации данных — реляционный. Слово реляционный происходит от английского relation, что значит отношение. Строгое определение отношения достаточно математизировано, поэтому на практике обычно пользуются следствием из него: поскольку отношения удобно представлять в виде таблиц, то говорят, что реляционные базы — это базы с табличной формой организации. Их примеры имеются в любом учебнике, поэтому предлагаем читателям подобрать их самостоятельно .
Желательно изложить
Говоря о БД, нельзя обойти стороной вопрос, связанный с организацией в них данных. Помимо собственно данных, в любой базе имеется информация о ее строении, которую чаще всего называют структурой. В простейшем случае структура просто указывает тип информации и объем требуемой для нее памяти. Сведения о структуре позволяют СУБД легко рассчитывать местоположение требуемых данных на внешнем носителе и, следовательно, быстро получить к ним доступ.
сетевая
реляционная
Связанные между собой данные, например об одном человеке или объекте, объединяются в БД в единую конструкцию, которая называется "запись". При этом части, образующие запись, принято называть полями или реже — элементами данных. Примерами полей могут служить фамилия, номер паспорта, семейное положение, наличие или отсутствие детей и т.д.
С появлением компьютерных сетей отпала необходимость хранения данных в одной машине и даже в одной стране, возникли так называемые "распределенные БД".
Собственно СУБД, управляющая доступом к данным в базе, является универсальным программным обеспечением. Поэтому для адаптации к конкретной области и учета конкретных особенностей последней необходима возможность "подстройки" программного обеспечения. С этой целью большинство СУБД обладают встроенными средствами подобного рода, т.е. фактически собственным языком программирования. Заметим, что в более ранних разновидностях СУБД, например dBASE и родственных ей (FoxPro, Clipper), это было заметно наиболее отчетливо. В современном программном обеспечении, таком, как MSAccess, Paradox, Clarion, создание различных форм и отчетов во многом автоматизировано, но тем не менее встроенные языковые средства по-прежнему сохраняются.
Примечания для учителей
Если не считать последней части вопроса, то подбор материала для ответа традиционен. Мы надеемся, что приведенных здесь и в предыдущей публикации материалов по типам БД читателям будет достаточно.
По нашему мнению, требовать от учеников четкие определения баз данных и информационных систем совсем не обязательно — достаточно, если они правильно объяснят данные термины своими словами. Приведенные в разделе базовых понятий определения даны для облегчения ориентировки в материале вопроса.
Примечания для учеников
Советуем в своем ответе обязательно отметить тот факт, что информационные системы могут быть реализованы и без компьютера. После этого вполне естественно рассказать о тех преимуществах, которые добавляет применение компьютера.
Приведенный в обязательном разделе перечень функций может показаться на первый взгляд устрашающим. Тем не менее он довольно легко поддается осмысленному запоминанию. Вспомните, как вы работали с БД на уроке: сначала вводили данные, потом исправляли ошибки ввода, после чего занимались сортировкой и составлением тех или иных запросов. Дополните это размышлениями о коллективном доступе к данным (на уроках такого, возможно, не было), и вы легко восстановите весь список.
Советуем также четко уяснить для себя, что характерно для каждого из перечисленных в билете типов БД. Это даст вам возможность легко составить последнюю часть ответа на вопрос: на самом деле от вас требуется лишь краткая их (2—3 предложения) характеристика.
Ссылка на материалы по вопросу
Подробные материалы опубликованы в "Информатике" № 15, 2002, с. 12—14.
2. Различные типы компьютерных вирусов: методы распространения, профилактика заражения
Базовые понятия
Компьютерный вирус, программный код, управление, заражение, профилактика.
Обязательно изложить
Компьютерный вирус — это программный код, который в процессе исполнения размножается, т.е. создает новые программные коды, подобные исходному коду и сохраняющие возможность воспроизведения. Компьютерный вирус передается лишь как фрагмент другого программного кода и активизируется, перехватывая управление у кода-носителя после его инициализации.
В настоящее время принято определять тип компьютерного вируса по типу его носителя. В связи с этим выделяют файловые, загрузочные, макро- и сетевые вирусы. Рассмотрим их по порядку.
Файловыми называются вирусы, которые встраиваются в исполняемые коды, т.е. файлы с именами сот и ехе, или в оверлейные файлы. Для перехвата управления вирус записывается в начало или конец файла. В последнем случае начало файла модифицируется. Несколько первых байт оригинального кода присоединяются к вирусу, а на их место помещается команда передачи управления на начало вирусного фрагмента. Таким образом, инициализация зараженной программы приводит к запуску вируса, который после выполнения всех запланированных действий передает управление своему носителю. Существуют вирусы, которые выполняют все действия (поиск и заражение хотя бы одного файла указанного типа и, возможно, другие действия, как правило, обусловленные каким-либо образом, например, датой инициализации), оставаясь в составе кода-носителя. Они называются нерезидентными. Есть вирусы, которые в составе кода-носителя производят единственное действие — инсталляцию своего кода, как независимого приложения, в оперативную память. В этом качестве вирус производит все остальные действия. Такие вирусы называются резидентными. Они отслеживают ряд системных прерываний и активизируются при их возникновении. Таким образом, от момента инсталляции до перезагрузки компьютера резидентный вирус успевает заразить большое число файлов. Резидентный вирус может отслеживать чтение файла-носителя другой,, может быть антивирусной, программой и препятствовать обнаружению своего кодового фрагмента, например, временно удаляя его из тестируемого файла (стелс-вирус). Второй способ воспрепятствовать обнаружению вируса в составе файла-носителя — шифрование вирусного кода случайной последовательностью команд процессора. В этом случае фрагмент вируса, инсталлирующий его в оперативную память, производит дешифровку кода. При заражении другого файла ключ шифрования может меняться (полиморфик-вирус).