- •Информационные системы, основные функции и области применения
- •Банк данных и его компоненты
- •Иерархическая модель данных
- •Классификация программ субд
- •Индексирование
- •Проектирование реляционных баз данных с использованием нормализации.
- •Первая нормальная форма таблицы
- •Вторая нормальная форма
- •Ни одно из не ключевых полей не идентифицируется с помощью другого не ключевого поля
- •Изолированность пользователей
- •Сериализация транзакций
- •Методы сериализации транзакций
- •Синхронизационные захваты
- •Тупики распознаваний и разрушений
- •Метод временных меток
Индексирование
Определение ключа для таблицы обозначает автоматическую сортировку записей, контроль отсутствия повторений значений в ключевых полях записей и повышение скорости выполнения операций поиска в таблице. Для реализации этих функций в СУБД применяют индексирование. Термин индекс тесно связан с понятием ключа.
Под индексом понимают средство ускорение поиска записи в таблице, а следовательно и других операций использующих поиск ( модификация, извлечение, сортировка ). Таблицу, для которой используется индекс называют индексированной. Индекс выполняет роль оглавления таблицы, просмотр которого предшествует обращению к записям таблицы. Для ключевых полей индекс создается автоматически. В некоторых системах индексы хранятся в индексных файлах, хранимых отдельно от табличных.
Отношения между таблицами
В зависимости от того, как определены поля связей основной и дополнительной таблиц, между ними может устанавливаться следующие виды связей:
Один к одному, означает, что каждая запись одной таблицы, соответствует только одной записи другой таблицы.
Один ко многим, когда одной записи основной таблицы соответствует несколько записей вспомогательной.
Многие ко многим( М:М), возникаем между двумя таблицами, когда одна запись одной таблицы может быть связана с более чем одной записью из второй таблицы.
Управление реляционной базой данной. Реляционная алгебра. Реляционное исчисление.
В 1970 году Эдгар Кодд разработал реляционные языки обработки данных: реляционная алгебра и реляционное исчисление.
РА – это процедурный язык обработки реляционных таблиц. Т.е. в РА используется пошаговый подход к созданию пошаговых таблиц, содержащих ответы на вопросы.
РИ – это непроцедурный язык, в котором запрос создается путем определения таблицы запроса за один шаг.
РА и РИ логически эквивалентны, т.е. любой запрос сформулированный при помощи РА можно сформулировать при помощи РИ и наоборот. РА как теоретический язык запросов по сравнению с реляционным исчислением более наглядно описывает выполняемые над отношениями действия. Операции РА можно разделить на две группы:
Базовые теоретико-множественные ( объединение, разность, пересечение и произведение ).
Специальные реляционные представляет собой развитие теоретико-множественных операций в направлении к реальным задачам манипулирования данными (проекция, селекция или выборка, деление, соединение и присвоение).
Операции РА могут выполняться над одним или двумя отношениями. В первом случае операции называются унарными, во втором бинарными. При выполнении бинарной операции, участвующие в операции отношения должны быть совместимыми по структуре. Совместимость структур отношений означает совместимость имен атрибутов и типов соответствующих доменов. В частном случае совместимости является идентичность отношений для устранения конфликтов имен атрибутов исходных отношений, а так же для построения произвольных имен атрибутов результирующего отношения применяется операция переименования атрибутов.
Объединение двух совместимых отношений R1 и R2 одинаковой размерности является отношение R содержащее все элементы исходных отношений с исключением повторений.
R1
N |
Имя |
Статус |
Город |
S1 S4 |
Сергей Николай |
20 20 |
Москва Москва |
R2
N |
Имя |
Статус |
Город |
S1 S2 |
Сергей Иван |
20 10 |
Москва Киев |
Разность двух совместимых отношений R1 и R2 одинаковой размерности есть отношение, тело которого состоит из множества кортежей, принадлежащей R1 но не принадлежащих R2.
Пересечение двух совместимых отношений R1 и R2 одинаковой размерности порождает отношение R, включающее в себя кортежи, одновременно принадлежащие обоим исходным отношениям.
Произведение – результатом его будет являться реляционная таблица, сформированная двумя этапами действий:
Связывание атрибутов двух исходных таблиц
Присвоение каждой исходной строке первой таблицы каждой строки второй таблицы
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 |
Выборка (R where f) – выборка отношения R по формуле f представляет собой новое отношение с таким же заголовком и телом состоящим из таких кортежей отношения R которые удовлетворяют истинности логического выражения заданного формулой f. Для записи формулы используются операнды – имена атрибутов ( номера столбцов ), константы, логические операции, операции сравнения и скобки.
Проекция – отношение А на атрибуты X,Y,Z. ( A[x,y,z]) где x y z является подмножеством полного списка атрибутов заголовка отношения А представляет собой отношение с заголовком x y z и телом, содержащим кортежи отношения А за исключение повторяющихся кортежей
Деление – результатом деления отношения 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 |
В реляционном исчислении используется совсем другой подход, чем в реляционной алгебре. Тем не мене эти два языка логически эквивалентны. Результат при обработке таблиц реляционным исчислением достигается с помощью запроса, который формируется или задаётся целевым списком или определяющим выражением. Под целевым списком понимается список выражений реляционного исчисления, определяющий атрибуты результирующей таблицы. Определяющее выражение – это условие выражения реляционного исчисления, на основании которого отбираются значения, которые войдут в результирующую таблицу. Построение запросов на языке реляционного исчисления используют квантор существования и квантор всеобщности.
Квантор существования – означает существование хотя бы одной строки удовлетворяющей условиям.
Квантор всеобщности – это выражение, которое означает, что некоторое условие применяется ко всем строкам некоторого типа.