Смекни!
smekni.com

Методические указания для студентов специальности 2205, 0755 «Проектирование и технология эвс», «Комплексная информационная безопасность автоматизированных систем» (стр. 14 из 21)

СУБД позволяет работать с БД без знания конкретного способа размещения данных в памяти ЭВМ.

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

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

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

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

Пользователь через программу или непосредственно с терминала посылает в базу данных запрос на обработку. Этот запрос, записанный на каком-то языке манипулирования данными (ЯМД) и дополненный необходимой информацией из описания этих данных (например, информацией о структуре), приведенного в словаре данных, пересылается в систему управления БД.

Рисунок 21. Структура системы базы данных

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

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

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

6.2 Методы размещения данных

ОЗУ и внешняя память обладают различными возможностями.

Логическая запись состоит из отдельных элементов, связанных отдельными отношениями, которые имеют многоуровневую структуру.

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

Поле записи описывает атрибут объекта. Имеет наименование и значение.

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

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

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

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

Время отклика - это промежуток времени между запуском операции БД и получением результата.

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

Физическое устройство, записывающее данные на диск, называется дисководом.

Каждый дисковод содержит один пакет дисков.

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

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

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

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

Под организацией файла понимается структура файла определенная в терминах его компонентов и способа их размещения в памяти.

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

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

Метод доступа – алгоритм хранения и поиска записей в файле данных или БД.

Для методов доступа известны два критерия эффективности:

1) эффективность доступа - величина обратная среднему арифметическому числу обращений для выборки запроса конкретной записи;

2) эффективность хранения - величина обратная среднему числу байтов поля вторичной памяти, необходимого для хранения одного байта исходных данных.

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

Последовательный метод

Хранит физические записи в порядке их поступления. Каждая очередная запись размещается на свободном месте сразу же за последней записью файла. При размещении не существует никакой связи между ключом или идентификатором логической записи и ее местонахождением на носителе. Эффективность доступа очень низкая, так как для нахождения нужной записи необходимо просмотреть все записи БД. Метод используется в основном для восстановления и хранения данных. Эффективность использования памяти стремится к 100%. В процессе последовательной обработки записи обрабатываются в порядке их физического размещения на носителе. Так же как при последовательной обработке, каждая запись обязательно просматривается, но желательно все операции, которые необходимо выполнить над записями, сгруппировать так, чтобы каждая читаемая запись обрабатывалась полностью, и не требовалось ее повторного чтения из файла.

Прямой метод доступа

Самый быстрый метод доступа. Чаще всего в БД необходим поиск по ключу (первичному, возможному , внешнему). Во всех случаях известно значение ключа, но неизвестен номер записи, который соответствует этому ключу. В этом случае необходимо построить линейную функцию NZ = F(k) которая по значению ключа вычислит номер записи файла. Устанавливает взаимно-однозначное соответствие между ключом записи и ее физическим адресом. Не требует упорядочения значений ключей физических записей. Применяется как для хранения, так и для поиска. Эффективность доступа всегда равна единице, а эффективность хранения зависит от плотности ключей.

Найти взаимно-однозначное соответствие удается не всегда. Часто бывает, что значения ключа разбросаны по нескольким диапазонам и существуют недопустимые значения ключа.

В этих случаях применяют различные методы хеширования (рандомизации). Метод основан на алгоритмическом определении адресов физической записи (используются таблицы) по значениям ключей (или некоторым его характеристикам). Каждый заносимый в хэш-таблицу элемент имеет особый ключ, а само занесение осуществляется с помощью хэш-функции (Fk(k)=k(mod), где k ключ ), отображающей ключи на множество целых чисел, которые лежат внутри диапазона адресов таблицы. Функция должна обеспечивать равномерное распределение ключей по адресам таблицы. Но отображение не является взаимно-однозначным. Двум ключам может соответствовать один и тот же адрес. Если ячейка с этим адресом уже занята, то проверка адресов осуществляется до тех пор, пока не найдется свободная (при записи) или искомая (при поиске). Разным ключам, может соответствовать одно значение хэш-функции (один адрес). Подобные ситуации называются коллизиями. Значения ключей, которые имеют одно и тоже значение хэш-функции , называют синонимами. При организации доступа с использованием хэш-функции необходимо:

- выбрать хеш-функцию;

- выбрать метод разрешения коллизий.

Индексно-последовательный метод

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

Индексно-произвольный метод доступа

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