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

В теории и практике СУБД понятия схемы отношения и именованного значения кортежа на атрибуте являются базовыми. Приведем их.

Схема отношения (обозначается S) определяется как конечное множество атрибутов с уникальными именами, т. е.:

S = {a | a ∈ S};

В каждой таблице, представляющей отношение, все заголовки столбцов (все атрибуты) объединяются в схему этого отношения.

Количество атрибутов в схеме отношений определяет степень этого отношения и обозначается как мощность множества: |S|.

Схема отношений может ассоциироваться с именем схемы отношений.

В табличной форме представления отношений, как нетрудно заметить, схема отношения – это не что иное, как строка заголовков столбцов.

S = {a1, a2, a3, a4} – схема отношений этой таблицы.

Имя отношения изображается как схематический заголовок таблицы.

В текстовой же форме представления схема отношений может быть представлена как именованный список имен атрибутов, например:

Студенты (№ зачетной книжки, Фамилия, Имя, Отчество, Дата рождения).

Здесь, как и в табличной форме представления, домены атрибутов не указываются, но подразумеваются.

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

Именованное значение кортежа на атрибуте (обозначается t(a))определяется по аналогии с атрибутом как упорядоченная пара, состоящая из имени атрибута и значения атрибута, т. е.:

t(a) = (name(a) : x), x ∈ dom(a);

Видим, что значение атрибута берется из домена атрибута.

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

Здесь t(a1), t(a2), t(a3) – именованные значения кортежа t на атрибутах а1, а2, а3.

Простейшие примеры именованных значений кортежей на атрибутах:

(Курс: 5), (Балл: 5);

Здесь соответственно Курс и Балл – имена двух атрибутов, а 5 – это одно из их значений, взятое из их доменов. Разумеется, хоть эти значения в обоих случаях равны друг другу, семантически они различны, так как множества этих значений в обоих случаях отличаются друг от друга.

<p>4. Кортежи. Типы кортежей</p>

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

tt(S) = {t(a) | adef(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-значений.

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

<p>5. Отношения. Типы отношений</p>
Перейти на страницу:

Все книги серии Экзамен в кармане

Антикризисное управление: конспект лекций
Антикризисное управление: конспект лекций

Конспект лекций соответствует требованиям Государственного образовательного стандарта высшего профессионального образования.Доступность и краткость изложения позволяют быстро и легко получить основные знания по предмету, подготовиться и успешно сдать зачет и экзамен.Рассматриваются понятия экономических признаков на макро– и микроуровнях, принципы в тенденциях макро– и микроэкономики, признаки и порядок установления банкротства предприятий, стратегия и тактика антикризисного управления, ключевые факторы антикризисного управления, особое внимание уделено управлению персоналом кризисного предприятия.Для студентов экономических вузов и колледжей, а также тех, кто самостоятельно изучает данный предмет.

Елена Алексеевна Бабушкина , Елена Бабушкина , Людмила Верещагина , Людмила Сергеевна Верещагина , Олеся Бирюкова , Олеся Юрьевна Бирюкова

Маркетинг, PR / Управление, подбор персонала / Финансы и бизнес

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных