§3. Геоинформационные системы
Географические информационные системы — это информационные системы, предназначенные для сбора, хранения и обработки данных, тем или иным образом относящихся к пространственному нахождению объекта
Построены ГИС таким же образом, что и другие ИС, т.е. они представляют собой базы данных с записями, но только записи эти носят несколько иной характер. Это, как правило, не простой текстовый (или цифровой) массив. Данные на входе, предназначенные для обработки в таких системах, привязаны к двумерным или трехмерным координатам, а на выходе — таблицы, карты, схемы для решения проблем, связанных с территориальным планированием и управлением.
Приставка «гео» означает использование географического, т.е. пространственного, принципа организации информации, свидетельствует о том, что эти технологии и системы предназначены для работы с пространственной информацией. Поэтому области применения ГИС и геоинформатики сегодня находятся почти во всех сферах человеческой деятельности.
В качестве примера можно назвать следующие крупные области применения ГИС:
управление земельными ресурсами, земельные кадастры;
инвентаризация и учет объектов распределенной производственной инфраструктуры, управление ими;
проектирование, инженерные изыскания и планирование в градостроительстве, архитектуре, промышленном и транспортном строительстве;
тематическое картографирование практически в любых областях его применения;
навигация и управление движением наземного транспорта; дистанционное зондирование;
представление и анализ рельефа местности;
моделирование процессов в природной среде, управление природоохранными мероприятиями;
геология, минерально-сырьевые ресурсы и горнодобывающая промышленность;
планирование и оперативное управление перевозками.
Тема Базы данных. Системы управления базами данных
§1. Понятие бд и субд. Основные модели данных
В основе большинства информационных технологий лежат большие массивы накопленной информации. Главной формой организации хранения данных в ИС являются базы данных.
База данных представляет собой совокупность определённым образом взаимосвязанных данных, хранящихся в памяти электронной вычислительной системы, что позволяет отображать структуру объектов и их связей в изучаемой предметной области.
Системой управления базами данных называется комплекс символьных и программных средств, который предназначен для создания, ведения и совместного доступа к БД множества пользователей.
Информация, которая хранится в БД, определённым образом структурирована, т.е. описывается некоторой моделью представления данных (моделью данных), поддерживаемой СУБД. Классическими моделями представления данных являются следующие:
Иерархическая;
Сетевая;
Реляционная;
На их основе сегодня созданы новые модели представления данных:
Постреляционная;
Многомерная;
Объектно-ориентированная;
Иерархическая модель представления данных характеризуется тем, что связи между данными можно описать с помощью упорядоченного графа, или дерева. Для описания структуры иерархической БД на каком-либо языке программирования используется тип данных «дерево». Среди основных достоинств иерархической модели данных можно выделить:
Эффективное использование памяти ЭВМ;
Скорость выполнения основных операций над данными;
Удобство работы с иерархически упорядоченной информацией;
Главный недостаток – её громоздкость для обработки информации с достаточно сложными логическими связями, а также трудность для понимания её функционирования для обычного пользователя.
Сетевая модель представления данных, являясь логическим развитием и обобщением иерархической модели, позволяет отображать разнообразные взаимосвязи данных в виде произвольного графа. Среди основных достоинств иерархической модели данных можно выделить:
Эффективное использование памяти ЭВМ;
Скорость выполнения основных операций над данными;
Большие возможности образования произвольных связей;
Недостаток – высокая сложность и жёсткость схемы БД, построенной на её основе, а также, трудность для понимания и выполнения обработки информации в БД обычным пользователем.
В основе реляционной модели данных лежит понятие отношения (relation). Простой пример отношения – двухмерная таблица. Основные достоинства – доступность, простота и удобство практической реализации БД. Недостатки – отсутствие стандартных средств идентификации отдельных записей и сложность описания иерархических и сетевых связей.
В основе реляционной модели лежит принцип неделимости данных, хранящихся в полях записей таблиц, однако есть ряд случаев, когда это ограничение мешает эффективной реализации приложений. Постреляционная модель данных – это расширенная реляционная модель. Основной плюс – возможность представления совокупности связанных реляционных таблиц посредством одной постреляционной таблицы, что обеспечивает высокую наглядность представления информации и повышение эффективности её обработки. Недостаток – сложность решения проблемы обеспечения целостности и непротиворечивости хранимых данных.
Объектно-ориентированная модель характеризуется тем, что при представлении данных имеется возможность идентифицировать отдельные записи базы. При этом между записями БД и функциями их обработки устанавливаются определённые взаимосвязи с помощью механизмов, схожих с соответствующими средствами в объектно-ориентированных языках программирования. Достоинства – позволяет идентифицировать отдельную запись БД и определить функции их обработки. Недостатки – трудность для понимания её функционирования обычным пользователем, неудобство обработки данных и низкую скорость выполнения запросов.
Наиболее распространённой архитектурой ИС является архитектура клиент-сервер, состоящая из вычислительной сети и распределённой БД. Распределённая БД включает в себя корпоративную БД, находящуюся на компьютере-сервере, и персональные БД, находящиеся на рабочих станциях. Сервер БД обеспечивает выполнение основного объёма обработки данных. Функционирование подобной архитектуры включает в себя следующие этапы. Формируемые пользователем или приложениями запросы поступают к серверу БД в виде инструкции. Сервер БД выполняет поиск и извлечение необходимых данных, которые затем передаются на компьютер пользователя. Основное достоинство – уменьшение объёмов транслируемой информации.
Под определение СУБД попадает любой программный продукт, который способен поддерживать процессы проектирования, администрирования и использования БД. В связи с этим существует классификация СУБД по видам программ:
полнофункциональные СУБД – самые многочисленные и мощные по своим возможностям программы. Примеры: Microsoft Access, Microsoft FoxPro, Clarion Database Developer и др.;
серверы БД – используются для организации центров обработки данных в сетях ЭВМ. Примеры: Microsoft SQL Server, NetWare SQL (фирмы Novell) и др.;
клиенты БД – различные программы (полнофункциональные СУБД, электронные таблицы, текстовые процессоры и т.д.). Для достижения большей производительности вычислительной сети желательно, клиентская и серверная части были произведены одной фирмой.
Средства разработки программ работы с БД – используются для разработки таких программных продуктов, как клиентские программы, серверы БД и их отдельные приложения, а также пользовательские приложения. К средствам разработки пользовательских приложений относятся системы программирования, библиотеки программ для различных языков программирования, а также пакеты автоматизации разработок. Примеры: Delphi фирмы «Borland», Visual Basic фирмы «Microsoft» и др.
По характеру использования СУБД делят на персональные и многопользовательские.
Персональные СУБД предназначены для проектирования персональных БД и недорогих приложений, работающих с ними. Также персональные СУБД или разработанные с их помощью приложения могут выступать в качестве клиентской части многопользовательской СУБД. Примеры: Visual FoxPro, Paradox, Clipper, Access и др.
Многопользовательские СУБД включают в себя сервер БД и клиентскую часть. Такие СУБД могут работать с различными типами ЭВМ и ОС различных фирм-производителей. Примеры: системы Oracle и Informix.
Основными функциями СУБД (функциями высшего уровня) являются хранение, изменение и обработка информации, а также разработка и получение различных выходных документов.
Функции высшего уровня СУБД используют следующие основные функции более низкого уровня:
управление данными во внешней памяти;
управление буферами оперативной памяти. Буфер — это область ОП, предназначенная для ускорения обмена информацией между внешней и ОП;
управление трансакциями. Трансакция — это определённая неделимая последовательность операций над данными БД, которая контролируется СУБД от её начала и до завершения;
ведение журнала изменений в БД;
обеспечение целостности и безопасности БД;
Для обеспечения доступа пользователей и программ к хранящейся в БД информации СУБД используют 2 типа языков:
язык описания данных — высокоуровневый язык, предназначенный для описания логической структуры данных;
язык манипулирования данными — совокупность конструкций, обеспечивающих выполнение основных операций по работе с данными: ввод, модификацию и выборку данных по запросам.
Наибольшее распространение получили 2 стандартизированных языка: QBE (Query by Example — язык запросов по образцу) и SQL (Structured Query Language — структурированный язык запросов). QBE в основном обладает свойтсвами языка манипулирования данными, а SQL сочетает в себе свойства языков обоих типов.
Теоретической основой языка QBE является реляционное исчисление с переменными-доменами. Язык QBE позволяет формулировать сложные запросы к БД путём заполнения предлагаемой СУБД запросной формы. Такой способ формулировки запросов к БД обеспечивает высокую наглядность и не требует указания алгоритма выполнения операции.
В основе структурированного языка запросов SQL лежит реляционное исчисление с переменными кортежами. Язык SQL предназначен для выполнения операций над таблицами и данными, содержащимися в этих таблицах, а также некоторых сопутствующих операций. SQL является непроцедурным языком, т.е. он не содержит операторов управления, организации подпрограмм, ввода-вывода и т.п. Поэтому SQL не используется как отдельный язык, а в большинстве случаев является частью встроенного языка программирования СУБД.
Язык SQL ориентирован исключительно на доступ к данным, поэтому его включают в состав средств разработки программ. В этом случае его называют встроенным SQL. Различают 2 основных метода использования встроенного SQL: статический и динамический.
При статическом использовании языка SQL в тексте программы имеются вызовы функций языка SQL, которые жёстко включаются в выполняемый модуль после компиляции. Изменения в вызываемых функциях могут быть на уровне отдельных параметров вызовов с помощью переменных языка программирования.
При динамическом использовании языка предполагается динамическое построение вызовов SQL-функций и интерпретация этих вызовов (например, обращение к данным удалённой БД) в ходе выполнения программы. Динамический метод обычно применяется в тех случаях, когда в приложении вид SQL-вызова заранее не известен и он строится в диалоге с пользователем.
При обслуживании обращений к общим данным средства управления БД должны обеспечивать 2 основных метода доступа: монопольный и коллективный.
Монопольный доступ к данным обычно используется в следующих случаях:
при исключении возможности доступа к объектам БД со стороны других пользователей (например, при работе с конфиденциальной информацией);
при проведении ответственных операций с БД, не допускающих других действий, например, изменение структуры БД.
Для организации коллективного доступа в СУБД используется механизм блокировок. Суть этого механизма состоит в том, что на время выполнения какой-либо операции в БД доступ к используемому объекту со стороны других потребителей временно запрещается или ограничивается.
Вопросы к экзамену
Определение информационных ресурсов;
Определение информационных технологий;
Определение информационной системы (ИС);
Классы информационных технологий (ИТ);
Обеспечивающие подсистемы структуры ИС;
Определение географической информационной системы (ГИС);
Определение базы данных (БД);
Определение системы управления базами данных (СУБД);
Виды БД;
Структура БД;
Режимы работы с БД, формой, отчётом;
Типы полей;
Ключевые поля;
Создание и редактирование формы;
Создание и редактирование отчёта;
Создание фильтра;
Создание запросов с групповыми функциями и без них;