Файл: Основы теории бд.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 04.02.2024

Просмотров: 32

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лекция 9

ОСНОВЫ ТЕОРИИ БД

Введение

Развитие вычислительной техники и появление ёмких внешних запоминающих устройств прямого доступа предопределило интенсивное развитие автоматических и автоматизированных систем разного назначения и масштаба, в первую очередь в области бизнес-приложений. Такие системы работают с большими объёмами информации достаточно сложной структуры, требующей оперативности в обработке, частого обновления и в то же время – длительного хранения. Для хранения больших объемов информации служат БД.

База данных (англ. «database») - это набор информации, организованной тем, или иным способом. То есть это представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны. При использовании компьютеров БД – это именованные данные на машинных носителях, которые могут быть подвергнуты различным способам автоматизированной обработки.

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

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

Следующее направление использования БД – автоматизированные библиотечные информационно-поисковые системы.

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

Примеры БД:

  • база данных книжного фонда библиотеки;

  • база данных кадрового состава учреждения;

  • база данных законодательных актов в области уголовного права;

  • база данных современной эстрадной песни.


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

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

Часто системой управления базами данных называют программу, предназначенную для создания на ЭВМ общей БД для множества приложений; поддержания её в актуальном состоянии и обеспечения эффективного доступа пользователей к содержащимся в ней данным в рамках предоставленных им полномочий.

СУБД обеспечивает:

  • описание и сжатие данных;

  • манипулирование данными (запись, поиск, выдачу, изменение содержания);

  • физическое размещение (изменение размеров блоков данных, записей, использование занимаемого пространства, сортировку);

  • защиту от сбоев, поддержку целостности и восстановление;

  • безопасность данных.

Данные. Сущности. Атрибуты

Т.о., в узком смысле слова, база данных - это некоторый набор данных, необходимых для работы (актуальные данные). Однако данные - это абстракция; никто никогда не видел «просто данные»; они не возникают и не существуют сами по себе. Данные суть отражение объектов реального мира.

Пусть, например, требуется хранить сведения о деталях, поступивших на склад. Как объект реального мира - деталь - будет отображена в базе данных? Для того, чтобы ответить на этот вопрос, необходимо знать, какие признаки или стороны детали будут актуальны, необходимы для работы. Среди них могут быть:

  • название детали,

  • материал, из которого она сделана,

  • ее вес, размеры,

  • цвет,

  • дата изготовления,

  • стоимость,

  • и т.д.

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

Так, деталь «стартер» имеет значение атрибута «вес», равное «10», что отражает тот факт, что данный объект весит 10 килограмм.

Таким образом, в широком смысле слова

база данных - это совокупность описаний объектов реального мира в виде атрибутов и связей между ними, актуальных для конкретной прикладной области.

Было бы ошибкой считать, что в базе данных отражаются только физические объекты. Она способна вобрать в себя сведения об абстракциях, процессах, явлениях - то есть обо всем, с чем сталкивается человек в своей деятельности. Так, например, в базе данных можно хранить информацию о заказах на поставку деталей на склад (хотя заказ - не физический объект, а процесс). Атрибутами сущности «заказ» будут, например:



  • название поставляемой детали,

  • количество деталей,

  • название поставщика,

  • срок поставки и т.д.

Классификация баз данных

Фасетная классификация БД:

Технология обработки

Способ доступа к данным

Архитектура

Модель БД

Централизованная

Локальный

Файл-сервер

Иерархическая

Распределенная

Удаленный

Клиент-сервер

Сетевая










Реляционная


По технологии обработки данных БД подразделяются на централизованные и распределённые.

Централизованная БД хранится целиком в памяти одной вычислительной системы. Если система входит в состав сети, то возможен доступ к этой БД других систем (рис.1).




Распределённая БД состоит из нескольких, возможно пересекающихся или дублирующих друг друга частей: БД 1, БД 2,…, хранимых в памяти разных вычислительных систем, объединённых в сеть (рис.2).


По способу доступа к данным БД различают локальный (автономный) и удалённый (сетевой) доступ.

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

Удалённый доступ – это обращение к БД, которая хранится на одном из компьютеров, входящих в компьютерную сеть.

Удалённый доступ может быть выполнен по принципу файл-сервер или клиент-сервер.

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



Архитектура клиент-сервер (тонкий клиент) (рис.4) предполагает, что сервер, выделенный для хранения централизованной БД, дополнительно производит обработку клиентских запросов. Клиенты получают по сети уже обработанные данные.

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

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



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

Для рассмотрения понятия «модель БД» вспомним, что «база данных - это совокупность описаний объектов реального мира в виде атрибутов и связей между ними, актуальных для конкретной прикладной области». Модель как раз отражает, установленный разработчиком БД, механизм связи сущностей и атрибутов.

Сетевые базы данных опираются на математику графов, конкретнее, сетевую модель данных можно представить в виде ориентированного графа. Направленный граф состоит из узлов и ребер. Узлы направленного графа – это ни что иное, как объекты сетевой базы данных (записи), а ребра такого графа показывают связи между объектами сетевой модели данных, причем ребра показывают не только саму связь, но и тип связи (связь один к одному или связь один ко многим). Тип связи определяется для двух типов записи: предка и потомка. Взгляните на рисунок, чтобы лучше осознать суть написанного выше:



На рис. 6 показан простой пример схемы сетевой БД. На этом рисунке показаны три типа записи:
Отдел, Служащие и Руководитель и три типа связи: Состоит из служащих, Имеет руководителя и Является служащим. В типе связи Состоит из служащих типом записи-предком является Отдел, а типом записи-потомком – Служащие. В типе связи Имеет руководителя типом записи-предком является Отдел, а типом записи-потомком – Руководитель. Наконец, в типе связи Является служащим типом записи-предком является Руководитель, а типом записи-потомком – Служащие.


Рис. 6
Иерархическая БД состоит из упорядоченного набора деревьев. Тип дерева состоит из одного «корневого» типа записи и упорядоченного набора поддеревьев. Тип дерева в целом представляет собой иерархически организованный набор типов записи.

На рис. 6 показан пример типа дерева (схемы иерархической БД). Здесь тип записи Отдел является предком для типов записи Руководитель и Служащие, а Руководитель и Служащие – потомки типа записи Отдел. Смысл полей типов записей в основном должен быть понятен по их именам. Поле Рук_Отдел типа записи Руководитель содержит номер отдела, в котором работает служащий, являющийся данным руководителем (предполагается, что он работает не обязательно в том же отделе, которым руководит). Между типами записи поддерживаются связи (правильнее сказать, типы связей, поскольку реальные связи появляются в экземплярах типа дерева).


Рис. 6

Основная идея реляционной БД, предложенной Эдгаром Коддом в 1969 г. состоит в выборе в качестве родовой логической структуры хранения данных структуру, которая, с одной стороны, была бы достаточно удобной для большинства приложений и, с другой стороны, допускала бы возможность выполнения над базой данных ненавигационных операций. Иерархические и, в особенности, сетевые структуры данных являются навигационными по своей природе. Ненавигационному использованию таблиц мешает упорядоченность их столбцов и, в особенности, строк. Кодд предложил использовать в качестве родовой структуры БД «таблицы», в которых и столбцы, и строки не являются упорядоченными.

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