Основы современных компьютерных технологий

         

Ограничения и операции над отношениями


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

233

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

    Основной единицей обработки данных в реляционных БД является отношение, а не отдельные его кортежи (записи), как это принято в традиционных языках программирования.

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

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

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

    В различных СУБД реализована некоторая часть этих операций, определяющая в какой-то мере возможности данной СУБД и сложность реализации запросов к БД.

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

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

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

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

    234

    232 :: 233 :: 234 :: Содержание



    Содержание раздела