Структуры баз данных.

Файловые структуры.

Хранение файла на запоминающем устройстве предписывает, что файл должен быть разделен на блоки, являющиеся физическими записями, совместимыми с используемым устройством хранения. Например, файлы, записанные на диски, должны делиться на блоки размером с сектор, т.е. 512байт. Управление файлами в терминах физических единиц осуществляется операционной системой. Если приложению необходимо найти часть файла, измеряемую в логических записях, оно обращается к операционной системе, чтобы та произвела нужное обращение. Операционная система считывает достаточное для выполнения запроса количество физических записей, размещая полученные данные в оперативной памяти, называемой буфером, а затем предоставляет этот буфер приложению. Аналогично, для записи информации приложение передает данные операционной системе. Операционная система хранит их в буфере до тех пор, пока не накопится полная физическая запись (или файл не будет закрыт), а затем передает эту запись на запоминающее устройство. [1, 4, 5]

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

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

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

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

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

Если база данных размещается на нескольких ЭВМ в сети, то она является распределенной. Такая база данных может содержать фрагментированные и/или дублированные данные.

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

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

В концепции клиент-сервер подразумевается, что помимо хранения централизованной базы данных центральная машина (сервер базы данных) должна обеспечивать выполнение основного объёма обработки данных. Запрос на данные, выдаваемые клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Извлечённые данные (но не файлы) транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервер является использование при работе с базой языка запросов.

Преимущества разделения базы данных на уровни:

1) возможность создания и использования абстрактных инструментов (часть действий изолирована внутри СУБД);

2) возможность управлять доступом к базе данных. Приняв, что доступ к базе данных будет производиться только через СУБД, мы определим, что именно она будет реализовывать ограничения, обусловленные различными подсхемами.

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