Понятие кортежа в системах управления базами данных
может быть интуитивно найдено уже из предыдущего пункта, когда мы
говорили об именованном значении кортежа на различных атрибутах. Итак, кортеж (обозначается t,
от англ. tuple – «кортеж») со схемой отношения S определяется как
множество именованных значений этого кортежа на всех атрибутах, входящих
в данную схему отношений S. Другими словами, атрибуты берутся из области определения кортежа, def(t), т. е.:
t ≡ t(S) = {t(a) | a ∈ def(t) ⊆ S;.
Важно, что одному имени атрибута обязательно должно соответствовать не более одного значения атрибута.
В табличной форме записи отношения кортежем будет любая строка таблицы, т. е.: Здесь t1(S) = {t(a1), t(a2), t(a3), t(a4)} и t2(S) = {t(a5), t(a6), t(a7), t(a8)} – кортежи.
Кортежи в СУБД различаются по типам в зависимости от своей области определения. Кортежи называются:
1) частичными, если их область определения включается или совпадает со схемой отношения, т. е. def(t) ⊆ S.
Это общий случай в практике баз данных;
2) полными, в том случае если их область определения полностью совпадает, равна схеме отношения, т. е. def(t) = S;
3) неполными, если область определения полностью включается в схему отношений, т. е. def(t) ⊂ S;
4) нигде не определенными, если их область определения равна пустому множеству, т. е. def(t) = ∅.
Поясним на примере. Пусть у нас имеется отношение, заданное следующей таблицей. Пусть здесь t1 = {10, 20, 30}, t2 = {10, 20, Null}, t3 = {Null, Null, Null}. Тогда легко заметить, что кортеж t1 – полный, так как его область определения def(t1) = { a, b, c} = S.
Кортеж t2 – неполный, def(t2) = { a, b} ⊂ S. И, наконец, кортеж t3 – нигде не определенный, так как его def(t3) = ∅.
Надо заметить, что нигде не определенный кортеж – это
пустое множество, тем не менее ассоциируемое со схемой отношений. Иногда
нигде не определенный кортеж обозначается: ∅(S). Как мы уже видели в
приведенном примере, такой кортеж представляет собой строку таблицы,
состоящую только из Null-значений.
Интересно, что сравнимыми, т. е. возможно
равными, являются только кортежи с одной и той же схемой отношений.
Поэтому, например, два нигде не определенных кортежа с различными
схемами отношений не будут равными, как могло ожидаться. Они будут
различными так же, как их схемы отношений.
|