Что определяется в виде отношений на основе декартового произведения доменов

Что определяется в виде отношений на основе декартового произведения доменов

Понятие отношения

Реляционная модель данных была предложена Е.Ф. Коддом в 1970 году и получила к настоящему времени широкое распространение и популярность. Этому способствовали два ее существенных достоинства: 1) однородность представления данных в модели, которая обусловливает простоту восприятия ее конструкций пользователями базы данных, и 2) наличие развитой математической теории реляционных баз данных, которая обусловливает корректность ее применения.

Что определяется в виде отношений на основе декартового произведения доменов
Рис. 4.1. Расписание движения автобусов по маршруту

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

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

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

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

Формы представления отношений

Как мы уже упоминали выше, отношения можно представлять в виде таблиц. Но в табличном представлении сложно показывать некоторые свойства отношений. Например, неоднозначность трактовки домена колонки. Поэтому предпринимаются попытки строить более четкие схемы описания отношений в реляционных базах данных. Ниже представлен фрагмент такого описания в виде примера схемы базы данных «КАДРЫ»:

Источник

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

Информация, данные, информационные системы

Понятие отношения

Что определяется в виде отношений на основе декартового произведения доменов

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

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

Определение 2. Схема отношения

Пусть Что определяется в виде отношений на основе декартового произведения доменов— имена атрибутов. Схемой r отношения R называется конечное множество имен атрибутов Что определяется в виде отношений на основе декартового произведения доменов

Определение 3. Отношение

Отношением со схемой r на конeчных множествах D1, D2,…, Dn называется подмножество R декартового произведения Что определяется в виде отношений на основе декартового произведения доменов

Источник

Что определяется в виде отношений на основе декартового произведения доменов

Третья часть реляционной модели, манипуляционная часть, утверждает, что доступ к реляционным данным осуществляется при помощи реляционной алгебры или эквивалентного ему реляционного исчисления.

В реализациях конкретных реляционных СУБД сейчас не используется в чистом виде ни реляционная алгебра, ни реляционное исчисление. Фактическим стандартом доступа к реляционным данным стал язык SQL (Structured Query Language). Язык SQL представляет собой смесь операторов реляционной алгебры и выражений реляционного исчисления, использующий синтаксис, близкий к фразам английского языка и расширенный дополнительными возможностями, отсутствующими в реляционной алгебре и реляционном исчислении. Вообще, язык доступа к данным называется реляционно полным, если он по выразительной силе не уступает реляционной алгебре (или, что то же самое, реляционному исчислению), т.е. любой оператор реляционной алгебры может быть выражен средствами этого языка. Именно таким и является язык SQL.

В данной главе будут рассмотрены основы реляционной алгебры.

Замкнутость реляционной алгебры

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

Что определяется в виде отношений на основе декартового произведения доменов

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

Что определяется в виде отношений на основе декартового произведения доменов

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

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

Традиционно, вслед за Коддом [43], определяют восемь реляционных операторов, объединенных в две группы.

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

Отношения, совместимые по типу

Некоторые реляционные операторы (например, объединение) требуют, чтобы отношения имели одинаковые заголовки. Действительно, отношения состоят из заголовка и тела. Операция объединения двух отношений есть просто объединение двух множеств кортежей, взятых из тел соответствующих отношений. Но будет ли результат отношением? Во-первых, если исходные отношения имеют разное количество атрибутов, то, очевидно, что множество, являющееся объединением таких разнотипных кортежей нельзя представить в виде отношения. Во-вторых, пусть даже отношения имеют одинаковое количество атрибутов, но атрибуты имеют различные наименования. Как тогда определить заголовок отношения, полученного в результате объединения множеств кортежей? В-третьих, пусть отношения имеют одинаковое количество атрибутов, атрибуты имеют одинаковые наименования, но определенны на различных доменах. Тогда снова объединение кортежей не будет образовывать отношение.

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

Оператор переименования атрибутов

Оператор переименования атрибутов имеет следующий синтаксис:

Что определяется в виде отношений на основе декартового произведения доменов

Что определяется в виде отношений на основе декартового произведения доменов— отношение,

Что определяется в виде отношений на основе декартового произведения доменов— исходные имена атрибутов,

Что определяется в виде отношений на основе декартового произведения доменов— новые имена атрибутов.

В результате применения оператора переименования атрибутов получаем новое отношение, с измененными именами атрибутов.

Следующий оператор возвращает неименованное отношение, в котором атрибут Что определяется в виде отношений на основе декартового произведения доменовпереименован в Что определяется в виде отношений на основе декартового произведения доменов:

Что определяется в виде отношений на основе декартового произведения доменов

Теоретико-множественные операторы

Объединение

Определение 2. Объединением двух совместимых по типу отношений Что определяется в виде отношений на основе декартового произведения доменови Что определяется в виде отношений на основе декартового произведения доменовназывается отношение с тем же заголовком, что и у отношений Что определяется в виде отношений на основе декартового произведения доменови Что определяется в виде отношений на основе декартового произведения доменов, и телом, состоящим из кортежей, принадлежащих или Что определяется в виде отношений на основе декартового произведения доменов, или Что определяется в виде отношений на основе декартового произведения доменов, или обоим отношениям.

Синтаксис операции объединения:

Что определяется в виде отношений на основе декартового произведения доменов

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

Пример 2. Пусть даны два отношения Что определяется в виде отношений на основе декартового произведения доменови Что определяется в виде отношений на основе декартового произведения доменовс информацией о сотрудниках:

Табельный номерФамилияЗарплата
1Иванов1000
2Петров2000
3Сидоров3000

Таблица 1 Отношение A

Табельный номерФамилияЗарплата
1Иванов1000
2Пушников2500
4Сидоров3000

Таблица 2 Отношение B

Объединение отношений Что определяется в виде отношений на основе декартового произведения доменови Что определяется в виде отношений на основе декартового произведения доменовбудет иметь вид:

Табельный номерФамилияЗарплата
1Иванов1000
2Петров2000
3Сидоров3000
2Пушников2500
4Сидоров3000

Таблица 3 Отношение A UNION B

Замечание. Как видно из приведенного примера, потенциальные ключи, которые были в отношениях Что определяется в виде отношений на основе декартового произведения доменови Что определяется в виде отношений на основе декартового произведения доменовне наследуются объединением этих отношений. Поэтому, в объединении отношений Что определяется в виде отношений на основе декартового произведения доменови Что определяется в виде отношений на основе декартового произведения доменоватрибут «Табельный номер» может содержать дубликаты значений. Если бы это было не так, и ключи наследовались бы, то это противоречило бы понятию объединения как «объединение множеств». Конечно, объединение отношений Что определяется в виде отношений на основе декартового произведения доменови Что определяется в виде отношений на основе декартового произведения доменовимеет, как и любое отношение, потенциальный ключ, например, состоящий из всех атрибутов.

Пересечение

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

Синтаксис операции пересечения:

Что определяется в виде отношений на основе декартового произведения доменов

Пример 3. Для тех же отношений Что определяется в виде отношений на основе декартового произведения доменови Что определяется в виде отношений на основе декартового произведения доменов, что и в предыдущем примере пересечение имеет вид:

Табельный номерФамилияЗарплата
1Иванов1000

Таблица 4 Отношение A INTERSECT B

Вычитание

Определение 4. Вычитанием двух совместимых по типу отношений Что определяется в виде отношений на основе декартового произведения доменови Что определяется в виде отношений на основе декартового произведения доменовназывается отношение с тем же заголовком, что и у отношений Что определяется в виде отношений на основе декартового произведения доменови Что определяется в виде отношений на основе декартового произведения доменов, и телом, состоящим из кортежей, принадлежащих отношению Что определяется в виде отношений на основе декартового произведения доменови не принадлежащих отношению Что определяется в виде отношений на основе декартового произведения доменов.

Синтаксис операции вычитания:

Что определяется в виде отношений на основе декартового произведения доменов

Пример 4. Для тех же отношений Что определяется в виде отношений на основе декартового произведения доменови Что определяется в виде отношений на основе декартового произведения доменов, что и в предыдущем примере вычитание имеет вид:

Табельный номерФамилияЗарплата
2Петров2000
3Сидоров3000

Таблица 5 Отношение A MINUS B

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

Определение 5. Декартовым произведением двух отношений Что определяется в виде отношений на основе декартового произведения доменови Что определяется в виде отношений на основе декартового произведения доменовназывается отношение, заголовок которого является сцеплением заголовков отношений Что определяется в виде отношений на основе декартового произведения доменови Что определяется в виде отношений на основе декартового произведения доменов:

Что определяется в виде отношений на основе декартового произведения доменов,

а тело состоит из кортежей, являющихся сцеплением кортежей отношений Что определяется в виде отношений на основе декартового произведения доменови Что определяется в виде отношений на основе декартового произведения доменов:

Что определяется в виде отношений на основе декартового произведения доменов,

таких, что Что определяется в виде отношений на основе декартового произведения доменов, Что определяется в виде отношений на основе декартового произведения доменов.

Синтаксис операции декартового произведения:

Что определяется в виде отношений на основе декартового произведения доменов

Замечание. Мощность произведения Что определяется в виде отношений на основе декартового произведения доменовравна произведению мощностей отношений Что определяется в виде отношений на основе декартового произведения доменови Что определяется в виде отношений на основе декартового произведения доменов, т.к. каждый кортеж отношения Что определяется в виде отношений на основе декартового произведения доменовсоединяется с каждым кортежем отношения Что определяется в виде отношений на основе декартового произведения доменов.

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

Замечание. Перемножать можно любые два отношения, совместимость по типу при этом не требуется.

Пример 5. Пусть даны два отношения Что определяется в виде отношений на основе декартового произведения доменови Что определяется в виде отношений на основе декартового произведения доменовс информацией о поставщиках и деталях:

Номер поставщикаНаименование поставщика
1Иванов
2Петров
3Сидоров

Таблица 6 Отношение A (Поставщики)

Номер деталиНаименование детали
1Болт
2Гайка
3Винт

Таблица 7 Отношение B (Детали)

Декартово произведение отношений Что определяется в виде отношений на основе декартового произведения доменови Что определяется в виде отношений на основе декартового произведения доменовбудет иметь вид:

Номер поставщикаНаименование поставщикаНомер деталиНаименование детали
1Иванов1Болт
1Иванов2Гайка
1Иванов3Винт
2Петров1Болт
2Петров2Гайка
2Петров3Винт
3Сидоров1Болт
3Сидоров2Гайка
3Сидоров3Винт

Таблица 8 Отношение A TIMES B

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

Специальные реляционные операторы

Выборка (ограничение, селекция)

Определение 6. Выборкой (ограничением, селекцией) на отношении Что определяется в виде отношений на основе декартового произведения доменовс условием Что определяется в виде отношений на основе декартового произведения доменовназывается отношение с тем же заголовком, что и у отношения Что определяется в виде отношений на основе декартового произведения доменов, и телом, состоящем из кортежей, значения атрибутов которых при подстановке в условие Что определяется в виде отношений на основе декартового произведения доменовдают значение ИСТИНА. Что определяется в виде отношений на основе декартового произведения доменовпредставляет собой логическое выражение, в которое могут входить атрибуты отношения Что определяется в виде отношений на основе декартового произведения доменови (или) скалярные выражения.

В простейшем случае условие Что определяется в виде отношений на основе декартового произведения доменовимеет вид Что определяется в виде отношений на основе декартового произведения доменов, где Что определяется в виде отношений на основе декартового произведения доменов— один из операторов сравнения ( Что определяется в виде отношений на основе декартового произведения доменови т.д.), а Что определяется в виде отношений на основе декартового произведения доменови Что определяется в виде отношений на основе декартового произведения доменов— атрибуты отношения Что определяется в виде отношений на основе декартового произведения доменовили скалярные значения. Такие выборки называются Что определяется в виде отношений на основе декартового произведения доменоввыборки (тэта-выборки) или Что определяется в виде отношений на основе декартового произведения доменовограничения, Что определяется в виде отношений на основе декартового произведения доменовселекции.

Синтаксис операции выборки:

Что определяется в виде отношений на основе декартового произведения доменов,

Что определяется в виде отношений на основе декартового произведения доменов

Пример 6. Пусть дано отношение Что определяется в виде отношений на основе декартового произведения доменовс информацией о сотрудниках:

Табельный номерФамилияЗарплата
1Иванов1000
2Петров2000
3Сидоров3000

Таблица 9 Отношение A

Результат выборки Что определяется в виде отношений на основе декартового произведения доменовбудет иметь вид:

Табельный номерФамилияЗарплата
1Иванов1000
2Петров2000

НОМ_ВЕЩЕСТВАВЕЩЕСТВО
1Дезоксирибонуклеиновая кислота
2Бензин

Таблица 25 Отношение ВЕЩЕСТВО

НОМ_ЭЛЕМЕНТАЭЛЕМЕНТ
1Водород
2Гелий
105

Таблица 26 Отношение ЭЛЕМЕНТЫ

НОМ_ВЕЩЕСТВАНОМ_ЭЛЕМЕНТАПРОЦЕНТ
115
123
11050.01
2150

Таблица 27 Отношение ХИМИЧЕСКИЙ_СОСТАВ_ВЕЩЕСТВ

На языке SQL такой запрос реализуется одной командой:

Невыразимость транзитивного замыкания реляционными операторами

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

Пример 17. Рассмотрим отношение, описывающее сотрудников некоего предприятия. Отношение содержит данные о табельном номере сотрудника, фамилии, должности и табельном номере руководителя сотрудника – СОТРУДНИКИ ( ТАБ_НОМ, ФАМИЛИЯ, ДОЛЖНОСТЬ, ТАБ_НОМ_РУК):

ТАБ_НОМФАМИЛИЯДОЛЖНОСТЬТАБ_НОМ_РУК
1ИвановДиректор1
2ПетровГлав.бухгалтер1
3СидоровБухгалтер2
4ВасильевНачальник цеха1
5СуховМастер4
6ШариповРабочий5

Таблица 28 Отношение СОТРУДНИКИ

Рассмотрим запрос «Перечислить всех руководителей (прямых и непрямых) данного сотрудника».

Ответом на запрос может быть получен при помощи понятия транзитивного замыкания. Однако транзитивное замыкание не может быть выражено операторами реляционной алгебры.

Кросс-таблицы

Одной из задач, связанных с представлением табличных данных является построение так называемых кросс-таблиц.

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

ТоварМесяцКоличество
КомпьютерыЯнварь100
ПринтерыЯнварь200
СканерыЯнварь300
КомпьютерыФевраль150
ПринтерыФевраль250
СканерыФевраль350

Таблица 29 Данные о продажах

ТоварЯнварьФевраль
Компьютеры100150
Принтеры200250
Сканеры300350

Таблица 30 Кросс-таблица

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

Выводы

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

Традиционно определяют восемь реляционных операторов, объединенных в две группы.

Теоретико-множественные операторы: объединение, пересечение, вычитание, декартово произведение.

Специальные реляционные операторы: выборка, проекция, соединение, деление.

Для выполнения некоторых реляционных операторов требуется, чтобы отношения были совместимы по типу.

Имеется несколько типов запросов, которые нельзя выразить средствами реляционной алгебры. К ним относятся запросы, требующие дать в ответе список атрибутов, удовлетворяющих определенным условиям, построение транзитивного замыкания отношений, построение кросс-таблиц. Для получения ответов на подобные запросы приходится использовать процедурные расширения реляционных языков.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *