Помощь в учёбе, очень быстро...
Работаем вместе до победы

Языки манипулирования данными в реляционных базах данных

РефератПомощь в написанииУзнать стоимостьмоей работы

Реляционная алгебра основана на применении к операциям над отношениями теории множеств, так как отношения представляют собой множества кортежей. При этом традиционные теоретико-множественные операции дополнены специальными операциями, характерными для баз данных. Языки реляционной алгебры являются процедурными, поскольку для получения результата запроса используется последовательность реляционных… Читать ещё >

Языки манипулирования данными в реляционных базах данных (реферат, курсовая, диплом, контрольная)

Описание процесса обработки отношений может быть выполнено двумя способами:

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

В связи с этим для выполнения операций над реляционными данными (манипулирования данными) Э. Ф. Коддом были предложены два вида теоретических языков запросов, которые являются математической основой двух групп языков операций над отношениями в СУБД, — это реляционная алгебра и реляционное исчисление [16].

Реляционная алгебра основана на применении к операциям над отношениями теории множеств, так как отношения представляют собой множества кортежей. При этом традиционные теоретико-множественные операции дополнены специальными операциями, характерными для баз данных. Языки реляционной алгебры являются процедурными, поскольку для получения результата запроса используется последовательность реляционных операторов. Примером языка запросов, в основе которого лежит реляционная алгебра, является ISBL (Information System Base Language).

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

Коддом было доказано, что механизмы реляционной алгебры и реляционного исчисления являются эквивалентными: для любого допустимого выражения реляционной алгебры можно построить эквивалентную формулу реляционного исчисления, и наоборот. Это означает, что любой запрос, который можно сформулировать при помощи реляционного исчисления, также можно сформулировать, пользуясь реляционной алгеброй, и наоборот. Поэтому для проверки степени реляционности некоторого языка БД можно пользоваться любым из этих подходов [6, 7, 11].

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

И реляционная алгебра, и реляционное исчисление в том виде, как они были сформулированы Коддом, являются теоретическими языками.

Реляционная алгебра (или алгебра отношений) представляет собой совокупность операций высокого уровня над отношениями.

Одной из основных характеристик отношения является схелю отношения, определяемая выражением R (AV А2,.Ап), где R — имя отношения, Av А2, Ап — имена атрибутов.

Степень отношения — это число его атрибутов. Отношение степени один называют унарным, степени два — бинарным, степени три — тернарным, …, степени п — п-арным.

Операции реляционной алгебры можно разделить на базовые теоретико-множественные и специальные реляционные [2,13].

К базовым относятся следующие операции:

  • • объединение отношений;
  • • пересечение отношений;
  • • взятие разности отношений (вычитания);
  • • прямое произведение отношений.

В специальные реляционные операции входят:

  • • ограничение отношения (выборка);
  • • проекция отношения;
  • • соединение отношений;
  • • деление отношений.

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

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

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

Например, в случае операции прямого произведения при наличии у отношений-операндов одноименных атрибутов с одинаковыми доменами возникает конфликт имен: в заголовке (совокупности наименований атрибутов) результирующего отношения должны появиться одинаковые имена, что противоречит определению отношения как множества из которого следует, что все элементы должны быть различны. Для разрешения этой и других проблем в состав операций реляционной алгебры вводится операция переименования. Ее следует применять в любом случае, когда возникает конфликт именования атрибутов в отношениях — операндах одной реляционной операции. Тогда к одному из операндов сначала применяется операция переименования. Кроме того, в состав алгебры включается операция присваивания, позволяющая сохранить в базе данных результаты вычисления алгебраических выражений и ряд других (см., например, [11]).

Показать весь текст
Заполнить форму текущей работой