ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.02.2024
Просмотров: 32
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Лекция 9
ОСНОВЫ ТЕОРИИ БД
Введение
Развитие вычислительной техники и появление ёмких внешних запоминающих устройств прямого доступа предопределило интенсивное развитие автоматических и автоматизированных систем разного назначения и масштаба, в первую очередь в области бизнес-приложений. Такие системы работают с большими объёмами информации достаточно сложной структуры, требующей оперативности в обработке, частого обновления и в то же время – длительного хранения. Для хранения больших объемов информации служат БД.
База данных (англ. «database») - это набор информации, организованной тем, или иным способом. То есть это представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны. При использовании компьютеров БД – это именованные данные на машинных носителях, которые могут быть подвергнуты различным способам автоматизированной обработки.
Примерами систем, где используются БД, являются автоматизированные системы: управление предприятием (АСУП), в банковской системе, в системах резервирования и продажи билетов и т.д. Это первое направление использования баз данных (БД).
Другим направлением, стимулировавшим развитие БД, стали системы управления физическими экспериментами, обеспечивающие сверхоперативную обработку в реальном масштабе времени огромных потоков данных от датчиков.
Следующее направление использования БД – автоматизированные библиотечные информационно-поисковые системы.
Все это привело к появлению новой информационной технологии интегрированного хранения и обработки данных - концепции баз данных, в основе которой лежит механизм предоставления какой-либо работающей программе из всех хранимых данных только тех данных, которые необходимы этой программе. Более того, поскольку различные программы могут по-разному «видеть» (т.е. использовать) одни и те же данные, то система должна сделать «невидимыми» для программы все данные, кроме тех, которые для неё являются «своими».
Примеры БД:
-
база данных книжного фонда библиотеки; -
база данных кадрового состава учреждения; -
база данных законодательных актов в области уголовного права; -
база данных современной эстрадной песни.
Функционирование БД обеспечивается системой управления базой данных (СУБД).
Система управления базами данных (СУБД) - совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.
Часто системой управления базами данных называют программу, предназначенную для создания на ЭВМ общей БД для множества приложений; поддержания её в актуальном состоянии и обеспечения эффективного доступа пользователей к содержащимся в ней данным в рамках предоставленных им полномочий.
СУБД обеспечивает:
-
описание и сжатие данных; -
манипулирование данными (запись, поиск, выдачу, изменение содержания); -
физическое размещение (изменение размеров блоков данных, записей, использование занимаемого пространства, сортировку); -
защиту от сбоев, поддержку целостности и восстановление; -
безопасность данных.
Данные. Сущности. Атрибуты
Т.о., в узком смысле слова, база данных - это некоторый набор данных, необходимых для работы (актуальные данные). Однако данные - это абстракция; никто никогда не видел «просто данные»; они не возникают и не существуют сами по себе. Данные суть отражение объектов реального мира.
Пусть, например, требуется хранить сведения о деталях, поступивших на склад. Как объект реального мира - деталь - будет отображена в базе данных? Для того, чтобы ответить на этот вопрос, необходимо знать, какие признаки или стороны детали будут актуальны, необходимы для работы. Среди них могут быть:
-
название детали, -
материал, из которого она сделана, -
ее вес, размеры, -
цвет, -
дата изготовления, -
стоимость, -
и т.д.
В традиционной терминологии объекты реального мира, сведения о которых хранятся в базе данных, называются сущностями, а их актуальные признаки – атрибутами. Тогда каждое значение атрибута – это признак объекта (сущности).
Так, деталь «стартер» имеет значение атрибута «вес», равное «10», что отражает тот факт, что данный объект весит 10 килограмм.
Таким образом, в широком смысле слова
база данных - это совокупность описаний объектов реального мира в виде атрибутов и связей между ними, актуальных для конкретной прикладной области.
Было бы ошибкой считать, что в базе данных отражаются только физические объекты. Она способна вобрать в себя сведения об абстракциях, процессах, явлениях - то есть обо всем, с чем сталкивается человек в своей деятельности. Так, например, в базе данных можно хранить информацию о заказах на поставку деталей на склад (хотя заказ - не физический объект, а процесс). Атрибутами сущности «заказ» будут, например:
-
название поставляемой детали, -
количество деталей, -
название поставщика, -
срок поставки и т.д.
Классификация баз данных
Фасетная классификация БД:
Технология обработки | Способ доступа к данным | Архитектура | Модель БД |
Централизованная | Локальный | Файл-сервер | Иерархическая |
Распределенная | Удаленный | Клиент-сервер | Сетевая |
| | | Реляционная |
По технологии обработки данных БД подразделяются на централизованные и распределённые.
Централизованная БД хранится целиком в памяти одной вычислительной системы. Если система входит в состав сети, то возможен доступ к этой БД других систем (рис.1).
Распределённая БД состоит из нескольких, возможно пересекающихся или дублирующих друг друга частей: БД 1, БД 2,…, хранимых в памяти разных вычислительных систем, объединённых в сеть (рис.2).
По способу доступа к данным БД различают локальный (автономный) и удалённый (сетевой) доступ.
Локальный доступ предполагает, что СУБД обрабатывает БД, которая хранится на том же компьютере.
Удалённый доступ – это обращение к БД, которая хранится на одном из компьютеров, входящих в компьютерную сеть.
Удалённый доступ может быть выполнен по принципу файл-сервер или клиент-сервер.
Архитектура файл-сервер (толстый клиент) предполагает выделение одного из компьютеров сети (сервер) для хранения централизованной БД (рис.3) Все остальные компьютеры сети (клиенты) исполняют роль рабочих станций, которые копируют требуемую часть централизованной БД в свою память, где и происходит обработка. Однако при большой интенсивности запросов к централизованной БД увеличивается нагрузка на каналы сети, что приводит к снижению производительности ИС в целом. Клиентом в этом случае является компьютер (компьютер-клиент), на котором необходима установка всех программ для обработки данных
, что является недостатком.
Архитектура клиент-сервер (тонкий клиент) (рис.4) предполагает, что сервер, выделенный для хранения централизованной БД, дополнительно производит обработку клиентских запросов. Клиенты получают по сети уже обработанные данные.
Клиентом в этом случае является программа (программа-клиент), которой понадобились данные из БД. Она посылает запрос серверу (точнее - программе, управляющей ведением БД) на специальном универсальном языке запросов. Сервер пересылает программе данные, являющиеся результатом поиска в БД по её запросу. Этот способ удобен тем, что программа-клиент не обязана содержать все функции поддержания и ведения БД, этим занимается сервер. В результате упрощается написание программ-клиентов. Кроме того, к серверу может обращаться любое количество клиентов.
Высокой надёжностью обладает распределённая архитектура, в которой вычислительная система состоит из нескольких компонентов, распределённых по разным серверам. Специальные программы-мониторы следят за корректностью работы каждого из компонентов и, при необходимости, запускают дублирующие компоненты на других компьютерах.
Модель БД могут быть иерархической, сетевой, реляционной. Отметим, что эти модели относятся и к СУБД.
Для рассмотрения понятия «модель БД» вспомним, что «база данных - это совокупность описаний объектов реального мира в виде атрибутов и связей между ними, актуальных для конкретной прикладной области». Модель как раз отражает, установленный разработчиком БД, механизм связи сущностей и атрибутов.
Сетевые базы данных опираются на математику графов, конкретнее, сетевую модель данных можно представить в виде ориентированного графа. Направленный граф состоит из узлов и ребер. Узлы направленного графа – это ни что иное, как объекты сетевой базы данных (записи), а ребра такого графа показывают связи между объектами сетевой модели данных, причем ребра показывают не только саму связь, но и тип связи (связь один к одному или связь один ко многим). Тип связи определяется для двух типов записи: предка и потомка. Взгляните на рисунок, чтобы лучше осознать суть написанного выше:
На рис. 6 показан простой пример схемы сетевой БД. На этом рисунке показаны три типа записи:
Отдел, Служащие и Руководитель и три типа связи: Состоит из служащих, Имеет руководителя и Является служащим. В типе связи Состоит из служащих типом записи-предком является Отдел, а типом записи-потомком – Служащие. В типе связи Имеет руководителя типом записи-предком является Отдел, а типом записи-потомком – Руководитель. Наконец, в типе связи Является служащим типом записи-предком является Руководитель, а типом записи-потомком – Служащие.
Рис. 6
Иерархическая БД состоит из упорядоченного набора деревьев. Тип дерева состоит из одного «корневого» типа записи и упорядоченного набора поддеревьев. Тип дерева в целом представляет собой иерархически организованный набор типов записи.
На рис. 6 показан пример типа дерева (схемы иерархической БД). Здесь тип записи Отдел является предком для типов записи Руководитель и Служащие, а Руководитель и Служащие – потомки типа записи Отдел. Смысл полей типов записей в основном должен быть понятен по их именам. Поле Рук_Отдел типа записи Руководитель содержит номер отдела, в котором работает служащий, являющийся данным руководителем (предполагается, что он работает не обязательно в том же отделе, которым руководит). Между типами записи поддерживаются связи (правильнее сказать, типы связей, поскольку реальные связи появляются в экземплярах типа дерева).
Рис. 6
Основная идея реляционной БД, предложенной Эдгаром Коддом в 1969 г. состоит в выборе в качестве родовой логической структуры хранения данных структуру, которая, с одной стороны, была бы достаточно удобной для большинства приложений и, с другой стороны, допускала бы возможность выполнения над базой данных ненавигационных операций. Иерархические и, в особенности, сетевые структуры данных являются навигационными по своей природе. Ненавигационному использованию таблиц мешает упорядоченность их столбцов и, в особенности, строк. Кодд предложил использовать в качестве родовой структуры БД «таблицы», в которых и столбцы, и строки не являются упорядоченными.
Преимущества реляционного подхода и развитие методов и алгоритмов организации и управления реляционными базами данных привели к тому, что к концу 80-х годов реляционные системы заняли на мировом рынке СУБД доминирующее положение.