Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Неизвестно 1.docx
Скачиваний:
2
Добавлен:
25.08.2019
Размер:
45.64 Кб
Скачать

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

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

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

Отношения между таблицами

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

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

  2. Один ко многим, когда одной записи основной таблицы соответствует несколько записей вспомогательной.

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

Управление реляционной базой данной. Реляционная алгебра. Реляционное исчисление.

В 1970 году Эдгар Кодд разработал реляционные языки обработки данных: реляционная алгебра и реляционное исчисление.

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

РИ – это непроцедурный язык, в котором запрос создается путем определения таблицы запроса за один шаг.

РА и РИ логически эквивалентны, т.е. любой запрос сформулированный при помощи РА можно сформулировать при помощи РИ и наоборот. РА как теоретический язык запросов по сравнению с реляционным исчислением более наглядно описывает выполняемые над отношениями действия. Операции РА можно разделить на две группы:

  1. Базовые теоретико-множественные ( объединение, разность, пересечение и произведение ).

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

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

  1. Объединение двух совместимых отношений R1 и R2 одинаковой размерности является отношение R содержащее все элементы исходных отношений с исключением повторений.

R1

N

Имя

Статус

Город

S1

S4

Сергей

Николай

20

20

Москва

Москва

R2

N

Имя

Статус

Город

S1

S2

Сергей

Иван

20

10

Москва

Киев

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

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

  3. Произведение – результатом его будет являться реляционная таблица, сформированная двумя этапами действий:

  1. Связывание атрибутов двух исходных таблиц

  2. Присвоение каждой исходной строке первой таблицы каждой строки второй таблицы

R1

А

B

1

2

3

4

R2

C

D

E

7

8

3

4

8

2

9

7

6

A

B

C

D

E

1

2

7

8

3

1

2

4

8

2

1

2

9

7

6

3

4

7

8

3

3

4

4

8

2

3

4

9

7

6

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

  2. Проекция – отношение А на атрибуты X,Y,Z. ( A[x,y,z]) где x y z является подмножеством полного списка атрибутов заголовка отношения А представляет собой отношение с заголовком x y z и телом, содержащим кортежи отношения А за исключение повторяющихся кортежей

  3. Деление – результатом деления отношения R1 с атрибутами А и B на отношение R2 с атрибутом V, где A и B – простые или составные атрибуты, при чем атрибут V – общий атрибут, определенный на одном и том же домене, является отношение R с заголовком А и телом состоящим из кортежей r таких что в отношении R1 имеются кортежи ( r, S) включают множества значений атрибута V отношения R2

R1 R2 R

A

S1

S4



A

B

S1

P1

S1

P2

S1

P3

S1

P4

S2

P2

S3

P3

S4

P2

S4

P4

S4

P5

B

P2

P4



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

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

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