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

Контрольные вопросы

  1. Какие виды целостности отношений вам известны

  2. Объясните назначение приведения отношений к нормальным формам

  3. Шаги приведения отношений к третьей нормальной форме

  4. Дайте объяснение понятию «потенциальный ключ»

Тема 1.6 Операции и основные понятия реляционной алгебры и реляционного исчисления

Цель занятия: ознакомить с основами реляционной алгебры; объяснить выполнение основных и специальных операций

1. Реляционная алгебра

В предыдущей лекциях мы говорили о трех составных реляционной модели данных. Мы рассмотрели структурную и целостную части, а манипуляционной части реляционной модели данных посвящается эта лекция.

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

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

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

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

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

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

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

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