Базы данных: конспект лекций.

4. Кортежи. Типы кортежей.

Понятие кортежа в системах управления базами данных может быть интуитивно найдено уже из предыдущего пункта, когда мы говорили об именованном значении кортежа на различных атрибутах. Итак, кортеж (обозначается t, от англ. tuрlе – «кортеж») со схемой отношения S определяется как множество именованных значений этого кортежа на всех атрибутах, входящих в данную схему отношений S. Другими словами, атрибуты берутся из области определения кортежа, dеf(t), т. е.:

t ≡ t(S) = {t(а) | а ∈ dеf(t) ⊆ S;.

Важно, что одному имени атрибута обязательно должно соответствовать не более одного значения атрибута.

В табличной форме записи отношения кортежем будет любая строка таблицы, т. е.:

Базы данных: конспект лекций

Здесь t1(S) = {t(а1), t(а2), t(а3), t(а4)} и t2(S) = {t(а5), t(а6), t(а7), t(а8)} – кортежи.

Кортежи в СУБД различаются по типам в зависимости от своей области определения. Кортежи называются:

1) частичными, если их область определения включается или совпадает со схемой отношения, т. е. dеf(t) ⊆ S.

Это общий случай в практике баз данных;

2) полными, в том случае если их область определения полностью совпадает, равна схеме отношения, т. е. dеf(t) = S;

3) неполными, если область определения полностью включается в схему отношений, т. е. dеf(t) ⊂ S;

4) нигде не определенными, если их область определения равна пустому множеству, т. е. dеf(t) = ∅.

Поясним на примере. Пусть у нас имеется отношение, заданное следующей таблицей.

Базы данных: конспект лекций

Пусть здесь t1 = {10, 20, 30}, t2 = {10, 20, Null}, t3 = {Null, Null, Null}. Тогда легко заметить, что кортеж t1 – полный, так как его область определения dеf(t1) = { а, b, с} = S.

Кортеж t2 – неполный, dеf(t2) = { а, b} ⊂ S. И, наконец, кортеж t3 – нигде не определенный, так как его dеf(t3) = ∅.

Надо заметить, что нигде не определенный кортеж – это пустое множество, тем не менее ассоциируемое со схемой отношений. Иногда нигде не определенный кортеж обозначается: ∅(S). Как мы уже видели в приведенном примере, такой кортеж представляет собой строку таблицы, состоящую только из Null-значений.

Интересно, что сравнимыми, т. е. возможно равными, являются только кортежи с одной и той же схемой отношений. Поэтому, например, два нигде не определенных кортежа с различными схемами отношений не будут равными, как могло ожидаться. Они будут различными так же, как их схемы отношений.