logo search
Информация и информационные процессы

15. Субд – системы управления базами данных. Виды структур данных: иерархические, сетевые, реляционные. Посторенние таблиц данных в субд.

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

База данных (БД) — совокупность сведений, хранимых в запоминающих устройствах ЭВМ, выступающая в качестве исходных данных при решении различных задач.

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

Программы, управляющие работой баз данных, называются системами управления базами данных (СУБД).

СУБД используют несколько моделей данных: иерархическую и сетевую (с 60-х годов) и реляционную (с 70-х). Основное различие данных моделей в представлении взаимосвязей между объектами.

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

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

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

Основные функции СУБД

Непосредственное управление данными во внешней памяти

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

Управление буферами оперативной памяти

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

Управление транзакциями

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

Журнализация

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

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

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

Поддержка языков БД

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