Модели данных

1.1. Понятие данных, Типы данных

Данные - набор конкретных значений параметров, характеризующих объекты, условия, ситуацию или любые другие факты. Однако данные — это абстракция; никто никогда не видел "просто данные"; они не возникают и не существуют сами по себе. Данные - суть отражения объектов реального мира. Данные не обладают какой-то определённой структурой. Они становятся информацией, когда пользователь задаёт их какой-то структурой.

Рассмотрим, какие вообще типы данных обычно рассматриваются в программировании. Как правило, типы данных делятся на три группы:

  • Простые типы данных.
  • Структурированные типы данных.
  • Ссылочные типы данных.

Простые типы данных

Простые, или атомарные, типы данных - не обладают внутренней структурой. Данные такого типа называют скалярами. К простым типам данных относятся следующие типы:

  • Логический.
  • Строковый.
  • Численный.

Различные языки программирования могут расширять и уточнять этот список, добавляя такие типы как:

  • Целый.
  • Вещественный.
  • Символьный.
  • Дата.
  • Время.
  • Денежный.
  • Перечислимый.
  • Интервальный.
  • И т.д.…

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

Структурированные типы данных

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

  • Массивы.
  • Записи (Структуры).

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

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

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

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

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

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

Работая же с простыми типами данных, например с числовыми, мы манипулируем ими как неделимыми целыми объектами. Чтобы "увидеть", что числовой тип данных на самом деле сложен (является набором битов), нужно перейти на более низкий уровень абстракции. На уровне программного кода это будет выглядеть как ассемблерные вставки в код на языке высокого уровня или использование специальных побитных операций.

Ссылочные типы данных

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

1.2. Модели данных. Понятие и классификация.

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

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

Выделяют 3 вида моделей:

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

2.Даталогические - строятся на основе инфологических. Это модели для создания конкретной СУБД.

3.Физические - характеризуют распределение информационных ресурсов БД на конкретных физических носителях.

Ориентированные на формат документа

1. Документальные.

2. Тезаурусные.

3. Дескрипторные.

Документальные - соответствуют представлению слабоструктурированной информации.

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

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

-объёмы носителей информации были слишком малы, сейчас – для экономии места.

-процедура анализа текстовой информации сложна по сравнению с числовой.

1. Теоретико-графовые.

2. Теоретико-множественные (фактографические).

3. Объектно-ориентированные.

В основе Теоретико-графовых моделей лежит теория графов. Граф - это способ описания какой-то области реального мира с помощью 2-ух элементов:

- Вершина.

- Дуга.

Рис.1.1. Пример теоретико-графовой модели данных.

Теоретико-множественные модели основаны на теории множеств, опираются на свойства множеств и операции, которые производятся над множествами. Эти модели наиболее перспективны для создания БД.

Теоретико-графовые модели делятся на:

-Иерархические.

-Сетевые.

Теоретико-множественные делятся на:

-Реляционные.

-Бинарных ассоциаций.

Теоретико-графовые модели.

Иерархическая модель.

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

Рис.1.2. Пример иерархической модели данных.

Узел дерева - это совокупность атрибутов, описывающих объект.

Между главными и подчиненными объектами установлено отношение "один ко многим". Для каждого подчиненного типа объекта может быть только один исходный тип объекта.

Основным недостатком этой модели является то, что поиск необходимой информации достаточно длителен.

Сетевая модель.

Понятие главного и подчиненного объекта несколько расширено. Любой объект может быть главным и подчиненным. Каждый объект может участвовать в любом числе взаимодействий. Т.е. любая информационная единица может иметь множество предков и множество потомков.

Рис.1.3. Пример сетевой модели данных.

В этих моделях связи заложены внутри описания каждого объекта.

Достоинство: гибкость - может увеличить быстродействие системы.

Недостаток: нагрузка на информационные ресурсы.

Достоинства и недостатки теоретико-графовых моделей.

Достоинства:

1. Развитое средство управления во внешней памяти на низком уровне.

2. Возможность построить вручную эффективные прикладные программы.

3. Возможность экономии памяти распределённой информации на объектах системы.

Недостатки:

1. Слишком сложно пользоваться.

2. Фактически необходимо знание о физической организации информации.

3. Логика СУБД перегружена деталями организации доступа к данным.

Лекция 2. Файлы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: