рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Основы реляционного исчисления

Основы реляционного исчисления - раздел Программирование, Среда Delphi широко известна и не вызывает дополнительных трудностей при изучении и использовании   Реляционное Исчисление Это Математический Аппарат, Который По...

 

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

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

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

Переменные-кортежи определяются оператором Range. Например, оператор Range S is Student описывает переменную S, которая может принимать значение любого кортежа отношения Student.

Правильные формулы реляционного исчисления WFF (Well-Formed Formula) определяются рекурсивно и принимают значения TRUE или FALSE. Простейший вид формулы это сравнение, например, Student.Age < 20 или Student.Out > Student.In. Здесь Age, Out, In – названия полей отношения Student. Выражения, постоенные из WFF с помощью логических операций Not, And, Or также являются WFF.

Далее введем кванторы существования Exists (существует, имеется, найдется, для некоторых) и всеобщности Forall (все, всякий, любой, каждый). Выражения типа Exists S (Form) и Forall S (Form), где S - переменная-кортеж, а Form – WFF, также будем считать WFF. Эти выражения имеют смысл: “существует значение S, для которого выполняется выражение Form” и “для всех S выполняется выражение Form”.

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

Пусть, например, переменные S и T определены на отношении Student, и T имеет значение текущего кортежа. Тогда формула Exists S (S.Age < T.Age) принимает значение TRUE, если найдется кортеж S, удовлетворяющий условию, то есть значение T.Age не является минимальным.

Для формул со связанными пременными справедливы соотношения

not Exists S (Form) = Forall S ( not Form);

not Forall S (Form) = Exists S ( not Form).

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

Следующим понятием является целевой список (Target_list). Он определяет столбцы результата и строится из элементов вида

· S.Attr, где S – свободная переменная, Attr – атрибут отношения;

· S – все атрибуты отношения;

· New_name = S.Attr – новый преименованный атрибут.

Выражение реляционного исчисления определяется как

Target_list Where WFF

Рассмотрим, например, отношение Student (Name, Gr, Subj, Mark), содержащее данные о результатах прошедшей сессии. Будем считать, оцнка всегда присутствует и может быть как удовлетворительной, так и нет. Пусть требуется определить список групп, в которых нет неудовлетворительных оценок.

Введем переменные S и T на множестве кортежей отношения Student.

Range S, T is Student

Выражение S.Gr Where S.Mark ≠ 2 не будет определять правильный результат, поскольку даст те группы, в которых есть положительные оценки, а не те, в которых их нет.

Выражение S.Gr Where Not Exists S (S.Mark = 2) также неправильно, но по другой причине. Дело в том, что здесь два применения переменной с именем S, и они не связаны между собой. В первом случае переменная S свободная, а во втором – связанная. Поэтому, вероятно, правильнее говорить о связанном или свободном вхождении в формулу экземпляров переменных. Аналогично, в языке программирования можно использовать одну переменную для разных целей.

Правильный результат даст выражение

S.Gr Where Not Exists T (S.Gr = T.Gr and S. Mark = 2)

В каком соотношении находятся между собой реляционная алгебра и реляционное исчисление? Оказывается, что все базовые операции реляцинной алгебры можно представить выражениями реляционного исчисления, то есть реляционная алгебра “выводится” из реляционного исчисления. С другой стороны, выражениями реляционного исчисления в явном виде описываются последовательностью операций реляционной алгебры. Принято говорить, что реляционная алгебра и реляционное исчисления обладают одинаковой выразительной силой.

В качестве примеров можно назвать такие языки реляционного исчисления как ALPHA, предложенный Э.Коддом, QUEL из СУБД Ingres и, конечно, SQL. Необходимо отметить, что нет “чистых” языков реляционного исчисления. Некоторые операторы, имеющие процедурный характер, можно в лучшем случае связать с реляционной алгеброй. Впрочем, даже наиболее известный своей декларативностью язык PROLOG имеет такой процедурный оператор, как Cut, предназначенный для явного управления процессом вычислений.

 

– Конец работы –

Эта тема принадлежит разделу:

Среда Delphi широко известна и не вызывает дополнительных трудностей при изучении и использовании

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

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Основы реляционного исчисления

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

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

Двенадцать правил Кодда для реляционных СУБД
В статье, опубликованной в 1985 году [3], Э. Кодд сформулировал двенадцать правил, которым должна соответствовать настоящая реляционная БД. Они являются полуофициальным определением понятия

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

Нормальная форма Бойса-Кодда
  Пусть в определенном выше отношении SP присутствует еще и имя поставщика Sname. Будем для удобства считать, что имя однозначно определяет поставщика. Тогда в отношении SP (Sn, Sname

Четвертая нормальная форма
  Рассмотрим таблицу R (Subj, Teach, Book), где Subj – учебный предмет, Teach- преподаватель по этому предмету, Book – книга, рекомендуемая преподавателем Teach для изучения предмета

Семантическое моделирование данных.
Элементы модели "сущность-связь" Семантическое моделирование данных на основе ER-диаграмм компактно и доступно изложено в [5], и мы будем следовать этому источни

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

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

Общая характеристика и стандарты языка SQL
  Язык SQL (Structered Query Language) впервые появился в рамках проекта разработки экспериментальной реляционной СУБД System R в исследовательской лаборатории фирмы IBM в 1975-1979 г

Многотабличные запросы SQL. Соединения таблиц. Самосоединения. Псевдонимы
  Запросы могут выбирать данные изнескольких таблиц. Эти таблицы должны быть перечислены после слова FROM. Если таблицы не связаны между собой, то результатом запроса будут всевозможн

Внешнее соединение таблиц
  Рассмотренные соединения называют внутренними (INNER JOIN). В некоторых случаях требуются соединения другого вида – внешние соединения (OUTER JOIN). Рассмотрим две таблицы A (Stud,

Для реализации итоговых запросов в SQL имеются следующие стандартные функции, которые называют агрегатными
· MAX (поле) – максимальное значение поля; · MIN (поле) – минимальное значение поля; · AVG (поле) – среднее значение поля; · SUM (поле) – сумма значений поля; ·

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

Целостность данных
  Термин “целостность данных” относится к правильности и полноте информации, содержащейся в БД. Вероятно, корректнее говорить о непротиворечивости данных, поскольку невозможно предотв

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

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

Представления и работа с ними
  Представлением (VIEW) называется SQL-запрос на чтение, которому присвоили имя и сохранили в БД. Представление является виртуальной таблицей, то есть обеспечивает доступ к результата

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

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

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

Элементы языка QBE
  Язык QBE (Query By Example – запрос по образцу) был разработан в компании IBM в 1975 году. Это язык реляционного исчисления с переменными на доменах, рассчитанный на работу в интера

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

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги