Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_IGME.doc
Скачиваний:
8
Добавлен:
01.05.2025
Размер:
3.64 Mб
Скачать

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

Отношение (A1, A2, …, Am, B1, B2, …, Bm), заголовок которого является сцеплением заголовков отношений A(A1, A2, …, Am) и B(B1, B2, …, Bm), а тело состоит из кортежей, являющихся сцеплением кортежей отношений A и B:

(a1, a2, …, am, b1, b2, …, bm)

таких, что

(a1, a2, …, am)∈ A,

(b1, b2, …, bm)∈ B.

Синтаксис:

A TIMES B

Соединение

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

(A TIMES B) WHERE c

Операция

Обозначение

Область применения

Выборка

Определяет результирующее отношение, которое содержит только те кортежи (строки) из отношения R, которые удовлетворяют заданному условию (предикату)

Проекция

Определяет новое отношение, содержащее вертикальное подмножество отношения R, создаваемое посредством извлечения значений указанных атрибутов и исключения из результата строк-дубликатов

Объединение

Определяет новое отношение, которое включает все кортежи, содержащиеся только в R, только в S, одновременно в R и S, причем все дубликаты кортежей исключены. При этом отношения R и S должны быть совместимыми по объединению

Разность

Разность двух отношений R и s состоит из кортежей, которые имеются в отношении R. но отсутствуют в отношении S. Причем отношения R и s должны быть совместимыми по объединению

Пересечение

Определяет отношение, которое содержит кортежи, присутствующие как в отношении R, так и в отношении S. Отношения R и S должны быть совместимыми по объединению

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

Определяет новое отношение, которое является результатом конкатенации (т.е. сцепления) каждого кортежа из отношения R с каждым кортежем из отношения S

Тета-cоединение

Определяет отношение, которое содержит кортежи из декартова произведения отношений R и S, удовлетворяющие предикату F

Соединение по эквивалентности

Определяет отношение, которое содержит кортежи из декартова произведения отношений R и S, удовлетворяющие предикату F (предикат должен предусматривать только сравнение на равенство)

Естественное соединение

Естественным соединением называется соединение по эквивалентности двух отношений R и S, выполненное по всем общим атрибутам х, из результатов которого исключается по одному экземпляру каждого общего атрибута

(Левое) внешнее соединение

Соединение, при котором кортежи отношения R, не имеющие совпадающих значений в общих столбцах отношения S, также включаются в результирующее отношение

Полусоединение

Определяет отношение, содержащее те кортежи отношения R, которые входят в соединение отношений R и S

Деление

Определяет отношение, состоящее из множества кортежей отношения R, которые определены на атрибуте С, соответствующем комбинации всех кортежей отношения S, где C — множество атрибутов, имеющихся в отношении R, но отсутствующих в отношении S

  1. Реляционное исчисление. Основы реляционного исчисления. Исчисление кортежей. Переменные кортежей. Свободные и связанные переменные кортежей. Кванторы. Сравнительный анализ реляционного исчисления и реляционной алгебры. Исчисление доменов.

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

Исчисление кортежей

Исчисление доменов

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

Предикат – некоторая функция вида: Р(х1, х2, … , хn) = 0 или 1 в зависимости от значения аргументов. При построении предикатов используется: логические связи, сравнения, а так же кванторы общности, существования и единственности. В реляционном исчислении R(A1,A2, … , An) ставится в соответствие Р(х1, х2, … , хn), аргументы которого имеют так же область определения, что и исходное отношение. Предикат при подстановке конкретных значений аргументов задает принадлежность декартового картежа отношением: Р=0 – входит, Р=1 – не входит. Þ Посредством задания предиката м/б зад. соответствующее ему отношение.

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

Определение кортежной переменной

RANGE ИмяПеременной IS ИмяОтношения

Ссылка на значение атрибута аналогична ссылке на значение поля структурной переменной в Си:

ИмяПеременной. ИмяАтрибута

Правильно построенные формулы

Правильно построенная формула (Well-Formed Formula, WFF) служит для выражения условий, накладываемых на кортежные переменные.

Простые условия

Простые условия представляют собой операции сравнения скалярных значений. Примеры:

ИмяПеременной. ИмяАтрибута = СкалярноеЗначение

ИмяПеременнойА.ИмяАтрибутаБ = ИмяПеременнойВ.ИмяАтрибутаГ

ИмяПеременной. ИмяАтрибута <> СкалярноеЗначение

ИмяПеременнойА.ИмяАтрибутаБ < ИмяПеременнойВ.ИмяАтрибутаГ

Сложные условия

Сложные условия строятся с помощью логических связок NOT, AND, OR и IF … THEN с учетом обычных приоритетов операций (NOT > AND > OR) и возможности расстановки скобок. Так, если Формула — правильно построенная формула, а Условие — простое сравнение, то

NOT Формула

Условие AND Формула

Условие OR Формула

IF Условие THEN Формула

являются правильно построенными формулами.

Свободные и связанные переменные кортежей

Каждая ссылка на переменную кортежа (в некотором контексте, в частности в формуле WFF) является или свободной, или связанной. Сначала поясним это утверждение в чисто синтаксических терминах, а затем перейдем к обсуждению его смысла.

Пусть V - переменная кортежа. Тогда имеем следующее.

Ссылки на переменную V в формулах WFF типа NOT р свободны или связаны в пределах этой формулы в зависимости от того, свободны ли они в формуле р. Ссылки на переменную V в формулах WFF типа (р AND q) и (р OR q) свободны или связаны в зависимости от того, свободны ли они в формулах р и q.

Ссылки на переменную V, которые свободны в формуле WFF р, связаны в формулах WFF типа EXISTS V(p) и FORALL V(p). Другие ссылки на переменные кортежей в формуле р будут свободны или связаны в формулах WFF типа EXISTS V{p) и FORALL V(p) в соответствии с тем, свободны ли они в формуле р.

Для полноты необходимо добавить следующие замечания.

Единственная ссылка на переменную V в значении параметра <имя переменной кортежа> является свободной в пределах этого параметра <имя переменной кортежа>.

Единственная ссылка на переменную V в значении параметра <ссылка на атрибут кортежа> V.A является свободной в пределах этого параметра <ссылка на атрибут кортежа>.

Если ссылка на переменную V является свободной в некотором выражении ехр, то эта ссылка будет также свободной в любом выражении ехр непосредственно содержащем выражение ехр как подвыражение, если только в выражении ехр не вводится квантор, связывающий переменную V.

Кванторы - логические операции, с помощью которых по некоторому высказыванию А(х) получают новые высказывания, характеризующие область истинности высказывания А(х).

Квантор всеобщности (обозначение:  , читается: «для всех…», «для каждого…» или «каждый…», «любой…», «для любого…»).

Квантор существования (обозначение:  , читается: «существует…» или «найдётся…»).

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

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

Основным формальным отличием исчисления доменов от исчисления кортежей является наличие дополнительного набора предикатов, позволяющих выражать так называемые условия членства. Если R - это n-арное отношение с атрибутами a1, a2, ..., an, то условие членства имеет вид R(a1i:v1i...aim:vim)(m<=n)  где vij - это либо литерально задаваемая константа, либо имя кортежной переменной. Условие членства принимает значение true в том и только в том случае, если в отношении R существует кортеж, содержащий указанные значения указанных атрибутов.

Если vij - константа, то на атрибут aij задается жесткое условие, не зависящее от текущих значений доменных переменных; если же - имя доменной переменной, то условие членства может принимать разные значения при разных значениях этой переменной.

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

Для примера сформулируем с использованием исчисления доменов запрос "Выдать номера и имена студентов сотрудников, не получающих минимальную заработную плату" (будем считать для простоты, что мы определили доменные переменные, имена которых совпадают с именами атрибутов отношения СОТРУДНИКИ, а в случае, когда требуется несколько доменных переменных, определенных на одном домене, мы будем добавлять в конце имени цифры):  СОТР_НОМ, СОТР_ИМЯ  WHERE EXISTS СОТР_ЗАРП1 (СОТРУДНИКИ (СОТР_ЗАРП1) AND СОТРУДНИКИ (СОТР_НОМ, СОТР_ИМЯ, СОТР_ЗАРП) AND СОТР_ЗАРП > СОТР_ЗАРП1)

Реляционное исчисление доменов является основой большинства языков запросов, основанных на использовании форм. В частности, на этом исчислении базировался известный язык Query-by-Example, который был первым (и наиболее интересным) языком в семействе языков, основанных на табличных формах.

  1. Нормализация отношений в базах данных. Избыточность данных и аномалии обновления. Понятие нормализации отношений. Первая нормальная форма (1НФ). Функциональные зависимости (ФЗ). Частичная и полная функциональная зависимость. Вторая нормальная форма (2НФ). Транзитивная функциональная зависимость. Третья нормальная форма (3НФ). Нормальная форма Бойса-Кодда (НФБК).

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]