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