Домен - некоторое множество элементов. Например, D={d1, d2, ..., dn}, где di-числа; это может быть множество каких - то допустимых значений которые может принимать объект, по некоторому свойству; множество {0;1} - множество целых чисел и т.д.
Декартовое произведение доменов D1, D2, ..., Dk обозначается D=D1´D2´...´Dk.
Декартовым произведением D доменов D1, D2, ..., Dk называется множество всех кортежей (dj1, dj2, ..., djk) длины k, таких, что dj1ÎD1, dj2ÎD2, ..., djkÎDk. Элемент декартова произведения dj= (dj1, dj2, ..., djk) называется кортежем.
Например определены два домена D1={0,1} и D2={a,b,c} тогда D=D1´D2 есть множество {(0,a), (0,b), (0,c), (1,a), (1,b), (1,c)}
Отношением R на доменах D1, D2, ..., Dk называется подмножество декартова произведения D1´D2´...´Dk. (RÍ D1´D2´...´Dk.). Поскольку отношение есть множество, то в нем не должны встречаться одинаковые кортежи и порядок кортежей несущественен. Для представления отношений удобны таблицы.
Работа с реляционной БД сводится к работе с отношениями. Для получения информации из отношений необходим язык манипулирования данными, выполняющий соответствующие операции над отношениями. В основном работа с БД сводится к реализации запросов, поэтому наиболее важной частью языка манипулирования данными является раздел формирования запросов. (Часто язык манипулирования данными называют языком запросов.) Остальные функции реляционного языка манипулирования данными достаточно просты и связаны с включениями, удалением и модификацией кортежей.
Запросы в общем случае представляют собой произвольные функции над отношениями. Часто для формирования запросов используют развитые языки высокого уровня.
Вся языки запросов для реляционных моделей можно разбить на два класса:
1. Алгебраические языки, позволяющие выражать запросы средствами специализированных операторов.
2. Языки исчисления предиката, которому должны удовлетворять требуемые картежи (домены). Языки этого класса делятся на два типа в зависимости от того, какие объекты являются переменными - картежи или домены.
Таким образом, для формулирования запросов разработаны три абстрактных теоретических языка:
1) реляционная алгебра;
2) реляционное исчисление с переменными - картежами;
3) реляционное исчисление с переменными - доменами.
Эти абстрактные языки запросов в рассмотренном ниже виде не реализованы на какой - либо СУБД. Они были предложены Коддом для представления минимальных возможностей языка запросов. Реальные же языка поддерживают языки высокого уровня и обеспечивают дополнительные потребности пользователей (арифметических операции, присваивание, печать и т.д.).
По совей выразительности все три языка оказались эквивалентны между собой.
Реляционная алгебра.
При определении операций реляционной алгебры предполагается, что порядок столбцов в отношении фиксирован, а сами отношения конечны (это не противоречит теории БД, так как каждому атрибуту можно дать уникальное имя, что зафиксирует столбцы).
Основные операции реляционной алгебры:
1. Объединение отношение R1 и R2:R=R1ÈR2. Операция применяется только к отношениям одинаковой арности. Отношение R имеет ту же арность.
Пример:
R1 |
a |
b |
c |
R2 |
b |
g |
a |
d |
a |
f |
d |
a |
f |
||
c |
b |
d |
R= R1ÈR2 |
a |
b |
c |
d |
a |
f |
|
c |
b |
d |
|
b |
g |
a |
2. Разность отношений R1 и R2: R=R1-R2 . Разностью отношений называется множество кортежей, принадлежащих R!, но не принадлежащих R2. Отношения R1, R2 должны быть одинаковой арности, так же и результат R.
Пример:
R=R1-R2 |
a |
b |
c |
c |
b |
d |
3. Декартово произведение отношений R1 и R2 : R=R1´R2 . Если отношение R1 имеет арность k1, отношение R2 имеет арность k2, то декартово произведение и представляет собой множество кортежей арности (k1+k2), причем первые k1 элементов образуют кортеж из отношения R1, а последние k2 - из отношения R2:
R=R1´R2 |
a |
b |
c |
b |
g |
a |
a |
b |
c |
d |
a |
f |
|
d |
a |
f |
b |
g |
a |
|
d |
a |
f |
d |
a |
f |
|
c |
b |
d |
b |
g |
a |
|
c |
b |
d |
d |
a |
f |
4. Проекция отношения R1 на компоненты i1, i2, ..., ir: R=pi1, i2,..., ir (R1), где i1, i2, ..., ir - номера столбцов отношения R1. Существо этой операции заключается в том, что из отношения R1 выбирают указанные столбцы и компануются в указанном порядке.
Пример:
R=p3,1(R1) |
c |
d |
f |
d |
|
d |
c |
Из каждого кортежа отношения R1 выбираются значения первого и третьего столбца и компанубтся в порядку (3,1). Если у отношения столбцы поименованы, то вместо номеров следует писать имена соответствующих атрибутов. Например для схемы отношения R (A,B,C,D) операцию p3,1(R) следует записать pC,A(R).
5. Селекция отношения R1 по формуле F: R=sF(R1), где F - формула, которая состоит из операндов (номеров столбцов или их имен), логических операторов ( - не) ,операторов сравнения (<,>,=,).Также в формуле могут быть использованы скобки. Результатом операции является множество картежей, таких
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.