Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ShPOROChKI.doc
Скачиваний:
16
Добавлен:
26.09.2019
Размер:
339.97 Кб
Скачать

15. Реляционная алгебра.

Операции:

1)Операция объединения R1 Ụ R2 R1(A,B,C) R2(D,E,F)

Результатом объединения двух отношений R1 и R2 явл-ся новое отношение T, состоящее из множества кортежей, каждый из которых принадлежит или отношению R1 или R2, или обоим вместе.

2) Операция вычитания R1 \ R2

Результатом явл-ся новое отношение, представляющее множество кортежей, принадлежащих R1 но не принадлежащих R2.

3)Операция пересечения R1∩R2

Результатом явл-ся новое отношение, представляющее мн-во кортежей, принадлежащих R1 и R2 одновременно.

4)Декартово умножение R1*R2

r s

Пусть R1 и R2 имеют разную арность(кол-во столбцов или полей), тогда R1*R2 наз-ся мн-во всех кортежей арностью( r+s), таких что первые r атрибутов образуют кортежи, принадлежащие R1, а последние s кортежей принадлежат R2.

5)Проекция π1,3 (R1)

В исходном R1 удаляются некоторые атрибуты и (или) представляются оставшиеся в соответствии с условиями операции.

6)Выборка

δFR1- выборка из R1 по ф-ле F. Ф-ла F состоит из оперантов, кот-е м.б. константами или именами атрибутов. Операциями м-ду атрибутами м.б. оп-ции сравнения или логические.

Выборка по ф-ле F из отношения R1 предст. Собой отношение, кот-е содержит только те кортежи из R1, кот-е удовлетворяют ф-ле F.

7)Соединение Ө

Каждый кортеж R1 сопоставляется со всеми кортежами R2 и, если для пары кортежей соблюдаются условия соединения, то они сцепляются и образуют новый кортеж в результативном отношении.

8)Деление R׃ S

r s

Арность r > s , S≠0. Пусть r определено на мн-ве атрибутов A, а s- на мн-ве атрибутов B. B явл-ся подмн-вом A(B<=A). И тогда частное есть мн-во кортежей t длиной(r-s), таких что для всех кортежей u<=S кортежи tu Принадлежат отношению R.

16. Типовая организация современной СУБД. (Поддержка языков. Управление данными во внешней памяти. Управление буферами оперативной памяти. Управление транзакциями. Журнализация и восстановление после сбоев.)

Типовая организация современной СУБД.

Организация типичной СУБД и состав ее компонентов соответствуют выполняемому ею набору функций. Выделяют следующие основные функции СУБД(в названии)

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

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

Основной функцией компилятора языка БД является компиляция операторов языка БД в некоторую выполняемую программу.

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

Ф-ии СУБД:

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

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

Язык SQL позволяет определять схему реляционной базы данных и манипулировать данными. Авторизация доступа к объектам базы данных производится также на основе специального набора операторов SQL.

Управление данными во внешней памяти.

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

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

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

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

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

Журнализация и восстановление после сбоев.

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]