22.3.2. Типы и модели данных
Напомним, что когда речь идет о представлении данных в ЭВМ, следует различать физическую и логическую организацию данных (рис. 22.6).

Рис. 22.6. Физическая (а) и логическая (б) организации данных
С другой стороны, когда говорится о данных применительно к какой-то конкретной задаче, следует помнить, что данные, закодированные в машине в виде нулей и единиц, несут в себе информацию о реальном объекте.
Если составляется алгоритм решения задачи, то программист пытается изобразить предметную область путем некоторого набора символов в виде структуры данных. При этом, естественно, его интересуют не все объекты, а лишь некоторые, которые имеют непосредственное отношение к решаемой задаче.
Совокупность таких объектов называется предметной областью, а сами объекты — объектами предметной области.
Например, объектами могут быть: материалы; предметы, элементы, агрегаты, изделия; станки, оборудование; проблемы консультирования; рекомендации; консультационные процессы.
Для каждого объекта предметной области должны быть описаны характеристики, являющиеся наиболее важными для решаемой задачи. Эти характеристики называют атрибутами. Каждый атрибут может принимать определенные значения.
Например, когда речь идет о телевизоре как объекте предметной области, в качестве атрибутов (в зависимости от решаемой задачи) могут быть использованы характеристики (марка, индекс, изображение, размер кинескопа по диагонали, цена). Для определенного типа телевизора они примут конкретные значения. Например «Рекорд», ВЦ-311, цветной, 47 см, 640 руб.
Для любого объекта существует совокупность его параметров, которую будем называть записью. Она, в свою очередь, содержит поля. Семейство записей образует файл. Несколько файлов образуют библиотеку. При этом можно отметить следующие соответствия между объектами предметной области и логическим представлением:
- число объектов равно числу записей в файле;
- число атрибутов, описывающих объект, равно числу полей в каждой записи.
Очевидно, что при описании атрибутов могут использоваться числовые величины, строки символов, значения проводимых измерений. Чтобы осуществить обработку этих данных с помощью ЭВМ, необходимо как-то учитывать тот факт, что внутреннее представление информации в ЭВМ сводится в конечном счете к последовательности нулей и единиц. Действительно, пусть в ходе некоторой операции в регистре центрального процессора оказалась двоичная величина 1101010001010011. Как интерпретировать ее?
Для того чтобы машина могла однозначно интерпретировать данные, необходимо снабдить ее некоторой дополнительной информацией, сообщающей о «типе» обрабатываемой величины. Поэтому данные, закладываемые в ЭВМ, классифицируются по типам. Понятие типа играет центральную роль в языках программирования высокого уровня, поскольку при программировании на ассемблере программист должен сам контролировать, с какими данными он имеет дело.
В языках высокого уровня тип данных задается путем явного описания в тексте программ. В различных языках, в общем случае, имеются различные типы данных, но основные классифицируются следующим образом: простые; структурированные; ссылочные.
Простые типы не обладают внутренней структурой и представляют собой конечный набор типов, называемых также базисными. К простым типам данных относятся: целый; плавающий; символьный; логический.
Целый и плавающий типы данных предназначены для представления числовых значений, символьный используется для образования текстов из символов (кода КОИ-7 или ДКОИ). Логический тип состоит из логических значений «истина» и «ложь» и применяется для выражения значений логических условий.
Данные любого простого типа характеризуются тем, что в любой момент времени каждому данному соответствует только одно значение.
Но для решения большинства задач с помощью программ требуется возможность использования таких типов данных, которые могут содержать много значений. Поэтому в рассмотрение кроме базовых типов данных вводят структурированные.
Структурированные типы данных предназначены для конструирования из конечного набора базисных типов сложных структурных данных.
К этим типам данных относят: массивы (одно - и многомерные), последовательности (файлы, стеки).
Под массивом понимают группировку набора данных идентичного типа. Массиву присваивается имя, обозначающее всю группу данных. Причем к каждому элементу группы возможен индивидуальный доступ с помощью целого индекса, указывающего позицию элемента в группе. В п-мерных массивах позиция элемента задается с помощью п индексов.
Ссылочный тип данных предназначен для обеспечения ссылок на другие данные и называется указателем. Этот тип применяется для динамического построения сложных структур данных и в ряде языков отсутствует.
Таким образом, из сказанного видно, что при написании программ на языке высокого уровня для того, чтобы ЭВМ правильно интерпретировало получаемую информацию, следует самым внимательным образом описывать типы используемых в программе данных.
Одним из основных способов структуризации данных является использование абстракций.
Абстракция предполагает, что несущественные детали должны быть опущены, а внимание должно быть сконцентрировано на основных общих свойствах множества объектов. Так, общее понятие ТЕЛЕВИЗОР — есть абстракция, отражающая множество наших представлений о конкретных телевизорах. Абстракция может быть многоуровневой т. е. объект абстракции одного уровня может рассматриваться как объект абстракции другого уровня и т. д. Таким образом, абстракция может использоваться для формирования нового типа из других типов. Например, БЫТОВАЯ РАДИОАППАРАТУРА определяется как абстракция типов ТЕЛЕВИЗОР, МАГНИТОФОН, ПРОИГРЫВАТЕЛЬ и т. д. Механизм абстракций широко используется при построении моделей данных.
Модели данных. Разработка АСНИ любых типов предполагает, что данными, заложенными в систему, будут пользоваться не одним исследователем, а группой исследователей, имеющих доступ к системе. Возможность совместного использования одних и тех же данных требует создания в системе исследования единой информационной базы — базы данных. Под базой данных будем понимать массив данных, хранимый в ЭВМ и предназначенный для совместного использования группой людей. Использование баз данных позволяет:
- представлять в памяти ЭВМ сложные структуры информации, когда объектом хранения являются не только данные, но и структуры, в которые они организованы;
- сокращать дублирование информации за счет структурирования данных, что приводит к экономии памяти на внешних носителях и повышает надежность информации;
- повышать сохранность данных от несанкционированного доступа;
- обеспечивать независимость прикладных программ от изменений данных;
- повышать достоверность информации и сокращать затраты на обслуживание систем.
Если в случае создания отдельной программы пользователь может сам проводить подготовку данных, определять их типы и предъявлять ЭВМ, то при создании базы данных сразу для нескольких пользователей требования к организации данных в ЭВМ несколько усложняются.
Для того чтобы некоторую предметную область представить в базе данных, прежде всего необходимо выделить те понятия, которые интересны с точки зрения всех потенциальных пользователей базы. В силу этих причин создание базы данных требует широкого использования механизма абстрагирования. На абстрактном уровне проводится классификация понятий и объектов предметной области. Сам процесс абстрагирования информации о предметной области, требуемой для создания базы данных, называют логическим проектированием базы данных (проектирование данных).
При логическом проектировании физические характеристики ЭВМ и особенности программ отдельных пользователей не учитываются. Логическое проектирование осуществляется в рамках некоторой заранее принятой модели абстрагирования, которую называют модель данных. Точнее говоря, под ней понимают основные понятия и способы, используемые при выполнении абстрагирования.
Описание предметной области в терминах некоторой модели данных называют концептуальной схемой, или моделью. Связь между предметной областью и концептуальной моделью может быть отражена определенным образом (рис. 22.7).

Рис. 22.7. Связь между предметной областью н концептуальной моделью
Концептуальная модель характеризует логическое представление данных и является тем мостиком, посредством которого связываются возможности физического представления данных в ЭВМ и в то же время их независимого использования в различных прикладных программах.
Концептуальную модель, описанную и скорректированную с точки зрения представления данных в памяти ЭВМ, называют внутренней моделью. Поскольку база данных (БД) рассчитана на то, что каждый пользователь имеет доступ к определенным данным, концептуальная модель должна отражать еще один уровень логического представления данных для каждого конкретного пользователя. Такое представление концептуальной модели, непосредственно связанное с применением, называют внешней моделью (схемой). Так как каждый отдельный пользователь в большинстве случаев имеет отношение лишь к небольшой, вполне определенной части данных, хранимых в базе, то внешняя модель у него может быть своя. Таким образом, архитектура БД может быть упрощенно представлена, как на рис. 22.8.

Рис. 22.8. Архитектура базы данных
Можно отметить, что на концептуальном уровне осуществляется формализованное описание информационной базы в терминах конкретной СУБД. Это означает, что на концептуальном уровне одна и та же информационная база описывается средствами различных СУБД. Поэтому при проектировании базы вводится еще один уровень описания. Модель этого уровня должна выражать информацию о предметной области в виде, независимом от конкретно используемой СУБД.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |


