Основные форматы представления данных. Форматы представления графической информации в пк. Цена со скидкой

Числа в ЭВМ хранятся в соответствии с форматом. Формат – это соглашение или правила представления числа в виде последовательности бит.

Минимальная единица хранения данных в ЭВМ – 1 байт. Существуют следующие форматы представления целых чисел: байт (полуслово), слово (включает 2 байта), двойное слово (4 байта), расширенное слово (8 байт). Биты, из которых состоят эти форматы, называются разрядами. Таким образом, в байте 8 разрядов, в слове – 16 разрядов, а в двойном слове – 32 разряда. Слева находятся старшие разряды, а справа – младшие. Каждый из этих форматов может быть знаковым (рис. 5.1) для представления положительных и отрицательных чисел или беззнаковым (рис. 5.2) для представления положительных чисел.

Рис. 5.1. Знаковые форматы представления целых чисел

Знаковым является самый старший разряд. На рис. 5.1 знаковый разряд обозначен символом S. Если он равен 0, то число считается положительным, а если разряд равен 1, то число считается отрицательным.

Рис. 5.2. Беззнаковые форматы представления целых чисел

В общем виде диапазон значений, представляемых знаковыми форматами представления целых чисел (табл. 5.1) определяется по формуле

–2 n–1 £ X £ 2 n–1 – 1,

а для беззнакового формата определяется по формуле

0 £ X £ 2 n – 1,

где n – число разрядов в формате.

Таблица 5.1. Форматы представления целых чисел в ЭВМ

5.1.2. Прямой и дополнительный коды
представления двоичных чисел

В прямом коде старший бит кодирует знак числа (0 – для положительного, 1 – для отрицательного), а остальные биты – модуль числа.

Пример 5.1. Число 11 в прямом коде будет представляться как 0|1011 п, а число –11 – как 1|1011 п. □

В дополнительном коде положительное число кодируется также как и в прямом. Для представления отрицательного числа в дополнительном коде, существуют два способа. При представлении чисел в дополнительном коде используется операция инвертирования – замена бита на противоположный, то есть 0 на 1, а 1 на 0.

Правило 5.1. (поразрядное представление отрицательного числа в дополнительном коде) Представить модуль отрицательного числа в прямом коде и проинвертировать все разряды левее самой младшей (правой) единицы.

Пример 5.2. Представить число –11 в дополнительном коде с помощью поразрядного представления.

Решение. Переведем модуль этого числа в двоичную систему: 11 = 1011 2 и представим его в прямом коде: 0|1011 п. Самая младшая единица – последняя, поэтому ее оставляем без изменения, а остальные разряды слева инвертируем (рис. 5.3).

В результате получаем 1|0101 д – представление числа –11 в дополнительном коде. □

Рис. 5.3. Представление числа –11 в дополнительном коде

Правило 5.2. (арифметическое представление отрицательного числа в дополнительном коде) Прибавить к отрицательному числу 2 m , где m – количество разрядов в двоичном представлении или данном формате, и полученное число перевести в двоичную систему счисления. Для байта 2 8 = 256, для слова 2 16 = 65 536, для двойного слова 2 32 = 4 294 967 296.

Из этих правил можно сделать вывод, что положительные числа в случае увеличения числа разрядов дополняются слева нулями, а отрицательные – единицами.

Пример 5.3. Представить число –11 в дополнительном коде путем арифметического представления.

Решение. Пусть необходимо получить m = 5 разрядов дополнительного кода. Вычислим слагаемое 2 m = 2 5 = 32. Произведем сложение и перевод в двоичную систему счисления:

–11 + 32 = 21 = 10101 2 .

Полученный результат соответствует представлению числа –11 в дополнительном коде.

Для m = 8, 2 8 = 256:

–11 + 256 = 245 = 11110101 2 .

Представление числа –11 было дополнено единицами слева до 8 разрядов. □

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

Правило 5.3. (поразрядное определение значения отрицательного числа, записанного в дополнительном коде) Алгоритм определения значения отрицательного числа в дополнительном коде состоит из следующих шагов.

1. Проинвертировать все разряды левее самой младшей (правой) единицы.

2. Перевести число из двоичной системы счисления в десятичную систему по правилу 4.1.

3. Умножить результат на –1.

Пример 5.4. Определить, какое десятичное число закодировано числом 1|0101 д с помощью поразрядного определения.

Решение. Проинвертируем разряды числа:

1010|1 д ® 0101|1 п.

Переведем число из двоичной системы счисления в десятичную систему счисления:

Умножим результат на –1 и получим число –11. □

Правило 5.4. (арифметическое определение отрицательного числа, записанного в дополнительном коде) Перевести двоичное число в десятичную систему счисления и вычесть из полученного числа число 2 m , где m – количество разрядов в двоичном представлении.

Пример 5.5. Определить, какое десятичное число закодировано числом 1|0101 д с помощью арифметического определения.

Решение. Переведем число из двоичной системы счисления в десятичную систему счисления:

Вычтем из полученного результата перевода число 2 m = 2 5 = 32, так как двоичное число состоит из 5 разрядов:

21 – 32 = –11.

В результате получим десятичное число –11. □

Числа в знаковых форматах записываются в дополнительном коде, а в беззнаковых – в прямом.

Запись в дополнительном коде необходима, чтобы складывать и вычитать положительные и отрицательные числа без преобразований.

Пример 5.6. Сложить 21 и –11 в двоичной системе счисления.

Решение. Переведем слагаемые в дополнительный код:

21 = 0|10101 д; –11 = 1|10101 д.

Будем использовать правила двоичной арифметики:

1 + 0 = 0 +1 = 1;

1 + 1 = 10 (с переносом единицы в следующий разряд).

Сложим два двоичных числа столбиком с учетом того, что перенос единицы из знакового разряда игнорируется:

110101 2

В результате получено число 10 – сумма 21 и –11 без дополнительных преобразований. □

Форматы целых чисел слово и двойное слово хранятся в памяти ЭВМ в обратном порядке, то есть сначала младший байт, а затем старший. Например, слово B5DE 16 будет располагаться в памяти, как показано на рис. 5.4.

Рис. 5.4. Расположение слова B5DE 16 в памяти ЭВМ

Такое расположение байт удобно при операциях с числами, так как вычисления начинаются с младших разрядов, поэтому они и располагаются сначала.

5.2. Представление вещественных чисел
в ЭВМ

Вещественные числа представляются в форме числа с плавающей запятой (точкой) вида:

где M – мантисса (значащая часть числа); n – основание системы счисления; P – порядок числа.

Пример 5.7. Число 2,5 × 10 18 имеет мантиссу равную 2,5, а порядок равный 18. □

Мантисса называется нормализованной, если ее абсолютное значение лежит в диапазоне:

1/n £ |M| < 1,

где n – основание системы счисления.

Это условие означает, что первая цифра после запятой не равна нулю, а абсолютное значение мантиссы не превышает единицы.

Число с нормализованной мантиссой называется нормализованным.

Пример 5.8. Представить числа –245,62 и 0,00123 в форме числа с плавающей точкой.

Решение. Число –245,62 можно представить в форме числа с порядком –245,62 × 10 0 . Мантисса этого числа не нормализована, поэтому поделим его на 10 3 , увеличив при этом порядок:

–0,24562 × 10 3 .

В результате число –0,24562 × 10 3 нормализовано.

Число 0,00123 в форме числа с порядком 0,00123 × 10 0 не нормализовано, так как не нормализована мантисса. Умножим мантиссу на 10 2 , уменьшив при этом порядок:

0,123 × 10 –2 .

В результате число 0,123 × 10 –2 нормализовано. □

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

Для основанного на стандарте IEEE-754 представления вещественного числа в ЭВМ используются m + p + 1 бит, распределяемые следующим образом (рис. 5.5): 1 разряд знака мантиссы; p разрядов порядка; m разрядов мантиссы.

Рис. 5.5. Структура общего формата числа с плавающей точкой

Это представление называется (m, p)-форматом.

Диапазон представления чисел X (m, p)-форматом определяется из неравенства:

£ X £ (1 – 2 – m –1) » .

При этом порядок числа P должен удовлетворять условию
–2 p – 1 + 1 £ P £ 2 p – 1 – 1

Для вещественных чисел в стандарте IEEE-754 используются (23,8)- и (52,11)-форматы, называемые одинарным и двойным вещественными форматами соответственно (табл. 5.2).

Чтобы представить значение этих порядков, количество секунд, прошедших с момента образования планеты Земля, составляет всего 10 18 .

Правило 5.5. (перевод десятичных чисел в (m, p)-формат) Алгоритм перевода десятичного числа X в (m, p)-формат состоит из следующих шагов.

1. Если Х = 0, то принять знаковый разряд, порядок и мантиссу за ноль и закончить алгоритм.

2. Если X > 0, то принять знаковый разряд 0, иначе принять 1. Знаковый разряд сформирован.

3. Перевести целую и дробную часть абсолютного значения числа X в двоичную систему счисления. Если число дробное, то получить m + 1 разрядов. Принять порядок равный нулю.

Таблица 5.2. Сравнительные характеристики
вещественных форматов

4. Если X ³ 1, то перенести запятую влево до самого старшего разряда и увеличить порядок, иначе перенести запятую вправо до первого ненулевого (единичного) разряда и уменьшить порядок.

5. Если число разрядов дробной части меньше m, то дополнить дробную часть нулями справа до m разрядов. Отбросить единицу из целой части. Мантисса сформирована.

6. Прибавить к порядку смещение 2 p – 1 – 1 и перевести порядок в двоичную систему счисления. Порядок сформирован. Код, в котором представлен порядок, называется смещенным. Смещенный порядок упрощает сравнение, сложение и вычитание порядков при арифметических операциях.

7. Записать знаковый разряд, порядок и мантиссу в соответствующие разряды формата.

Пример 5.9. Представить число –25,6875 в одинарном вещественном формате.

Решение. В примере 4.7 был произведен перевод абсолютного значения числа –25,6875 в двоичную систему и было получено 9 разрядов:

25,6875 = 11001,1011 2 .

Нормализуем число, сдвинув запятую влево и повысив порядок:

1,10011011 2 × 2 4 .

После отбрасывания целой части остается 23 разряда дробной части (в соответствии с форматом (23,8)), записываемые как мантисса:

10011011000000000000000.

Порядок равен 4 (степень двойки после сдвига запятой влево). Произведем его смещение и перевод в двоичную систему счисления:

4 + 127 = 131 = 10000011 2 .

Число –25,6875 отрицательное, следовательно, знаковый разряд равен 1.

Все готово для представления числа –25,6875 в одинарном вещественном формате по схеме знаковый разряд + порядок + мантисса:

1 10000011 10011011000000000000000.

Разделим это число по 8 разрядов, сформируем байты и запишем их шестнадцатеричными числами:

C1 CD

Таким образом, число –25,6875 можно записать как C1CD8000. □

Как и форматы целых чисел, форматы вещественных чисел хранятся в памяти ЭВМ в обратном порядке следования байт (сначала младшие, потом старшие).

Арифметические операции над числами с плавающей точкой осуществляются в следующем порядке.

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

При умножении чисел их мантиссы перемножаются, а порядки складываются.

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

Представление символов в ЭВМ

В ЭВМ каждый символ (например, буква, цифра, знак препинания) закодирован в виде беззнакового целого двоичного числа. Кодировка символов – это соглашение об однозначном соответствии каждому символу одного беззнакового целого двоичного числа, называемого кодом символа.

Для русского алфавита существует несколько кодировок (табл. 5.3).

Таблица 5.3. Кодировки букв алфавита русского языка

В кодировках 866, 1251, КОИ-8 и Unicode первые 128 символов (цифры, заглавные и строчные латинские буквы, знаки препинания) со значениями кодов от 0 до 127 одни и те же и определяются стандартом ASCII (American Standard Code for Information Interchange – американский стандартный код для обмена информацией). Цифры 0, 1, ..., 9 имеют соответственно коды 48, 49, ..., 57; прописные латинские буквы A, B, ..., Z (всего 26 букв) – коды 65, 66, ..., 90; строчные латинские буквы a, b, ..., z (всего 26 букв) – коды 97, 98, ..., 122.

Вторые 128 символов со значениями кодов от 128 до 255 кодировок 866, 1251, КОИ-8 содержат символы псевдографики, математические операции и символы алфавитов, отличных от латинского. Причем разные символы разных алфавитов имели один и тот же код. Например, в кодировке 1251 символ русского алфавита Б имеет тот же код, что и символ Á в стандартной кодировке ASCII. Такая неоднозначность вызывала проблемы с кодировкой текста. Поэтому была предложена двухбайтовая кодировка Unicode, которая позволяет закодировать символы многих нелатинских алфавитов.

Десятичные значения кодов букв русского алфавита в кодировках 866, 1251 и Unicode приведены в табл. 5.4.

Таблица 5.4. Значения кодов букв русского алфавита

В кодировке КОИ-8 (табл. 5.5) коды букв русского алфавита упорядочены не по расположению букв в алфавите, а по соответствию их буквам латинского алфавита. Например, коды латинских букв А, В, С имеют соответственно десятичные значения 65, 66, 67, а русских букв А, Б, Ц – значения 225, 226, 227.

Таблица 5.5. Значения кодов букв русского алфавита
в кодировке КОИ-8

A К Х а к х
Б Л Ц б л ц
В М Ч в м ч
Г Н Ш г н ш
Д О Щ д о щ
Е П Ъ е п ъ
Е Р Ы ё р ы
Ж С Ь ж с ь
З Т Э з т э
И У Ю и у ю
Й Ф Я й ф я

Форматы представления данных в памяти ЭВМ. Машинные коды.

План.

1. Форматы представления данных в памяти ЭВМ.

a. Представление чисел в форме с фиксированной точкой

b. Представление чисел в форме с плавающей точкой

2. Машинные коды: прямой, обратный, дополнительный.

Форматы представления данных в памяти ЭВМ.

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

Последовательность нескольких смежных байтов образует поле данных . Количество байтов поля называется длиной поля , а адрес само­го левого байта поля - адресом поля . Обработка информации может вестись либо побайтно, либо полями данных (или форматом данных). Форматы данных показывают, как информация размещается в оперативной памяти и регистрах ЭВМ. Форматы данных различают по длине, типу данных и структуре, а каждое значение, содержащееся в байте может быть интерпретировано по разному:

– кодированное представление символа внешнего алфавита (при вводе и выводе данных);

– целым знаковым или беззнаковым числом (при внутреннем представлении чисел в памяти ЭВМ);

– частью команды или более сложной единицы данных и т.д.

В ЭВМ существуют следующие формы представления целых чисел: полуслово (байт), слово (два последовательных байта, пронумерованных слева направо от 0 до 15), двойное слово (4 байта).

Если в указанных форматах размещаются числа, то веса их разрядов возрастают справа налево.

В ЭВМ для представления чисел используется естественная (представление числа с фиксированной точкой) и полулогарифмическая (представление числа с плавающей точкой) формы.

Представление чисел в форме с фиксированной точкой.

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

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

Существует в основном 2 способа фиксирования десятичной точки:

1) точка располагается справа от младшей цифры числа, и мы имеем целые числа;

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

Целые положительные числа можно представлять непосредственно в двоичной системе счисления (двоичном коде). В такой форме представления легко реализуется на компьютере двоичная арифметика.

Если же нужны и отрицательные числа, то знак числа может быть закодирован отдельным битом (обычно это старший бит). Старший разряд является знаковым, если он содержит 1 , то число отрицательное , если 0 , то число положительное .

При шестнадцатиразрядной сетке мы имеем:

В общем случае диапазон представления целых чисел равен (n – число разрядов в формате):

– для беззнаковых 0 ≤ x ≤ 2 n -1 (при n=8 от 0 до 255)

– для знаковых -2 n -1 ≤ x ≤ +2 n -1 -1 (при n=8 от -128 до 127);

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

Представление чисел в форме с плавающей точкой.

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

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

А = ± М·n ± p

где n - основание системы счисления;

M – мантисса;

р – целое число, называемое порядком (определяет местоположение десятичной точки в числе).

Такой способ записи чисел называется представлением числа с плавающей точкой .

Пример: -245,62=-0,24565·10 3 , 0,00123=0,123·10 -2 =1,23·10 -3 =12,3·10 -4

Очевидно, такое представление не однозначно.

Если мантисса заключена между n -1 и 1 (т.е. 1/n £ |M| <1), то представление числа становится однозначным, а такая форма назы­вается нормализованной .

Пример : для десятичной системы счисления - 0,1 < |m| < 1 (мантисса - число меньше 1, и первая цифра после запятой отлична от нуля, т.е. значащая).

Действительные числа в компьютерах различных типов записываются по-разному, тем не менее, существует несколько международных стандартных форматов, различающихся по точности, но имею­щих одинаковую структуру. Для основанного на стандарте IEEE – 754 (определяет представление чисел с одинарной точностью (float ) и с двойной точностью (double )) представление вещественного числа в ЭВМ используется m+p+1 бит, распределяемые следующим образом: один разряд (S)- используется для знака мантиссы, p – разрядов определяют порядок, m разрядов определяют абсолютную величину мантиссы. Для записи числа в формате с плавающей запятой одинарной точности требуется тридцатидвухбитовое слово. Для записи чисел с двойной точностью требуется шестидесятичетырёхбитовое слово.

1 p-1 0 m-1 0
S Порядок Дробная часть М

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

Смещение требуется, чтобы не вводить в число еще один знак. Смещённый порядок всегда положительное число. Для одинарной точности смещение принято равным 127, а для двойной точности – 1023 (2 p -1 -1) . В десятичной мантиссе после запятой могут присутствовать цифры 1:9, а в двоичной - только 1. Поэтому для хранения единицы после двоичной запятой не выделяется отдельный бит в числе с плавающей запятой. Единица подразумевается, как и двоичная запятая . Кроме того, в формате чисел с плавающей запятой принято, что мантисса всегда больше 1. То есть диапазон значений мантиссы лежит в диапазоне от 1 до 2.

Примеры :

1) Определить число с плавающей запятой, лежащее в четырёх соседних байтах:

11000001 01001000 00000000 00000000

Разделим двоичное представление на знак (1 бит), порядок (8 бит) и мантиссу (23 бита):

1 10000010 10010000000000000000000

– Знаковый бит, равный 1 показывает, что число отрицательное.

– Экспонента 10000010 в десятичном виде соответствует числу 130. Скорректируем порядок: вычтем число 127 из 130, получим число 3.

– К мантиссе добавим слева скрытую единицу 1 ,100 1000 0000 0000 0000 0000, перенесем порядок от скрытой единицы вправо на полученную величину порядка: 1 100, 1000 0000 0000 0000 0000.

– И, наконец, определим десятичное число: 1100,1 2 = 12,5 10

– Окончательно имеем -12,5

2) Определить число с плавающей запятой, лежащее в четырёх соседних байтах:

01000011 00110100 00000000 00000000

– Знаковый бит, равный 0 показывает, что число положительное.

– Экспонента 10000110 в десятичном виде соответствует числу 134. Вычтя число 127 из 134, получим число 7.

– Теперь запишем мантиссу: 1 ,011 0100 0000 0000 0000 0000

– И, наконец, определим десятичное число: 10110100 2 =180 10

Поскольку под мантиссу и порядок отводится определенное число разрядов, соответственно m и p , то можно оценить диапазон чисел, которые можно представить в нормализованном виде в системе счисления с основанием n .

Если m=23 и p=8 (4 байта), то диапазон представленных чисел от 1,5·10 -45 до 3,4·10 +38 (обеспечивает точность с 7-8 значащими цифрами).

Если m=52 и p=11 (8 байт), то диапазон представленных чисел от 5,0·10 -324 до 1,7·10 +308 (обеспечивает точность с 15-16 значащими цифрами).

Чем больше разрядов отводится под запись мантиссы, тем выше точность представления числа. Чем больше разрядов занимает поря­док, тем шире диапазон от наименьшего отличного от нуля числа до наибольшего числа, представимого в компьютере при заданном формате.

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

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

Целочисленный формат (формат с фиксированной точкой) используется для представления в компьютере целых (англ. integer) положительных и отрицательных чисел. Для этого, как правило, используются форматы, кратные байту: \(1\), \(2\), \(4\) байта.

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

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

Однобайтовое представление применяется только для положительных целых чисел. В этом формате отсутствует знаковый разряд. Наибольшее двоичное число, которое может быть записано при помощи \(1\) байта, равно \(11111111\), что в десятичной системе счисления соответствует числу 255 10 .

Для положительных и отрицательных целых чисел обычно используется \(2\) и \(4\) байта, при этом старший бит выделяется под знак числа: \(0\) - плюс, \(1\) - минус.

Самое большое (по модулю) целое число со знаком, которое может поместиться в \(2\)-байтовом формате, это число \(0 1111111 11111111\), то есть при помощи подобного кодирования можно представить числа от − 32 768 10 до 32 767 10 .

Обрати внимание!

Если число вышло за указанные границы, произойдет переполнение! Поэтому при работе с большими целыми числами под них выделяется больше места, например \(4\) байта.

Формат с плавающей точкой (нормализованная форма) используется для представления в компьютере действительных чисел (англ. real) . Числа с плавающей точкой размещаются, как правило, в \(4\) или \(8\) байтах.

Нормализованная форма представления чисел обеспечивает огромный диапазон их записи и является основной в современных ЭВМ.

Представление целого положительного числа в компьютере

Для представления целого положительного числа в компьютере используется следующее правило:

Число переводится в двоичную систему;

- последний разряд слева является знаковым, в положительном числе он равен \(0\).

Например, положительное число + 135 10 в зависимости от формата представления в компьютере будет иметь следующий вид:
- для формата в виде \(1\) байта - \(10000111\) (отсутствует знаковый разряд);
- для формата в виде \(2\) байтов - \(0 0000000 10000111\);
- для формата в виде \(4\) байтов - \(0 0000000 00000000 00000000 10000111\).

Представление целого отрицательного числа в компьютере

Для представления целого отрицательного числа в компьютере используется дополнительный код . Такое представление позволяет заменить операцию вычитания числа операцией сложения с дополнительным кодом этого числа. Знаковый разряд целых отрицательных чисел всегда равен \(1\).

Для представления целого отрицательного числа в компьютере используется следующее правило:

Число без знака переводится в двоичную систему;
- результат дополняется нулями слева в пределах выбранного формата;
- полученное число переводится в обратный код (нули заменяются единицами, а единицы - нулями);

К полученному коду прибавляется \(1\).

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

Дополнительный код для положительного числа совпадает с его прямым кодом, а для отрицательного числа образуется путем прибавления 1 к обратному коду.

Отрицательное число может быть представлено в виде \(2\) или \(4\) байт.

Например, представим число − 135 10 в \(2\)-байтовом формате:

135 10 ® \(10000111\) (перевод десятичного числа без знака в двоичный код);
- \(0 0000000 10000111 \)(дополнение двоичного числа нулями слева в пределах формата);
- \(0 0000000 10000111 \)® \(1 1111111 01111000 \)(перевод в обратный код);
- \(1 1111111 01111000 \)® \(1 1111111 01111001\) (перевод в дополнительный код).

Представление вещественного (действительного) числа в компьютере

Вещественное число может быть представлено в экспоненциальном виде, например:

16000000 10 = 0 , 16 ⋅ 10 8

− 0,0000156 10 = − 0,156 ⋅ 10 − 4

В этом формате вещественное число (\(R\)) представляется в виде произведения мантиссы (\(m\)) и основания системы счисления (\(P\)) в целой степени (\(n\)), называемой порядком .

Представим это в общем виде, как: R = m ⋅ P n .

Порядок \(n\) указывает, на какое количество позиций и в каком направлении должна сместиться в мантиссе точка (запятая), отделяющая дробную часть от целой. Мантисса, как правило, нормализуется, то есть представляется в виде правильной дроби \(0\) < \(m\) < \(1\).

Любая информация (числа, команды, алфавитно-цифровые записи и т. п.) представляется в компьютере в виде двоичных кодов. Отдельные элементы двоичного кода, принимающие значения 0 или 1, называются разрядами или битами.

В старых компьютерах, рассчитанных на вычислительные задачи, минимальной единицей информации, доступной для обработки, была ячейка. Количество разрядов в ячейке было ориентировано на представление чисел и было различным в разных компьютерах (24 бита, 48 бит и т.д.). Однако такой большой размер ячеек был неудобен для представления символов, поскольку для представления символьных данных достаточно 5-8 байт. Это дает возможность представить от 32 до 256 символов.

Поэтому минимальной единицей данных, обрабатываемой в современном компьютере, является байт, состоящий из восьми двоичных разрядов (битов). Байт впервые был введен в компьютерах серии IBM/360 и используется для представления как чисел, так и символов. Каждый байт, расположенный в памяти компьютера, имеет свой адрес, который определяет его местонахождение и задается соответствующим кодом. Адреса памяти начинаются с нуля для первого байта и последовательно возрастают на единицу для каждого последующего.

Производными единицами от байта являются килобайт (2 10 байт) – сокращение Кбайт или Кб, мегабайт (2 20 байт) – сокращение Мбайт или Мб, гигабайт (2 30 байт) – сокращение Гбайт или Гб, терабайт (2 40 байт) – сокращение Тбайт или Тб и петабайт (2 50 байт) – сокращение Пбайт или Пб.

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

Форматы данных фиксированной длины (полуслово, слово и двойное слово) состоят соответственно из одного, двух или четырех последовательно расположенных байтов. Обращение к этим данным производится по адресу крайнего левого байта формата, который для слова должен быть кратен числу 2, а для двойного слова – числу 4.

Формат данных переменной длины состоит из группы последовательно расположенных байтов от 1 до 256. Адресация таких данных производится, как и в форматах фиксированной длины, по адресу самого левого байта.

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

В современных компьютерах применяются две формы представления чисел: с фиксированной точкой (запятой) и с плавающей точкой (запятой). Эти формы, кроме того, называются соответственно естественной и полулогарифмической.


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

Для числа со знаком крайний слева разряд отводится под знак числа. В этом разряде записывается нуль для положительных чисел и единица – для отрицательных чисел. Числа без знака занимают все разряды числа, т.е. числа могут быть только положительными. Нумерация разрядов числа обычно ведется справа налево.

В компьютерах числа с фиксированной точкой имеют три основных формата – один байт (полуслово), 16-разрядное слово (короткий формат) и 32-разрядное двойное слово (длинный формат).

Рис. 2.1. Организация данных в ГИС

К данным, используемым в ГИС, относится описательная информация, которая хранится в базе данных об объектах (точка, линия, полигон), расположенных на карте. Описательную информацию называют атрибутом .

Атрибутивные данные – непозиционная часть данных, характеризующая свойства объектов (данные о свойствах и характеристиках пространственных объектов, за исключением сведений об их пространственном расположении).

Формально все объекты представляют с помощью их описания набором характеристик, а их хранение – в соответствующих графических и параметрических базах данных. Выделяют три группы признаков (характеристик) описания объектов: идентификационные, классификационные, выходные.

Индентификационные характеристики служат для однозначного определения месторасположения объекта на карте и его опознания. К ним относятся название географического объекта, координаты, род объекта и т.д.

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

Выходные характеристики содержат информацию об источниках и датах получения соответствующих данных по каждой из характеристик для любого объекта. Назначением данной группы признаков является обеспечение возможности определения достоверности поступающей информации.

Одна из основных идей, воплощенная в традиционных ГИС, – это сохранение связи между пространственными и атрибутивными данными при раздельном их хранении и частично при раздельной обработке.

При выполнении пространственных запросов атрибутика помогает более точно идентифицировать объект. Предпочтение в ГИС отдают двум формам запроса к атрибутике: языку запросов SQL (Structured Query Language) и шаблону. Совпадающие с этими запросами записи выделяются: QBE (Query By Example) Можно организовывать выбор объектов на карте посредством запросов к атрибутивной таблице, так как выделение графических объектов связано с выделением их атрибутивных записей.

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

Как отмечалось, пространственные данные в современных ГИС представлены в двух основных формах: векторной и растровой.

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

Pacтровая модель данных основывается на представлении карты с помощью регулярной сетки одинаковых по форме и площади элементов.

Существует два типа структуры данных топология и слои .

Топологию применяют для выделения пространственной связи между объектами Топология обеспечивает связь между точками, линиями и полигонами и обычно не изменяется оператором. Слои же применяют для того, чтобы структурировать данные.

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

Топологическая информация описывает, как объекты расположены друг относительно друга в пространстве, и обычно оператор ее не изменяет. В ГИС требуется точно определить топологию, для того чтобы выполнять пространственный анализ

Топология включает в себя информацию , какие условные знаки соответствуют определенным объектам, как точки соединены друг с другом и какие точки и линии образуют полигоны. Топологическая информация позволяет пользователю ГИС извлекать информацию, например, о том, какое перекрытие имеют определенные полигоны, находится ли линия внутри полигона, и определять, насколько близко один объект расположен к другому

Манипуляция и анализ данных, выполняемые нетопологическими ГИС-системами (например, CAD-системами), ограниченны.

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

Данные разделяют на слои карты так, чтобы ими можно было манипулировать и анализировать в пространстве либо по отдельности, либо совместно с другими слоями. Для получения более значимых аналитических результатов слои в ГИС должны быть связаны друг с другом через общую систему координат базы данных.

Базы данных делят на иерархические , сетевые и реляционные .

База данных (БД) – совокупность взаимосвязанных данных, организованных по определенным правилам

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

Здесь Квартал является предком для Земельного участка, а Земельный участок – потомком для Квартала Земельный участок является предком для Части участка, а часть участка – потомком для Земельного участка. Между типами записи поддерживаются связи. Автоматически поддерживается целостность ссылок между предками и потомками.


Типичный представитель иерархических систем – Information Management System (IMS) фирмы IBM. Первая версия появилась в 1968 г. До сих пор поддерживается много баз данных в этой системе, что создает существенные проблемы с переходом, как на новую технологию БД, так и на новую технику.

Рис. 2.2. Пример типа дерева (схемы иерархической БД)

Сетевые базы данных используют в том случае, если структура данных сложнее, чем обычная иерархия, т.е. простота структуры иерархической базы данных становится ее недостатком. Организация сетевых и иерархических баз данных должна быть жесткая. Наборы отношений и структуру записей необходимо задавать заранее.

Типичный представитель сетевых систем – Integrated Database Management System (IDMS) компании CuHinet Software, Inc., предназначенная для использования на машинах основного класса фирмы IBM под управлением большинства операционных систем. Архитектура системы основана на предложениях Data Base Task Group (DBTG) Комитета по языкам программирования Conference on Data Systems Languages (CODASYL).


Сетевой подход к организации данных является расширением иерархического. В иерархических структурах запись-потомок должна иметь в точности одного предка; в сетевой структуре данных потомок может иметь любое число предков. Сетевая БД состоит из набора записей и набора связей между этими записями. Тип связи определяется для двух типов записи: предка и потомка (рис. 2.3).

Рис. 2.3. Пример сетевой схемы базы данных

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

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

В реляционной базе данных информация организована в виде таблиц, разделенных на строки и столбцы, на пересечении которых содержатся значения данных. У каждой таблицы имеется уникальное имя, описывающее ее содержимое. Структура таблицы показана на рисунке 2.4. Каждая горизонтальная строка этой таблицы представляет отдельный физический объект – один административный район Она же представлена на карте отдельным графическим объектом. Все строки таблицы представляют все районы одной области. Все данные, содержащиеся в конкретной строке таблицы, относятся к району, который описывается этой строкой.

Все значения, содержащиеся в одном и том же столбце, являются данными одного типа. Например, в столбце «Районный центр» содержатся только слова, в столбце «Площадь» содержатся десятичные числа, а в столбце «ID» – целые числа, представляющие коды объектов, установленные пользователем. Связь между таблицами осуществляется по полям.



Рис. 2.4. Структура таблицы реляционной базы данных

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

Понятие «тип данных» в реляционной модели данных полностью адекватно понятию «тип данных» в языках программирования. Обычно в современных реляционных БД допускается хранение символьных, числовых данных, битовых строк, специализированных числовых данных (таких, как «деньги»), а также специальных «темпоральных» данных (дата, время, временной интервал). Достаточно активно развивается подход к расширению возможностей реляционных систем абстрактными типами данных (соответствующими возможностями обладают, например, системы семейства Ingres/Postgres). В нашем примере мы имеем дело с данными трех типов: строки символов, целые числа и «деньги».

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

Файловая система и форматы представления

Графических данных

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

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

1. Способ изолированных файловых систем. Во многих системах управления файлами требуется, чтобы каждый архив файлов (полное дерево справочников) целиком располагался на одном дисковом пакете (или логическом диске, разделе физического дискового пакета, представляемом с помощью средств операционной системы как отдельный диск) В этом случае полное имя файла начинается с имени дискового устройства, на котором установлен соответствующий диск. Такой способ именования используют в файловых системах фирмы DEC, очень близко к этому находятся и файловые системы персональных компьютеров.

2. Способ централизованной файловой системы. При этом способе вся совокупность каталогов и файлов представляется как единое дерево. Полное имя файла начинается с имени корневого каталога, и пользователь не обязан заботиться об установке на дисковое устройство каких-либо конкретных дисков. Сама система, выполняя поиск файла по его имени, запрашивала установку необходимых дисков. Этот вариант был реализован в файловых системах операционной системы Muitics. Во многом централизованные файловые системы удобнее изолированных: система управления файлами принимает на себя больше рутинной работы. Но в таких системах возникают существенные проблемы, если требуется перенести поддерево файловой системы на другую вычислительную установку.

3. Смешанный способ. При этом способе на базовом уровне в этих файловых системах поддерживаются изолированные архивы файлов. Один из этих архивов объявляется корневой файловой системой. После запуска системы можно «смонтировать» корневую файловую систему и ряд изолированных файловых систем в одну общую файловую систему. Это решение применено в файловых системах ОС UNIX. Технически это производится с помощью заведения в корневой файловой системе специальных пустых каталогов. Специальный системный вызов курьер ОС UNIX позволяет подключить к одному из этих пустых каталогов корневой каталог указанного архива файлов. После монтирования общей файловой системы именование файлов производится так же, как если бы она с самого начала была централизованной. Если учесть, что обычно монтирование файловой системы производится при раскрутке системы, то пользователи ОС UNIX и не задумываются об исходном происхождении общей файловой системы.

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

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

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

Возможные области применения файлов:

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

· для формирования входных текстов компиляторов, которые, в свою очередь, формируют файлы, содержащие объектные модули (файлы с текстами программ). Объектные файлы также обладают очень простой структурой – последовательность записей или байтов. Система программирования накладывает на эту структуру более сложную и специфичную для этой системы структуру объектного модуля;

· для хранения файлов, содержащих графическую и звуковую информацию, а также файлов, формируемых редакторами связей и содержащих образы выполняемых программ. Логическая структура таких файлов остается известной только редактору связей и загрузчику – программе операционной системы.

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

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

Форматом файла называют шаблон, по которому он создается. Шаблон описывает, какие именно данные (строки, одиночные символы, целые, дробные числа, символы-разделители) и в каком порядке должны быть занесены в файл.

Характеристиками формата являются: быстрота чтения/записи; величина возможного сжатия файла; полнота описания информации.

Некоторые форматы были приняты в качестве стандартных на основании решений комиссий по стандартам. Так, формат SDTS, имеющий статус национального стандарта США, был принят международной организацией стандартизации ISO.

Следует различать внутренние форматы системы и обменные форматы, т. е. форматы, используемые для обмена информацией между различными пользователями, работающими в том числе в разных системах. Возможность ГИС импортировать данные из файла формата другой системы и правильно их интерпретировать и, наоборот, заносить свои данные в этом формате позволяет осуществлять обмен данными между системами.

Поддержка импорта/экспорта большого числа стандартных обменных форматов важна в ГИС, так как объемы уже введенных графических изображений велики в результате выполнения трудоемких работ по вводу информации. Возможно также, что пространственные данные вводятся на самостоятельной системе ввода, имеющей собственный формат, отличный от применяемого формата ГИС Нецелесообразно отказываться от работающей и привычной системы, легче переводить полученные данные в ГИС-формат и обратно. Можно вводить данные в своем формате и обмениваться ими, осуществляя перевод в нужный формат. При этом существует следующее условие: формат хранения должен быть достаточно полным; ведь в отличие от координат, которые могут быть легко переведены из целых чисел в дробные, отсутствующие атрибуты и описания перевести в тот формат, где они необходимы, невозможно.

Управления базой данных

Эффективное использование цифровых данных предполагает наличие программных средств, обеспечивающих функции их хранения, описания, обновления и т. д. В зависимости от типов и форматов их представления, от уровня программных средств ГИС и некоторых характеристик среды и условий их использования возможны различные варианты организации хранения и доступа к пространственным данным, причем способы организации различаются для позиционной (графической) и семантической их части.

В простых программных средствах ГИС отсутствуют специфические средства организации хранения, доступа к данным и манипулирования или эти функции реализуются средствами операционной системы в рамках ее файловой организации.

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

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

Системы, основанные на инвертированных списках, иерархические и сетевые системы управления базами данных являлись предшественниками реляционных СУБД. К общим характеристикам ранних систем можно отнести следующее:

1. Эти системы активно использовали в течение многих лет, дольше, чем какую-либо из реляционных СУБД. В них накоплены большие базы данных и поэтому одна из актуальных проблем информационных систем – использование их совместно с современными системами.

2. Системы не были основаны на каких-либо абстрактных моделях. Абстрактные представления ранних систем появились позже на основе анализа и выявления общих признаков у различных систем вместе с реляционным подходом.

3. Доступ к БД производился на уровне записей. Пользователи этих систем осуществляли навигацию в БД, используя языки программирования, расширенные функциями СУБД. Интерактивный доступ к БД поддерживался только путем создания соответствующих прикладных программ с собственным интерфейсом.

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

К числу наиболее известных систем, основанных на инвертированных списках, относятся Datacom/DB компании Apptied Data Research, Inc. (ADR), ориентированная на использование компьютеров основного класса фирмы IBM, и Adabas компании Software АС.

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

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

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

К достоинствам реляционного подхода организации СУБД можно отнести:

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

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

· возможность ненавигационного манипулирования данными без необходимости знания конкретной физической организации баз данных во внешней памяти.

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

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

Современные СУБД можно классифицировать в соответствии с используемой моделью данных [иерархическая, сетевая, реляционная, объектная, гибридная (элементы объектной с реляционной)], в зависимости от объема поддерживаемых БД и числа пользователей [высший уровень, средний уровень, нижний уровень, настольные СУБД (рис. 2.5)].

Высший уровень СУБД поддерживают крупные БД (сотни и тысячи Гбайт и более), обслуживающие тысячи пользователей, например ORACLE7, ADABAS 532, SQL SERVER11.

Реляционная СУБД Oracle7, corp. Oracle обладает широким диапазоном функциональных возможностей, включая поддержку двухфазной фиксации, тиражирования данных, хранимых процедур, триггеров, оперативного резервного копирования. Эта СУБД поддерживает БД, занимающую несколько физических дисков, хранящую новые типы данных, использует почти все аппаратные и программные платформы, а также протоколы передачи данных.

SQL Server 10, соmp. Sybase – продукт, поддерживающий обработку в реальном времени и процессы решений. Он является СУБД одного уровня с Oracle7, но имеет некоторые ограничения в плане масштабируемости и использует ограниченное число аппаратных и программных платформ. Средний уровень СУБД поддерживают БД до нескольких сот Гбайт, обслуживают сотни пользователей. Представители: InterBase 3.3, Informix-OnLme7.0, Microsoft SQL Server 6 0.

Среди реляционных СУБД Informix-OnLine 7.0, соmp. Software поддерживает такие современные технологии, как тиражирование данных, синхронизирующие распределенные БД, и большие двоичные объекты. Его можно применять для запуска OLTP-приложений (высокоскоростной обработки транзакций), но скорость обработки в этом случае меньше, чем у продуктов верхней части рынка. Установка возможна на ограниченном числе платформ.


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

Microsoft SQL Server 6.0, corp. Microsoft – хорошая СУБД, которая интегрирована с Windows NT, дополняя ее. Недостатки: недостаточная масштабируемость, малое число поддерживаемых программных платформ.

Нижний уровень СУБД составляют системы, которые поддерживают БД до 1 Гбайта и имеют менее 100 пользователей. Используют их, как правило, в небольших подразделениях. Представители: NetWare SQL 3.0, Gupta SQL-Base Server.

Настольные СУБД предназначены для одного пользователя, используются для ведения настольной БД или как клиент для подключения к серверу БД. Имеют очень ограниченные возможности по обработке данных, а также характеризуются отсутствием возможности установки в сети. Представители: FoxPro 2.6, согр. Microsoft, Paradox 5.0, comp Bortand.

При использовании конкретной СУБД необходимо учитывать три ключевых фактора: архитектуру взаимодействия клиент/сервер; способ или метод реализации основных функций; уровень поддержки распределенных БД.

Одно из главных условий, определяющих необходимость использования технологии баз данных при создании ГИС, – поддержка современными СУБД сетевых возможностей хранения и использования технологий локальных сетей (LAN) и удаленных сетей в так называемых распределенных БД. Тем самым достигается оптимальное использование вычислительных ресурсов и возможность коллективного доступа пользователей к запрашиваемым БД.

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