- •Информационные системы, основные функции и области применения
- •Банк данных и его компоненты
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель
- •Классификация программ субд
- •Общие понятия реляционного подхода к организации бд Основные концепции и принципы
- •Индексирование
- •Отношения между таблицами
- •Управление реляционной базой данной. Реляционная алгебра. Реляционное исчисление.
- •Реляционное исчисление
- •Проектирование реляционных баз данных с использованием нормализации.
- •Первая нормальная форма таблицы
- •Вторая нормальная форма
- •Управление транзакциями
- •Транзакции и целостность бд
- •Изолированность пользователей
- •Сериализация транзакций
- •Методы сериализации транзакций
- •Синхронизационные захваты
- •Тупики распознавания и разрушения
- •Метод временных меток
- •Элементы языка sql Функции и основные возможности языка sql
- •Отличие sql от процедурных языков программирования
- •Интерактивный и встроенный sql
- •Составные части sql
- •Типы данных sql
- •Числовые типы данных:
- •Используемые термины и обозначения
- •Выборка данных с использование предложения select
- •Простейшие select-запросы
- •Преобразование вывода и встроенные функции
- •Числовые и символьные константы
- •Арифметические операции для преобразования числовых данных
- •Операция конкатенации строк
- •Агрегирование и групповые функции
- •Упорядочение выходных полей
- •Вложенные подзапросы
- •Формирование связанных подзапросов
- •Организация данных в InterBase
Отношения между таблицами
В зависимости от того как определены поля связи основной и дополнительной таблиц между ними могут устанавливаться следующие виды связей:
Один к одному. Означает, что каждая запись одной таблицы соответствует только одной записи другой таблицы.
Один ко многим, когда одной записи основной таблицы соответствует несколько записей вспомогательной таблицы.
Многие ко многим. Возникает между двумя таблицами, когда одна запись одной таблицы может быть связана с более чем одной записью из второй таблицы.
Управление реляционной базой данной. Реляционная алгебра. Реляционное исчисление.
В 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.
Для записи формулы используются операнды – имена атрибутов (номера столбцов), константы, логические операции, операции сравнения и скобки.
R where Город = ‘Киев’ and статус > 15
Проекция – отношение A на атрибуты X,Y,…,Z, где множество XYZ является подмножеством полного списка атрибутов заголовка отношения А, представляет собой отношение с заголовком XYZ и телом содержащим кортежи отношения А за исключением повторяющихся кортежей.
R1[Имя, Город]
Деление – результатом деления отношения R1 с атрибутами A и B на отношение R2 с атрибутом B, где A и B простые или составные атрибуты, причем атрибут B общий атрибут, определенный на одном и том же домене, является отношение R с заголовком A и телом, состоящим из кортежей r, таких что в отношении R1 имеются кортежи (r, S) причем множество значений S включает множество значений атрибута B отношения R2.
A |
B |
S1 |
P1 |
S1 |
P2 |
S1 |
P3 |
S1 |
P4 |
S2 |
P2 |
S3 |
P3 |
S4 |
P2 |
S4 |
P4 |
R2
-
B
P2
P4
R
-
A
S1
S4
