После обсуждения особенностей кодировки и передачи инфы полностью естественным представляется разглядеть вопросы, связанные с хранением инфы. Ранее было дано определение формальной инфы как результата последовательности бинарных выборов (см. п.2.2.). Но на практике (и на бытовом уровне) информация понимается как сведения о чем-либо. Эти определения не противоречат друг дружке, если не будем выслеживать смысловую сторону сведений и пробовать оценивать их значимость (значимость), т.е. сохраним формальность подхода.
Наряду и наряду с термином «информация» при описании информационных процессов нередко употребляется термин «данные». Определим его последующим образом:
Данные — это сведения, характеризующие какую-то систему, явление, процесс либо объект, выставленные в определенной форме и созданные для предстоящего использования.
К данному определению нужно сделать последующие замечания, разъясняющие соотношение меж понятиями информация и данные:
- данные — это определенная форма представления содержания инфы (к примеру, информацию о результатах наблюдения за температурой среды можно представить в виде числового массива (таблицы), но можно и в виде графика, и в виде текстового описания средством некого языка);
- в отличие от ненаправленной (неадресной, рассеянной) инфы, имеющейся в природе независимо от нас и наших потребностей в ней, данными именуется только такая информация, которая имеет значение для потребителя и, как следует, предусматривается ее внедрение для решения каких-то задач; другими словами, практический статус и значимость данных выше, ежели у природной инфы.
Непременно, при решении практических задач при помощи технических устройств формы представления инфы всегда конкретны и в инфы кто-то заинтересован, потому употребление термина «данные» полностью оправдано.
Содержание понятия «данные» очень широко. Оно обхватывает как какую-то отдельную величину, к примеру год рождения человека либо его имя, так и показания какого-нибудь датчика либо производственные сведения компании. На бытовом уровне данные отождествляются со сведениями, и потому не хоть какой информационный массив считается данными. К примеру, текст литературного произведения либо учебника, картина художника, кинофильм не рассматриваются как данные, но, данными признаются сведения, в их содержащиеся. В компьютерных системах такового различия нет и неважно какая информация, представленная в допустимой для компьютера форме — тексты, картинки, музыка и др. — числятся данными. В информатике к данным относятся также тексты программ, хранящиеся на наружных носителях либо загруженные для выполнения в память компьютера. Конкретно такое расширенное по содержанию истолкование термина данные будет предполагаться дальше.
Данным приписываются несколько классификационных признаков. Важным из их является тип данных. Тип данных определяет:
- набор их допустимых значений;
- правила их обработки (преобразования);
- порядок их размещения в ОЗУ и ВЗУ при хранении;
- порядок доступа к ним (т.е. воззвание и извлечение по мере надобности с места хранения).
Допустимый набор типов данных и их особенности определяются программной системой либо языком программирования, на котором система написана. При всем этом способности языков по обилию допустимых типов данных, также построению новых типов различаются очень очень. Ясно, что чем более широкой и гибкой оказывается типизация данных в программной системе либо языке, тем больше способностей предоставляется юзеру в решении задачки рационального представления, хранения и внедрения данных. Типизация данных оказывает влияние и на компактность самой исполняемой программки. К примеру, в языке BASIC отсутствует тип данных «записи»; в итоге для сотворения и использования базы данных пришлось бы организовывать параллельную обработку нескольких массивов.
Последующим признаком является деление данных на простые (одиночные, обыкновенные) и структурированные (сложные).
К простым данным относятся знаки, числа (целые и вещественные) и логические данные. Общей и неотклонимой особенностью одиночных данных будет то, каждое из их имеет одно значение и собственное имя. Значение — это содержимое тех ячеек памяти, где данное размещается. Имя (его именуют также идентификатор) — это обозначение данного в тексте программки. Правила построения идентификаторов простых данных определяются языком программирования написанной программки.
Простые данные являются «кирпичиками», методом объединения которых строятся сложные данные. Вариантов объединения существует много — это приводит к возникновению огромного количества типов структур данных.
Информационный массив, объединяющий данные и связи (дела) меж ними именуется структурированными данными.
Список объединяемых одиночных данных, их свойства, также особенности связей меж ними образуют структуру данных.
Примерами структурированных данных является страничка из потрясающего журнальчика с фамилиями учеников, датами занятий и отметками, телефонный справочник, организационная структура учреждения и т.п.
Список допустимых структур данных, как уже было сказано, определяется языком программирования либо прикладной программкой. Он может быть фиксированным (нерасширяемым), как в языке BASIC либо прикладных программках без интегрированных способностей программирования. В развитых языках программирования (PASCAL, С и др.) и ряде прикладных систем вместе с зарезервированными типами структур данных допускается создание новых типов, при этом, элементами структуры могут быть сложные данные, к примеру, массив записей.
Сложные данные, как и простые, имеют значения и идентификаторы. Значения располагаются в ячейках ОЗУ по определенным схемам (см. п.6.3.3.). Правила построения идентификаторов инсталлируются языком программирования либо программной системой. Исключение составляют правила формирования названий файлов — они задаются операционной системой и должны соблюдаться всеми работающими в ней программками и языками. К примеру, в MS-DOS в качестве названий файлов допустимы композиции из латинских букв, цифр и неких спецсимволов общей длиной менее 8 символов; в Windows 95 (98), имеющую 32-х разрядную файловую систему, разрешены имена длиной до 255 символов без ограничений используемого набора знаков.
По способности конфигурации значений данных (как обычных, так и структурированных) в процессе общей обработки их подразделяют на переменные и неизменные (константы). Из наименования разумеется, что переменные могут изменять свое значение по ходу выполнения программки, а константы — нет. На уровне операционной системы различие меж переменными и неизменными величинами отсутствует, потому у их однообразный порядок размещения в ОЗУ и доступа к ним. Разделение может выполняться в языке программирования и, соответственно, в сделанной с его помощью прикладной программке; такое разделение служит дополнительной мерой синтаксического контроля правильности программки.
Зависимо от того, на каком шаге обработки данные употребляются, они разделяются на начальные (входные), промежные и выходные. К начальным относятся данные, нужные для выполнения программки и вводимые в нее до либо в процессе работы. Начальные данные могут быть за ранее записаны на неком носителе и вводиться с него, поступать по линиям связи от каких-либо датчиков либо с других компов, вводиться юзером программки средством устройств ввода. Промежные данные формируются в процессе выполнения программки и, в большинстве случаев, юзеру недосягаемы; они не показываются на устройствах вывода, но есть в ОЗУ либо на ВЗУ. Идентификаторы промежным данным присваивает разработчик программки либо задает сама программка по заложенным в нее правилам. Выходные данные являются результатом работы программки — ради их и делается обработка входных. Выходные данные, созданные для человека, представляются в требуемой для него форме (тексты, картинки, звуки); при хранении выходных данных на носителях либо передаче по сетям сохраняется двоичный компьютерный формат их представления. Таким макаром, работу программки можно рассматривать как деяния по преобразованию входных данных в выходные через нужные для этого промежные. Исходя из убеждений самой программки все эти виды равноправны, т.е. обрабатываются исключительно в согласовании с их типом, а не многофункциональным предназначением либо шагом.
Представление данных при их хранении и обработке просит решения 3-х главных задач:
- найти методы представления простых (обычных) данных;
- найти методы объединения данных в структуры;
- установить методы размещения инфы на вещественном носителе.
Выделяют три уровня представления данных — концептуальный, логический и физический. На концептуальном уровне определяется общая структура информационного массива — она именуется моделью данных. Известны и употребляются несколько моделей данных: иерархическая, сетевая, реляционная, объектно-ориентированная. В согласовании с избранной моделью данных строится информационная система, в какой данные будут храниться, также программки, ведущие их обработку (манипулирование данными). Логический уровень определяет методы представления простых данных, их список при объединении в структуру, также нрав связей меж ними в рамках избранной модели данных. Физический уровень определяет форматы размещения сделанной логической структуры данных на наружных носителях инфы (магнитных либо оптических дисках, бумаге, в памяти компьютера). Представление данных является принципиальным фактором, обеспечивающим малогабаритный (т.е. экономичный исходя из убеждений расходования носителя) метод записи инфы при хранении и резвый доступ к необходимым данным при их использовании. Дальше подвергнутся рассмотрению варианты решения перечисленных задач в компьютерных системах.