Всякая прикладная программа является отображением какой-то части реального мира и поэтому содержит его формализованное описание в виде данных. Крупные массивы данных размещают, как правило, отдельно от исполняемого программы, и организуют в виде Базы данных. Начиная с 60-х годов для работы с данными, стали использовать особые программные комплексы, называемые системами управления базами данных (СУБД).
Системы управления базами данных отвечают за:
- физическое размещение данных и их описаний;
- поиск данных;
- поддержание баз данных в актуальном состоянии;
- защиту данных от некорректных обновлений и несанкционированного доступа;
-обслуживание одновременных запросов к данным от нескольких пользователей (прикладных программ).
Хранение в базе данных имеют определенную логическую структуру, то есть, представлены некоторой моделью, поддерживаемой СУБД. К числу важнейших относятся следующие модели данных:
- иерархическая;
- сетевая;
- реляционная;
- объектно-ориентированная.
В иерархической модели данные представляются в виде древовидной (иерархической) структуры. Она удобна для работы с иерархически упорядоченной информацией и громоздка для информации со сложными логическими связями.
Сетевая модель означает представление данных в виде произвольного графа. Достоинством сетевой и иерархической моделей данных является возможность их эффективной реализации показателей затрат памяти и оперативности. Недостатком сетевой модели данных является высокая сложность и жесткость схемы БД, построенной на ее основе.
Реляционная модель данных (РМД) название получила от английского термина Relation – отношение. Модель данных описывает некоторый набор родовых понятий и признаков, которыми должны обладать все конкретные СУБД и управляемые ими БД, если они основываются на этой модели.
Объектно-ориентированная модель – это когда в базе хранятся не только данные, но и методы их обработки в виде программного кода. Это перспективное направление, пока также не получившее активного распространения из-за сложности создания и применения подобных СУБД.
Базы данных – это совокупность записей различного типа, содержащая перекрестные ссылки.
Файл – это совокупность записей одного типа, в котором перекрестные ссылки отсутствуют.
Более того, в определении нет упоминания о компьютерной архитектуре. Дело в том, что, хотя в большинстве случаев БД действительно представляет собой один или (чаще) несколько файлов, физическая их организация существенно отличается от логической. Таблицы могут храниться как в отдельных файлах, так и вместе. И, наоборот, для хранения одной таблицы иногда используются несколько файлов. Для поддержки перекрестных ссылок и быстрого поиска обычно выделяются дополнительные специальные файлы.
Поэтому при работе с базами данных обычно применяются понятия более высокого логического уровня: запись и таблица, без углубления в подробности их физической структуры.
Таким образом, сама по себе база данных – это только набор таблиц с перекрестными ссылками. Чтобы универсальным способом извлекать из нее группы записей, обрабатывать их, изменять и удалять, требуются специальные программы, называющиеся СУБД.
По характеру использования СУБД делят на персональные (СУБДП) и многопользовательские (СУБДМ).
К персональным СУБД относятся VISUAL FOXPRO, ACCESS и др. К многопользовательским СУБД относятся, например, СУБД ORACLE и INFORMIX.
Многопользовательские СУБД включают в себя сервер БД и клиентскую часть, работают в неоднородной вычислительной среде, допускаются разные типы ЭВМ и различные операционные системы. Поэтому на базе СУБДМ можно создать информационную систему, функционирующую по технологии клиент-сервер. Универсальность многопользовательских СУБД отражается соответственно на высокой цене и компьютерных ресурсах, требуемых для поддержки.
Персональные СУБД представляют собой совокупность языковых и программных средств, предназначенных для создания, ведения и использования БД.
Для обработки команд пользователя или операторов программ в СУБДП используются интерпретаторы команд (операторов) и компиляторы. С помощью компиляторов в ряде СУБДП можно получать исполняемые автономно приложения – exe – программы.
Обеспечение безопасности достигается СУБД шифрованием прикладных программ, данных, защиты паролем, поддержкой уровней доступа к базе данных, к отдельной таблице.
Расширение возможностей пользователя СУБДП достигается за счет подключения систем распространения Си и Ассемблера.
Поддержка функционирования в сети обеспечивается:
- средствами управления доступом пользователей к совместно используемым данным, т.е. средствами блокировки файлов (таблиц), записей, полей, которые в разной степени реализованы в разных СУБДЛ;
- средствами механизма транзакций, обеспечивающими целостность БД при функционировании в сети.
Теперь рассмотрим функции СУБД немного подробнее.
1. Определение данных.
СУБД должна допускать определения данных (внешние схемы, концептуальную схему, внутреннюю схему, а также все связанные отображения) в исходной форме и преобразовывать эти определения в форму соответствующих объектов. Иначе говоря, СУБД должна включать в себя компонент языкового процессора для различных языков определений данных. СУБД должно также «понимать» синтаксис языка определений данных.
2. Обработка данных.
СУБД должна уметь обрабатывать запросы пользователя на выборку, изменение или удаление существующих данных в базе данных или добавление новых данных в базу данных. Другими словами, СУБД должна включать в себя компонент процессора языка обработки данных.
Запросы языка обработки данных бывают «планируемые» и «не планируемые».
Планируемый запрос – это запрос, необходимость которого предусмотрена заранее. Администратор базы данных, возможно, должен настроить физический проект БД таким образом, чтобы гарантировать достаточное быстродействие для таких запросов.
Не планируемый запрос – это, наоборот, специальный запрос, необходимость которого не была предусмотрена заранее. Физический проект БД может подходить, а может и не подходить для рассматриваемого специального запроса. В общем, получение возможной наибольшей производительности для не планируемых запросов представляет собой одну из проблем СУБД.
3. Безопасность и целостность данных.
СУБД должна контролировать пользовательские запросы и пресекать попытки нарушения правил безопасности и целостности, определенные АБД.
4. Восстановление данных и дублирование.
СУБД или другой связанный с ней программный компонент, обычно называемый администратором транзакций, должны осуществлять необходимый контроль над восстановлением данных и дублированием.
5. Словарь данных.
СУБД должна обеспечить функцию словаря данных. Сам словарь данных можно по праву считать БД (но не пользовательской, а системой). Словарь «содержит данные о данных» (иногда называемые метаданными), т.е. определения других объектов системы. В частности, исходная и объектная формы различных схем (внешних, концептуальных и т.д.) и отображений будут сохранены в словаре. Расширенный словарь будет включать также перекрестные ссылки, показывающие, например, какие из программ какую часть БД используют, какие отчеты требуются тем или иным пользователем, какие терминалы подключены к системе и т.д. Словарь может быть интегрирован в определяемую им БД, а значит, должен содержать описание самого себя. Конечно, должно быть возможность обращения к словарю, как и к другой БД, например, для того узнать, какие программы и/или пользователи будут затронуты при предполагаемом внесении изменения в систему.
6. Производительность.
Очевидно, что СУБД должна выполнять все указанные функции с максимально возможной эффективностью. Управляющим компонентом многих СУБД является ядро, выполняющее следующие функции:
- управление данными во внешней памяти;
- управление буферами оперативной памяти (рабочими областями, в которые осуществляется подкачка данных из базы для повышения скорости работы);
- управление транзакциями (это последовательность операций над БД, рассматривающих СУБД как единое целое).
информация цифровой сканер дисплей
4. Технология создания карт средствами MapInfo
Геоинформационная система MapInfo была разработана в начале 90-х годов фирмой Mapping Information Systems Corporation (USA). На сегодняшний день этот пакет является одним из наиболее популярных пакетов на рынке настольных геоинформационных систем.
MapInfo предназначена для:
− создания и редактирования карт;
− визуализации и дизайна карт;
− создания тематических карт;
− пространственного и статистического анализа графической и семантической информации;
− геокодирования;
− работы с базами данных, в том числе через ODBC;
− вывода карт и отчетов на принтер/плоттер или в графический файл.
Среди многих географических информационных систем MapInfo отличается хорошо продуманным интерфейсом, оптимизированным набором функций для пользователя, удобной и понятной концепцией работы, как с картографическими, так и с семантическими данными.