Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Элементы геоинформационных систем и технология создания цифровых мар

..pdf
Скачиваний:
15
Добавлен:
15.11.2022
Размер:
6.33 Mб
Скачать

4. РАБОТА С БАЗАМИ ДАННЫХ

4.1. Что такое база данных?

База данных - это набор информации, организованной таким образом, чтобы ее можно было хранить в компьютере. В MAPINFO базы данных обыч­ но называются таблицами.

Чтобы понять работу MAPINFO, Вам надо иметь представление об орга­ низации баз данных, в частности о трех фундаментальных понятиях: запись, поле и индекс.

Рассмотрим перечень типичный адресной информации (табл. 11). Таблица 11

 

Список таблицы «Камеры»

 

Гори- 1

Номер

Ширина, м

Длина, м

зонт, м

камеры

 

 

-220

25

16

176,5

-220

9

9

182

-220

1

16

182

-220

12

16

180

-220

6

16

186

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

Поля базы данных упорядочены (первое, второе, третье и т.д.), и обычно первое поле показывается в виде первой колонки базы данных. Второе поле

показывается справа от первой колонки и так далее, последнее поле показыва­ ется в самой правой колонке.

Для быстрой обработки запросов (поиска по базе) базы данных исполь­ зуют механизм индексации.

Индекс в базе данных подобен указателю в книге. Индекс представляет собой набор ссылок (как и в книге, где каждому названию соответствуют но­ мера страниц). В книгах указатели, как правило, используют алфавитный по­ рядок, чтобы легче было найти интересующую Вас тему. Найдя название те­ мы, мы ищем страницы с заданными номерами. Номера страниц есть ссылки. Они означают: «Открой страницу, на которую я указываю».

Подобным образом работают индексы баз данных, только обычно они остаются скрытыми от пользователя. Хотя Вы видите их, программа строит их и активно использует при работе.

Использование индексов ускоряет процесс поиска информации в базе данных. Так, MAPINFO требует, чтобы были проиндексированы те поля, к ко­ торым Вы применяете команду ЗАПРОС > НАЙТИ. Индексы также использу­ ются для оптимизации процедур объединения таблиц и SGL-запросов.

Поля в MAPINFO индексируются при создании структуры таблицы пу­ тем установки флажка (галочки) в колонке «Индекс». Индексироваться может любое количество полей таблицы. Индексирование не влияет на порядок сле­ дования записей.

Таблицы MAPINFO

В MAPINFO имеются два типа таблиц. Обычные таблицы (таблицы данных) подобны рассмотренной нами таблице адресной информации. Боль­ шинство таблиц MAPINFO относится к этому типу. Этот тип подразделяется, в свою очередь, на таблицы с графическими объектами и без таковых (элек­ тронные таблицы и внешние базы данных).

Второй тип таблиц - это растровые таблицы, то есть изображения, кото­ рые можно показывать в окнах карт. Эти компьютерные изображения не име­

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

Вся информация ниже относится к обычным таблицам.

4.2.Создание новых таблиц

ВMAPINFO можно использовать внешние данные: из dBASE, Excel, Lotus 1-2-3 ё ASCII-файлов с разделителями.

Также можно создавать свои базы данных непосредственно в MAPINFO. Такие базы данных можно открывать и просматривать в виде карт (поскольку они содержат графические объекты), списков или графиков.

Чтобы создать новую таблицу в MAPINFO:

1.Выполните команду ФАЙЛ > НОВАЯ ТАБЛИЦА. Появится диалог «Новая таблица».

2.Установите флажок «Показать списком», чтобы создаваемая таблица была показана в окне списка в традиционной табличной форме.

3.Нажмите «ОК». Появится диалог «Показать структуру таблицы».

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

5.Описав все поля, нажмите «ОК». MAPINFO создаст новую таблицу.

6.Задайте имя таблицы и нажмите кнопку «Создать».

Наличие индекса убыстряет процесс поиска и объединения. Чтобы вы­ полнить команду НАЙТИ для некоторого поля, это поле следует сначала про­ индексировать. Индексировать можно несколько полей сразу.

Изменить порядок полей можно с помощью кнопок «Вверх» и «Вниз». Помните, что в том порядке, в каком поля расположены в данном диалоге (сверху вниз), в таком же (слева направо) они будут показываться в окне спи­ ска.

4.3. Сохранение таблицы и ее копии

Чтобы сохранить изменения, внесенные в данные или графические объ­ екты некоторой таблицы, Вы должны сохранить эту таблицу.( Для этого вы­ полните команду ФАЙЛ > СОХРАНИТЬ ТАБЛИЦУ. Появится диалог, в ко­ тором следует указать, какую таблицу сохранить.

Можно сохранить копию таблицы под другим именем с помощью коман­ ды СОЗДАТЬ КОПИЮ. По сути дела, при этом создается новая таблица. Эту команду удобно использовать,когда:

Вы хотите сохранить внесенные изменения, не удаляя при этом исход­ ный вариант таблицы;

надо сохранить результат запроса. (Таблицы запросов являютсл времен­ ными и при необходимости дальнейшего использования их следует сохранять на диск);

надо сохранить таблицу, содержащую временную колонку (после обнов­ ления колонки);

Вы создаете новую таблицу перед внесением в исходную таблицу; необходимо из MAPINFO внести изменения во внешнюю базу данных; надо сохранить таблицу в другой проекции;

Вы хотите сохранить таблицу в другом формате, совместимом с MAPINFO версии 2.

Чтобы сохранить копию таблицы:

1. Выполните команду ФАЙЛ > СОЗДАТЬ КОПИЮ. Появится диалог «Сохранить копию таблицы».

2.Выберите файл, который следует сохранить, и нажмите ОК.

3.Задайте новое имя файла.

Исходная таблица останется открытой, без каких-либо изменений. Новая таблица не будет открыта автоматически, но ее можно открыть с помощью ко­ манды ОТКРЫТЬ.

Все режимы и настройки диалога «Перестройка струкгуры таблицы» в точности соответствуют режимам и настройкам в диалоге «Создать структуру таблицы», которые описаны в главе, посвященной команде НОВАЯ ТАБЛИ­ ЦА.

Таблицы, которые нельзя обновить: ASNII-файлы,

файлы формата Excel и Lotus, таблицы Streetlnfo,

таблицы, созданные с использованием команды SQL-ЗАПРОС, если бы­ ла применена группировка (заполнено окошко «Сгруппировать по»),

таблицы, открытые в режиме «только чтение».

Хотя Вы не можете обновлять эти таблицы, но Вы можете использовать команду ОБНОВИТЬ КОЛОНКИ для добавления временных колонок.

4.5. Копирование и переименование таблиц

Поскольку таблицы MAPINFO состоят из нескольких файлов (STATES.TAB, STATES.DAT, STATES.MAP и т.д.), все файлы-компоненты определенной таблицы должны быть расположены в одном каталоге. Чтобы перенести таблицу в другой каталог, следует перенести все файлы, относящие­ ся к данной таблице. Аналогично, все файлы следует переносить при сохране­ нии таблиц на дискете.

Поскольку любая таблица состоит не менее чем из двух файлов, нельзя переименовать только один из них. Иначе MAPINFO не будет знать, где сле­ дует искать остальные файлы-компоненты. Поэтому лучше не пользоваться командами DOS для переименования файлов.

Для переименования таблицы:

1. Выполните команду ТАБЛИЦА > ИЗМЕНИТЬ > ПЕРЕИМЕНОВАТЬ.

Появится диалог «Переименовать таблицу».

2.Выберите таблицу, которую следует переименовать, и нажмите «ОК».

3.Задайте новое имя и нажмите «ОК».

При подобном переименовании таблицы MAPINFO изменяет имена всех файлов-компонент.

Помните, что переименование таблицы повлияет на все рабочие наборы, в которых она упоминается. После переименования таблицы следует отредак­ тировать файлы рабочих наборов (.WOR) в текстовом редакторе, проставив новое имя таблицы. Можно также переименовать таблицу перед сохранением рабочего набора.

4.6.Окно списка

Вокнах списка Вы можете просматривать и обрабатывать данные в тра­ диционной форме строк и колонок, которая обычно используется в системах баз данных и электронных таблицах.

Вокне списка можно изменять, копировать, удалять и добавлять записи. Вы можете открыть окно списка непосредственно в диалоге «Открыть табли­ цу», или выполнив команду НОВЫЙ СПИСОК в меню ОКНО.

Команда НОВЫЙ СПИСОК доступна, когда открыта хотя бы одна таб­

лица.

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

1.Выполните команду ОКНО > НОВЫЙ СПИСОК.

2.Если открыта только одна таблица, то она немедленно появится в окне

списка.