Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Множества, отношения, таблица фактов в реляционных базах данных

Лекция



Привет, сегодня поговорим про множества отношения таблица фактов в реляционных базах данных, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое множества отношения таблица фактов в реляционных базах данных , настоятельно рекомендую прочитать все из категории Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL.

 Элементы теории множеств

Множества

Наиболее простая структура данных, используемая в математике, имеет место в случае, когда между отдельными изолированными данными отсутствуют какие-либо взаимосвязи. Совокупность таких данных представляет собоймножество. Понятие множества является неопределяемым понятием. Множество не обладает внутренней структурой. Множество можно представить себе как совокупность элементов, обладающих некоторым общим свойством. Для того чтобы некоторую совокупность элементов можно было назвать множеством, необходимо, чтобы выполнялись следующие условия:

  1. Должно существовать правило, позволяющее определить, принадлежит ли указанный элемент данной совокупности.
  2. Должно существовать правило, позволяющее отличать элементы друг от друга. (Это, в частности, означает, что множество не может содержать двух одинаковых элементов).

Множества обычно обозначаются заглавными латинскими буквами. Если элемент Множества, отношения, таблица фактов в реляционных базах данных принадлежит множеству Множества, отношения, таблица фактов в реляционных базах данных, то это обозначается:

Множества, отношения, таблица фактов в реляционных базах данных

Если каждый элемент множества Множества, отношения, таблица фактов в реляционных базах данных является также и элементом множества Множества, отношения, таблица фактов в реляционных базах данных, то говорят, что множество Множества, отношения, таблица фактов в реляционных базах данных являетсяподмножеством множества Множества, отношения, таблица фактов в реляционных базах данных:

Множества, отношения, таблица фактов в реляционных базах данных

Подмножество Множества, отношения, таблица фактов в реляционных базах данных множества Множества, отношения, таблица фактов в реляционных базах данных называется собственным подмножеством, если

Множества, отношения, таблица фактов в реляционных базах данных

Используя понятие множества можно построить более сложные и содержательные объекты.

Операции над множествами

Основными операциями над множествами являются объединениепересечение и разность.

Определение 1Объединением двух множеств называется новое множество

Множества, отношения, таблица фактов в реляционных базах данных

Определение 2Пересечением двух множеств называется новое множество

Множества, отношения, таблица фактов в реляционных базах данных

Определение 3Разностью двух множеств называется новое множество

Множества, отношения, таблица фактов в реляционных базах данных

Если класс объектов, на которых определяются различные множества обозначить Множества, отношения, таблица фактов в реляционных базах данных (Универсум), то дополнениеммножества Множества, отношения, таблица фактов в реляционных базах данных называют разность

Множества, отношения, таблица фактов в реляционных базах данных

Декартово произведение множеств

Одним из способов конструирования новых объектов из уже имеющихся множеств является декартово произведение множеств.

Пусть Множества, отношения, таблица фактов в реляционных базах данных и Множества, отношения, таблица фактов в реляционных базах данных - множества. Выражение вида Множества, отношения, таблица фактов в реляционных базах данных, где Множества, отношения, таблица фактов в реляционных базах данных и Множества, отношения, таблица фактов в реляционных базах данных, называется упорядоченной парой. Равенство вида Множества, отношения, таблица фактов в реляционных базах данных означает, что Множества, отношения, таблица фактов в реляционных базах данных и Множества, отношения, таблица фактов в реляционных базах данных. В общем случае, можно рассматривать упорядоченную n-ку Множества, отношения, таблица фактов в реляционных базах данных из элементов Множества, отношения, таблица фактов в реляционных базах данных. Упорядоченные n-ки иначе называют наборы или кортежи.

Определение 4Декартовым (прямым) произведением множеств Множества, отношения, таблица фактов в реляционных базах данных называется множество упорядоченных n-ок (наборов, кортежей) вида

Множества, отношения, таблица фактов в реляционных базах данных

Определение 5Степенью декартового произведения Множества, отношения, таблица фактов в реляционных базах данных называется число множеств n, входящих в это декартово произведение.

Замечание. Если все множества Множества, отношения, таблица фактов в реляционных базах данных одинаковы, то используют обозначение

Множества, отношения, таблица фактов в реляционных базах данных.

Отношение

Определение 6. Подмножество Множества, отношения, таблица фактов в реляционных базах данных декартового произведения множеств Множества, отношения, таблица фактов в реляционных базах данных называется отношением степени n(n-арным отношением).

Определение 7. Мощность множества кортежей, входящих в отношение Множества, отношения, таблица фактов в реляционных базах данных, называют мощностью отношения Множества, отношения, таблица фактов в реляционных базах данных.

Замечание. Понятие отношения является очень важным не только с математической точки зрения. Понятие отношения фактически лежит в основе всей реляционной теории баз данных. Как будет показано ниже, отношения являются математическим аналогом таблиц. Сам термин "реляционное представление данных", впервые введенный Коддом [43], происходит от термина relation, понимаемом именно в смысле этого определения.

Т.к. любое множество можно рассматривать как декартовое произведение степени 1, то любое подмножество, как и любое множество, можно считать отношением степени 1. Это не очень интересный пример, свидетельствующий лишь о том, что термины "отношение степени 1" и "подмножество" являются синонимами. Нетривиальность понятия отношения проявляется, когда степень отношения больше 1. Ключевыми здесь являются два момента:

Во-первых, все элементы отношения есть однотипные кортежи. Однотипность кортежей позволяет считать их аналогами строк в простой таблице, т.е. в такой таблице, в которой все строки состоят из одинакового числа ячеек и в соответствующих ячейках содержатся одинаковые типы данных. Например, отношение, состоящее из трех следующих кортежей {(1, "Иванов", 1000), (2, "Петров", 2000), (3, "Сидоров", 3000)} можно считать таблицей, содержащей данные о сотрудниках и их зарплатах. Такая таблица будет иметь три строки и три колонки, причем в каждой колонке содержатся данные одного типа.

В противоположность этому рассмотрим множество {(1), (1, 2), (1, 2, 3)}, состоящее из разнотипных числовых кортежей. Это множество не является отношением ни в Множества, отношения, таблица фактов в реляционных базах данных, ни в Множества, отношения, таблица фактов в реляционных базах данных, ни в Множества, отношения, таблица фактов в реляционных базах данных. Из кортежей, входящих в это множество нельзя составить простую таблицу. Правда, можно считать это множество отношением степени 1 на множестве всех возможных числовых кортежей всех возможных степеней Множества, отношения, таблица фактов в реляционных базах данных, но такая трактовка ничего нового, по сравнению с понятием подмножества, не дает.

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

Действительно, каждому отношению можно поставить в соответствие некоторое логическое выражение Множества, отношения, таблица фактов в реляционных базах данных, зависящее от n параметров (n-местный предикат) и определяющее, будет ли кортеж Множества, отношения, таблица фактов в реляционных базах данных принадлежать отношению Множества, отношения, таблица фактов в реляционных базах данных. Это логическое выражение называют предикатом отношения Множества, отношения, таблица фактов в реляционных базах данных. Более точно, кортеж Множества, отношения, таблица фактов в реляционных базах данныхпринадлежит отношению Множества, отношения, таблица фактов в реляционных базах данных тогда и только тогда, когда предикат этого отношения Множества, отношения, таблица фактов в реляционных базах данных принимает значение "истина". В свою очередь, каждый n-местный предикат задает некоторое n-арное отношение. Таким образом, существует взаимно однозначное соответствие между n-арными отношениями и n-местными предикатами.

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

Примеры отношений

Бинарные отношения (отношения степени 2)

В математике большую роль играют бинарные отношения, т.е. отношения, заданные на декартовом произведении двух множеств Множества, отношения, таблица фактов в реляционных базах данных.

Отношение эквивалентности

Определение 8. Отношение Множества, отношения, таблица фактов в реляционных базах данных на множестве Множества, отношения, таблица фактов в реляционных базах данных называется отношением эквивалентности, если оно обладает следующими свойствами:

  1. Множества, отношения, таблица фактов в реляционных базах данных для всех Множества, отношения, таблица фактов в реляционных базах данных (рефлексивность)
  2. Если Множества, отношения, таблица фактов в реляционных базах данных, то Множества, отношения, таблица фактов в реляционных базах данных (симметричность)
  3. Если Множества, отношения, таблица фактов в реляционных базах данных и Множества, отношения, таблица фактов в реляционных базах данных, то Множества, отношения, таблица фактов в реляционных базах данных (транзитивность)

Обычно отношение эквивалентности обозначают знаком Множества, отношения, таблица фактов в реляционных базах данных или Множества, отношения, таблица фактов в реляционных базах данных и говорят, что оно (отношение) задано на множестве Множества, отношения, таблица фактов в реляционных базах данных (а не на Множества, отношения, таблица фактов в реляционных базах данных). Об этом говорит сайт https://intellect.icu . Условия 1-3 в таких обозначениях выглядят более естественно:

  1. Множества, отношения, таблица фактов в реляционных базах данных для всех Множества, отношения, таблица фактов в реляционных базах данных (рефлексивность)
  2. Если Множества, отношения, таблица фактов в реляционных базах данных, то Множества, отношения, таблица фактов в реляционных базах данных (симметричность)
  3. Если Множества, отношения, таблица фактов в реляционных базах данных и Множества, отношения, таблица фактов в реляционных базах данных, то Множества, отношения, таблица фактов в реляционных базах данных (транзитивность)

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

Пример 1. Рассмотрим на множестве вещественных чисел Множества, отношения, таблица фактов в реляционных базах данных отношение, заданное просто равенством чисел. Предикат такого отношения:

Множества, отношения, таблица фактов в реляционных базах данных, или просто Множества, отношения, таблица фактов в реляционных базах данных

Условия 1-3, очевидно, выполняются, поэтому данное отношение является отношением эквивалентности. Каждый класс эквивалентности этого отношения состоит из одного числа.

Пример 2. Рассмотрим более сложное отношение эквивалентности. На множестве целых чисел Множества, отношения, таблица фактов в реляционных базах данных зададим отношение "равенство по модулю n" следующим образом: два числа Множества, отношения, таблица фактов в реляционных базах данных и Множества, отношения, таблица фактов в реляционных базах данных равны по модулю n, если их остатки при делении на n равны. Например, по модулю 5 равны числа 2, 7, 12 и т.д.

Условия 1-3 легко проверяются, поэтому равенство по модулю является отношением эквивалентности. Предикат этого отношения имеет вид:

Множества, отношения, таблица фактов в реляционных базах данных

Классы эквивалентности этого отношения состоят из чисел, дающих при делении на n одинаковые остатки. Таких классов ровно n:

[0] = {0, n, 2n, …}
[1] = {1, n+1, 2n+1, …}
…
[n-1] = {n-1, n+n-1, 2n+n-1, …}

Отношения порядка

Определение 9. Отношение Множества, отношения, таблица фактов в реляционных базах данных на множестве Множества, отношения, таблица фактов в реляционных базах данных называется отношением порядка, если оно обладает следующими свойствами:

  1. Множества, отношения, таблица фактов в реляционных базах данных для всех Множества, отношения, таблица фактов в реляционных базах данных (рефлексивность)
  2. Если Множества, отношения, таблица фактов в реляционных базах данных и Множества, отношения, таблица фактов в реляционных базах данных, то Множества, отношения, таблица фактов в реляционных базах данных (антисимметричность)
  3. Если Множества, отношения, таблица фактов в реляционных базах данных и Множества, отношения, таблица фактов в реляционных базах данных, то Множества, отношения, таблица фактов в реляционных базах данных (транзитивность)

Обычно отношение порядка обозначают знаком Множества, отношения, таблица фактов в реляционных базах данных. Если для двух элементов Множества, отношения, таблица фактов в реляционных базах данных и Множества, отношения, таблица фактов в реляционных базах данных выполняется Множества, отношения, таблица фактов в реляционных базах данных, то говорят, что Множества, отношения, таблица фактов в реляционных базах данных"предшествует" Множества, отношения, таблица фактов в реляционных базах данных. Как и для отношения эквивалентности, условия 1-3 в таких обозначениях выглядят более естественно:

  1. Множества, отношения, таблица фактов в реляционных базах данных для всех Множества, отношения, таблица фактов в реляционных базах данных (рефлексивность)
  2. Если Множества, отношения, таблица фактов в реляционных базах данных и Множества, отношения, таблица фактов в реляционных базах данных, то Множества, отношения, таблица фактов в реляционных базах данных (антисимметричность)
  3. Если Множества, отношения, таблица фактов в реляционных базах данных и Множества, отношения, таблица фактов в реляционных базах данных, то Множества, отношения, таблица фактов в реляционных базах данных (транзитивность)

Пример 3. Простым примером отношения порядка является отношение, задаваемое обычным неравенством Множества, отношения, таблица фактов в реляционных базах данных на множестве вещественных чисел Множества, отношения, таблица фактов в реляционных базах данных. Заметим, что для любых чисел Множества, отношения, таблица фактов в реляционных базах данных и Множества, отношения, таблица фактов в реляционных базах данных выполняется либо Множества, отношения, таблица фактов в реляционных базах данных, либо Множества, отношения, таблица фактов в реляционных базах данных, т.е. любыедва числа сравнимы между собой. Такие отношения называются отношениями полного порядка.

Предикат данного отношения есть просто утверждение Множества, отношения, таблица фактов в реляционных базах данных.

Пример 4. Рассмотрим на множестве Множества, отношения, таблица фактов в реляционных базах данных всех сотрудников некоторого предприятия отношение, задаваемое следующим образом: сотрудник Множества, отношения, таблица фактов в реляционных базах данных предшествует сотруднику Множества, отношения, таблица фактов в реляционных базах данных тогда и только тогда, когда выполняется одно из условий:

  • Множества, отношения, таблица фактов в реляционных базах данных
  • Множества, отношения, таблица фактов в реляционных базах данных является начальником (не обязательно непосредственным) Множества, отношения, таблица фактов в реляционных базах данных

Назовем такое отношение "быть начальником". Легко проверить, что отношение "быть начальником" является отношением порядка. Заметим, что в отличие от предыдущего примера, существуют такие пары сотрудников Множества, отношения, таблица фактов в реляционных базах данных и Множества, отношения, таблица фактов в реляционных базах данных, для которых не выполняется ни Множества, отношения, таблица фактов в реляционных базах данных, ни Множества, отношения, таблица фактов в реляционных базах данных (например, если Множества, отношения, таблица фактов в реляционных базах данных и Множества, отношения, таблица фактов в реляционных базах данных являются сослуживцами). Такие отношения, в которых есть несравнимые между собой элементы, называют отношениями частичного порядка.

Функциональное отношение

Определение 10. Отношение Множества, отношения, таблица фактов в реляционных базах данных на декартовом произведении двух множеств Множества, отношения, таблица фактов в реляционных базах данных называется функциональным отношением, если оно обладает следующим свойством:

  1. Если Множества, отношения, таблица фактов в реляционных базах данных и Множества, отношения, таблица фактов в реляционных базах данных, то Множества, отношения, таблица фактов в реляционных базах данных (однозначность функции).

Обычно, функциональное отношение обозначают в виде функциональной зависимости Множества, отношения, таблица фактов в реляционных базах данных тогда и только тогда, когда Множества, отношения, таблица фактов в реляционных базах данных. Функциональные отношения (подмножества декартового произведения!) называют иначе графиком функции или графиком функциональной зависимости.

Предикат функционального отношения есть просто выражение функциональной зависимости Множества, отношения, таблица фактов в реляционных базах данных.

Еще пример бинарного отношения

Пример 5. Пусть множество Множества, отношения, таблица фактов в реляционных базах данных есть следующее множество молодых людей: {Вовочка, Петя, Маша, Лена}, причем известны следующие факты:

  1. Вовочка любит Вовочку (эгоист).
  2. Петя любит Машу (взаимно).
  3. Маша любит Петю (взаимно).
  4. Маша любит Машу (себя не забывает).
  5. Лена любит Петю (несчастная любовь).

Информацию о взаимоотношения данных молодых людей можно описать бинарным отношением "любить", заданном на множестве Множества, отношения, таблица фактов в реляционных базах данных. Это отношение можно описать несколькими способами.

Способ 1. Перечисление фактов в виде произвольного текста (как это сделано выше).

Способ 2. В виде графа взаимоотношений:

Множества, отношения, таблица фактов в реляционных базах данных

Рисунок 1 Граф взаимоотношений

Способ 3. При помощи матрицы взаимоотношений:

Кого

Кто

ВовочкаПетяМашаЛена

Вовочка

Любит      

Петя

    Любит  

Маша

  Любит Любит  

Лена

  Любит    

Таблица 1. Матрица взаимоотношений

Способ 4. При помощи таблицы фактов:

Кто любитКого любят
Вовочка Вовочка
Петя Маша
Маша Петя
Маша Маша
Лена Петя

Таблица 2 Таблица фактов

С точки зрения реляционных баз данных наиболее предпочтительным является четвертый способ, т.к. он допускает наиболее удобный способ хранения и манипулирования информацией. Действительно, перечисление фактов как текстовая форма хранения информации уместна для литературного произведения, но с трудом поддается алгоритмической обработке. Изображение в виде графа наглядно, и его удобно использовать как конечную форму представления информации для пользователя, но хранить данные в графическом виде неудобно. Матрица взаимоотношений уже больше соответствует требованиям информационной системы. Матрица удобна в обработке и компактно хранится. Но одно небольшое изменение, например, появился еще Вася и влюбился в несчастную Лену, требует перестройки всей матрицы, а именно, добавления и колонок, и столбцов. Таблица фактов свободна от всех этих недостатков - при добавлении новых действующих лиц просто добавляются новые строки.

Что касается предиката данного отношения, то он имеет следующий вид (дизъюнктивная нормальная форма):

R(x,y) = {(x = "Вовочка" AND y = "Вовочка") OR (x = "Петя" AND y = "Маша") OR (x = "Маша" AND y = "Петя") OR (x = "Маша" AND y = "Маша") OR (x = "Лена" AND y = "Петя")}

Замечание. Приведенное отношение не является ни транзитивным, ни симметричным или антисимметричным, ни рефлексивным, поэтому оно не является ни отношением эквивалентности, ни отношением порядка, ни каким-либо другим разумным отношением.

Замечание. Большая часть мировой литературы существует и имеет смысл лишь постольку, поскольку бинарное отношение "любить" не является отношением эквивалентности. В частности, по этой причине человечество не разбивается на классы эквивалентности взаимно любящих особей. Изучением характеристик данного отношения и соответствующего ему предиката занималось (и продолжает заниматься) большое количество экспертов, таких как Толстой Л.Н., Шекспир В. и др.

n-арные отношения (отношения степени n)

В математике n-арные отношения рассматриваются относительно редко, в отличие от баз данных, где наиболее важными являются именно отношения, заданные на декартовом произведении более чем двух множеств.

Пример 6. В некотором университете на математическом факультете учатся студенты Иванов, Петров и Сидоров. Лекции им читают преподаватели Пушников, Цыганов и Шарипов, причем известны следующие факты:

  1. Пушников читает лекции по алгебре и базам данных, соответственно, 40 и 80 часов в семестр.
  2. Цыганов читает лекции по геометрии, 50 часов в семестр.
  3. Шарипов читает лекции по алгебре и геометрии, соответственно, 40 и 50 часов в семестр.
  4. Студент Иванов посещает лекции по алгебре у Шарипова и по базам данных у Пушникова.
  5. Студент Петров посещает лекции по алгебре у Пушникова и по геометрии у Цыганова.
  6. Студент Сидоров посещает лекции по геометрии у Цыганова и по базам данных у Пушникова.

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

  • Множество преподавателей Множества, отношения, таблица фактов в реляционных базах данных= {Пушников, Цыганов, Шарипов}.
  • Множество предметов Множества, отношения, таблица фактов в реляционных базах данных = {Алгебра, Геометрия, Базы данных}.
  • Множество студентов Множества, отношения, таблица фактов в реляционных базах данных = {Иванов, Петров, Сидоров}.

Имеющиеся факты можно разделить на две группы. 1 группа (факты 1-3) - факты о преподавателях, 2 группа (факты 4-6) - факты о студентах.

Для того чтобы отразить факты 1-3 (характеризующие преподавателей и читаемые ими лекции), введем отношение Множества, отношения, таблица фактов в реляционных базах данных на декартовом произведении Множества, отношения, таблица фактов в реляционных базах данных, где Множества, отношения, таблица фактов в реляционных базах данных - множество рациональных чисел. А именно, упорядоченная тройка Множества, отношения, таблица фактов в реляционных базах данныхтогда и только тогда, когда преподаватель Множества, отношения, таблица фактов в реляционных базах данных читает лекции по предмету Множества, отношения, таблица фактов в реляционных базах данных в количестве Множества, отношения, таблица фактов в реляционных базах данных часов в семестр. Назовем такое отношение "Читает лекции по…". Множество кортежей, образующих отношение Множества, отношения, таблица фактов в реляционных базах данных удобно представить в виде таблицы:

A (Преподаватель)B (Предмет)Q (Количество часов)
Пушников Алгебра 40
Пушников Базы данных 80
Цыганов Геометрия 50
Шарипов Алгебра 40
Шарипов Геометрия 50

Таблица 3 Отношение "Читает лекции по…"

Для того чтобы отразить факты 4-6 (характеризующие посещение студентами лекций), введем отношение Множества, отношения, таблица фактов в реляционных базах данных на декартовом произведении Множества, отношения, таблица фактов в реляционных базах данных. Упорядоченная тройка Множества, отношения, таблица фактов в реляционных базах данных тогда и только тогда, когда студент Множества, отношения, таблица фактов в реляционных базах данных посещает лекции по предмету Множества, отношения, таблица фактов в реляционных базах данных у преподавателя Множества, отношения, таблица фактов в реляционных базах данных. Назовем это отношение "Посещать лекции". Его также представим в виде таблицы:

C (студент)B (предмет)A (Преподаватель)
Иванов Алгебра Шарипов
Иванов Базы данных Пушников
Петров Алгебра Пушников
Петров Геометрия Цыганов
Сидоров Геометрия Цыганов
Сидоров Базы данных Пушников

Таблица 4 Отношение "Посещать лекции"

Рассмотрим отношение Множества, отношения, таблица фактов в реляционных базах данных подробнее. Оно задано на декартовом произведении Множества, отношения, таблица фактов в реляционных базах данных. Это произведение, содержащее 3*3*3=27 кортежей, можно назвать "Студенты-Лекции-Преподаватели". Множество Множества, отношения, таблица фактов в реляционных базах данных представляет собой совокупность всех возможных вариантов посещения студентами лекций. Отношение же Множества, отношения, таблица фактов в реляционных базах данных показывает текущее состояние учебного процесса. Очевидно, что отношение Множества, отношения, таблица фактов в реляционных базах данных является изменяемым во времени отношением.

Итак, факты о ходе учебного процесса удалось отразить в виде двух отношений третьей степени (3-арных), а сами отношения изобразить в виде таблиц с тремя колонками.

Удобство использования табличной формы для задания отношения определяется в данном случае следующими факторами:

  1. Все используемые множества конечны.
  2. При добавлении или удалении студентов, предметов, преподавателей просто добавляются или удаляются соответствующие строки в таблице.

Нас сейчас не интересует вопрос, хороши ли полученные отношения. Заметим пока только, что, как показывают следующие замечания, не любую строку можно добавить в таблицу "Посещать лекции".

Замечание. В таблицу "Посещать лекции" нельзя добавить две одинаковые строки, т.к. таблица изображает отношение Множества, отношения, таблица фактов в реляционных базах данных, а в отношении (как и в любом множестве) не может быть двух одинаковых элементов. Это пример синтаксического ограничения - такое ограничение задано в определении понятия отношение (одинаковых строк не может быть ни в одной таблице, задающей отношение).

Замечание. В таблицу "Посещать лекции" нельзя добавить кортеж (Иванов, Геометрия, Пушников). Действительно, из таблицы "Читает лекции по…", представляющей отношение Множества, отношения, таблица фактов в реляционных базах данных, следует, что Пушников не читает предмет "Геометрия". Оказалось, что таблицы связаны друг с другом, и существенным образом! Это пример семантического ограничения - такое ограничение является следствием нашей трактовки данных, хранящихся в отношении (следствием пониманиясмысла данных).

Транзитивное замыкание отношений

Введем понятие транзитивного замыкания, связанное с бинарными отношениями, которое понадобится в дальнейшем.

Определение 11. Пусть отношение Множества, отношения, таблица фактов в реляционных базах данных задано на декартовом квадрате Множества, отношения, таблица фактов в реляционных базах данных некоторого множества Множества, отношения, таблица фактов в реляционных базах данныхТранзитивным замыканием отношения Множества, отношения, таблица фактов в реляционных базах данных называется новое отношение Множества, отношения, таблица фактов в реляционных базах данных, состоящее из кортежей Множества, отношения, таблица фактов в реляционных базах данных, для которых выполняется:

  • либо кортеж Множества, отношения, таблица фактов в реляционных базах данных,
  • либо найдется конечная последовательность элементов Множества, отношения, таблица фактов в реляционных базах данных, такая, что все кортежи Множества, отношения, таблица фактов в реляционных базах данных принадлежат отношению Множества, отношения, таблица фактов в реляционных базах данных.

Очевидно, что Множества, отношения, таблица фактов в реляционных базах данных.

Пример 7. Пусть множество Множества, отношения, таблица фактов в реляционных базах данных представляет собой следующее множество деталей и конструкций:

Множества, отношения, таблица фактов в реляционных базах данных = {Болт, Гайка, Двигатель, Автомобиль, Колесо, Ось}

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

Конструкция Где используется
Болт Двигатель
Болт Колесо
Гайка Двигатель
Гайка Колесо
Двигатель Автомобиль
Колесо Автомобиль
Ось Колесо

Таблица 5 Отношение R

Транзитивное замыкание Множества, отношения, таблица фактов в реляционных базах данных состоит из кортежей (добавленные кортежи помечены серым цветом):

КонструкцияГде используется
Болт Двигатель
Болт Колесо
Гайка Двигатель
Гайка Колесо
Двигатель Автомобиль
Колесо Автомобиль
Ось Колесо
Болт Автомобиль
Гайка Автомобиль
Ось Автомобиль

Таблица 6 Транзитивное замыкание отношения R

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

Выводы

Множество- это неопределяемое понятие, представляющее некоторую совокупность данных. Элементы множества можно отличать друг от друга, а также определять, принадлежит ли данный элемент данному множеству. Над множествами можно выполнять операции объединения, пересечения, разности и дополнения.

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

Отношение- это подмножество декартового произведения множеств. Отношения состоят из однотипных кортежей. Каждое отношение имеет предикат отношения и каждый n-местный предикат задает n-арное отношение.

Отношение является математическим аналогом понятия "таблица".

Отношения обладают степенью и мощностью. Степень отношения - это количество элементов в каждом кортеже отношения (аналог количества столбцов в таблице). Мощность отношения - это мощность множества кортежей отношения (аналог количества строк в таблице).

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

На этом все! Теперь вы знаете все про множества отношения таблица фактов в реляционных базах данных, Помните, что это теперь будет проще использовать на практике. Надеюсь, что теперь ты понял что такое множества отношения таблица фактов в реляционных базах данных и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL

создано: 2014-12-16
обновлено: 2024-11-12
358



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL

Термины: Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL