Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД (Лазицкас Екатерина Александровна).docx
Скачиваний:
30
Добавлен:
25.02.2016
Размер:
104.02 Кб
Скачать

Индексирование

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

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

Реляционные языки и обработки реляционных таблиц

В 70-е годы были предложены два языка: реляционная алгебра и реляционное исчисление.

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

В реляционной алгебре предложены следующие основные операции:

  1. Объединение;

  2. Разность;

  3. Пересечение;

  4. Произведение;

  5. Выборка (селекция);

  6. Проекция;

  7. Деление;

  8. Соединение.

Эти операции можно разделить на 2 группы: базовые теоретико-множественные(включает классические операции теории множеств) испециально реляционные(развитие базовых теоретико-множественных операций в направление к реальным задачам манипулирования данными).

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

Для устранения конфликтов имен атрибутов применяют операцию переименования атрибутов.

Объединение двух совместимых отношений RI и RII одинаковой размерности– отношениеR, содержащее все элементы исходного отношения с исключением повторений.

Вычитание совместимых отношений RI и RII одинаковой размерности– отношение, тело которого состоит из множества кортежей, принадлежащихRI, но не принадлежащих отношениюRII.

Пересечение двух совместимых отношений RI и RII одинаковой размерности– отношениеRс телом, включающим в себя кортежи одновременно принадлежащим обоим исходным отношениям.

Произведение отношения RI степени k1 и отношения RII степени k2, которые не имеют одинаковых имен атрибутов– отношениеRIстепениk1+k2, заголовок которого представляет сцепление заголовков отношенииRIиRII, а тело имеет кортежи такие, что первыеk1 элементов кортежей принадлежат множествуRI, а последниеk2 элементов - множествуRII.

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

Проекция отношения A на атрибуты x, y, …, z, где множество {x, y, …, z} является подмножеством полного списка атрибутов отношения A - отношение с заголовкомx,y, …,zи телом, содержащим кортежи отношенияA, за исключением повторяющихся кортежей. Повторение атрибутов в спискеx,y, …,zзапрещается!

Результат деления отношения RI с атрибутами A и B на отношение RII с атрибутом B, где A и B – составные или простые атрибуты, причем атрибут B – общий атрибут, определенный на одном и том же домене– отношениеRс заголовкомAи телом, состоящим из кортежейrтаких, что в отношенииRIимеются кортежиrs, причем множество значенийsвключает множество значений атрибутаBмножестваRII.

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

Целевой список– список выражений реляционного исчисления, определяющий атрибуты результирующей таблицы.

Определяющее выражение– условие выражения реляционного исчисления, на основании которого отбираются записи, которые войдут в результирующую таблицу.

Квантор существованияозначает существование хотя бы одной строки, удовлетворяющей условию.

Квантор всеобщности– выражение, которое означает, что некоторое условие применяется ко всем строкам некоторого типа.