Опубликован: 02.08.2007 | Уровень: специалист | Доступ: свободно
Лекция 4:

Реляционная модель данных

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >

Выбор из отношения

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

Q_c =\sigma_F (Q_a),

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

Пример. Селекция отношения. Произведем выбор из 
отношения СЛУЖАЩИЕ по критерию "Возраст >= 30".

Исходное отношение:

СЛУЖАЩИЕ (#, Фамилия, Возраст)
1 Иванов 20
2 Исаев 30
3 Петров 23
4 Фролов 49
5 Антонова 25

Критерий выбора: Возраст >= 30

Результирующее отношение:

СЛУЖАЩИЕ (#, Фамилия, Возраст)

2 Исаев 30
4 Фролов 49

Соединение отношений

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

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

Q_c = Q_a >< Q_b = \sigma_{i \theta(n+j)} (Q_a X Q_b),

где n - степень отношения Q_a ; \theta - арифметический оператор сравнения; i, j - номера атрибутов в Q_a и Q_b соответственно, по которым выполняется соединение.

Рассмотрим частные случаи \theta -соединения.

Если \theta есть арифметический оператор равенства, то такое соединение называется эквисоединением. При этом имена атрибутов исходных отношений могут не совпадать.

Различают еще естественное соединение, когда оба отношения имеют набор одинаковых по именам и типам атрибутов. Соединение выполняется по всему набору совпадающих атрибутов. Пусть R1 (A1, A2,..., An, B1, ...) и R2 (A1, A2, ..., An, C1, ...) - исходные отношения, тогда естественное соединение может быть вычислено следующим образом для одного атрибута:

  • вычислим R_1 \times R_2 ;
  • для каждого атрибута А, который именует некоторую колонку в R1 и какую-либо колонку в R2, выберем те кортежи из R_1 \times R_2, у которых совпадают значения в колонках R1.А и R2, где R1 - имя колонки в R_1 \times R_2, соответствующее колонке А из R1. Аналогично для R2.;
  • для каждого указанного выше атрибута А удалим из кортежа R2. Формально, если A1, A2, ..., An являются именами атрибутов, используемых и в R1, и в R2, то естественное соединение Qc = R1 >< R2 есть Q_c=\Pi_{i_{1},i_{2},\dots,i_{m}} (\sigma_{R_{1}\dotA_{1}=R_{2}\dotA_{1} and \ldots R_{1}\dotA_{n}=R_{2}\dotA_{n}}(Q_a \times Q_b))
Пример. Соединение отношений. Выполним операцию естественного 
соединения отношений ЭКЗАМЕН_ВЕДОМОСТЬ и ГРУППА по атрибуту "Группа".

Исходные отношения:

ЭКЗАМЕН_ВЕДОМОСТЬ (Студент, Дисциплина, Оценка, Группа)
Иванов Математика 5 12
Петров Математика 3 10
Исаев Математика 4 11
Антонова Математика 3 12

ГРУППА (Курс, Группа, Наименование)

5 10 АСУ
5 11 Прикладная математика

Результирующее отношение:

РЕЗУЛЬТАТ (Студент, Дисциплина, Оценка, Группа, Курс, Наименование)

Петров Математика 3 10 5 АСУ
Исаев Математика 4 11 5 Прикладная математика

Таким образом, в этом разделе мы ввели понятие отношения как подмножества декартового произведения доменов, определили ряд алгебраических операций на отношениях. Зачем это нужно? Эти понятия являются фундаментальными в реляционной теории баз данных. Данные в реляционной модели представляются в виде набора множеств и сохраняются в реляционных базах данных как множества строк таблиц. Запросы к этим данным в СУБД формулируются в терминах операций над множествами. Реляционные операции, применяемые в реляционной модели данных, выполняются на множествах кортежей, результатами их выполнения также являются множества кортежей. Проектировщик реляционной базы данных должен помнить, что он имеет дело с множествами, представленными в виде таблиц в базе данных.

Литература: [1], [2], [3], [4], [5], [6], [11], [14], [15], [16], [20], [37], [39], [42], [43], [44], [45], [47].

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >
Александра Каева
Александра Каева
Михаил Забелкин
Михаил Забелкин
Асан Султанов
Асан Султанов
Казахстан, Алматы, Международный Университет IT, 2013