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

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

Основы реляционной алгебры

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

 

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

1. C = A U B- объединение (UNION). Результат образуют кортежи, входящие в A или B без дублирования. Отношения A и B должны иметь одинаковое количество атрибутов и соответствие их типов, то есть атрибуты с одинаковыми порядковыми номерами в отношениях A и B должны быть совместимы по типам данных. Например, таблицы A и B могут представлять собой данные о студентах, получивших зачет по двум разным предметам. Тогда в объединении таблиц будут представлены студенты, получившие хотя бы один зачет.

2. C = A - B- разность (MINUS). Результат образуют кортежи, входящие как в A, но не входящие в B. Операция корректна при тех же требованиях к отношениям A и B, что и предыдущая операция. Для предыдущего примера в C окажутся только те студенты, которые получили зачет по первому, но не по второму предмету.

3. C = A ∩ B- пересечение (INTERSECT). Результат образуют кортежи, входящие как в A, так и в B. Требования к операндам такие же, как и ранее. Пересечение выражается через разность: A ∩ B = A - (A –B). Для того же примера в C попадут обладатели зачетов по обоим предметам.

4. C = A ´ B– декартово произведение (TIMES). Результат образуют все упорядоченные кортежи, образованные сцеплением (конкатенацией) кортежей из отношений A и B. Число атрибутов декартова произведения равно сумме числа атрибутов A и B, а число кортежей определяется как произведение числа кортежей A и B. Эта операция трудоемка и требует больших затрат памяти, поэтому служит в большей степени для теоретических, а не практических целей. Например, если в таблице A (Stud, Gr) представлены студенты разных групп потока, а в B (Prep, Kaf) преподаватели разных кафедр, которые могут принимать экзамены сессии, то в C (Stud, Gr, Prep, Kaf) окажутся все возможные пары студент-преподаватель.

5. C = σF (A) - селекция или выборка (SELECT). Результатом является множество кортежей, для которых логическое выражение или условие F устанавливается в истину. Это первая рассматриваемая операция, присущая именно реляционной алгебре, а не теории множеств. Логическое выражение строится на основе атрибутов отношения A. Например, операция селекции для таблицы A из предыдущего примера по условию Gr=’ПС-12’ определит таблицу C (Stud, Gr), в которой останутся только студенты группы ПС-12.

6. C = πS (A) - проекция (PROJECT). Здесь список S является подмножеством атрибутов A и задает атрибуты результата операции. Кортежами результата являются “урезанные” кортежи отношения A с исключением дублирования одинаковых кортежей. Пусть, например, в таблице А (Stud, Gr, St) поле St определяет старосту группы. Проекция A по атрибутам Gr, St даст перечень групп с их старостами. Число записей в результате окажется меньше, чем в A, поскольку в каждой группе может быть много студентов, а информация о группе появится в единственной записи.

7. C = AB - соединение (JOIN). Операция соединения имеет несколько видов. Наиболее общий из них представляет θ-соединение. Результат образуют все упорядоченные кортежи, образованные сцеплением (конкатенацией) тех кортежей из отношений A и B, для которых выполняется условие Ai θ Bj, где Ai и Bj – значения i-го и j-го атрибутов A и B, а θ – одна из операций сравнения (‘=’, ‘<’, ‘>’, ‘≠’, ‘≤’, ‘≥’). Таким образом, θ-соединение представляет собой декартово произведение с условием. В подавляющем большинстве случаев θ задает операцию равенства, и такое соединение называется эквисоединением. Если атрибуты Ai и Bj имеют одинаковое наименование, то оно появится в результате дважды, и во всех кортежах будут повторяться одинаковые значения. Это, конечно, неудобно, поэтому чаще используют естественное соединение, в котором все одноименные атрибуты отношений A и B встречаются один раз. Легко заметить, что естественное соединение теоретически сводится к последовательности таких операций, как декартово произведение, селекция и проекция. Однако практически оно реализуется гораздо эффективнее.

Пусть, например, таблица A (Stud, Gr) содержит данные о студентах факультета X, а B (Stud, Room) – данные о студентах разных факультетов, проживающих в общежитии Y. Операция естественного соединения C = AB определит таблицу C (Stud, Gr, Room), в которой окажутся данные о студентах факультета X, проживающих в общежитии Y.

В переводной литературе соединение часто неправильно называют объединением. Нужно четко понимать разницу между этими операциями.

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

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

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

1. Переименование (RENAME). Операция позволяет присвоить другое имя атрибуту отношения.

2. Полусоединение(SEMIJOIN). Операция определяется выражением

C=π<A> (AB), где <A> - список атрибутов отношения A. Иными словами, выделяются кортежи A, нашедшие соответствие в отношении B.

3. Полувычитание(SEMIMINUS). Операция определяется выражением

C=A -π<A> (AB), где <A> - список атрибутов отношения A. В противоположность полусоединению находятся те кортежи отношения A, которые не нашли соответствия в отношении B.

4. Расширение(EXTEND). Операция позволяет добавить новое поле в отношение, определяя его значение выражением над другими полями.

5. Обобщения(SUMMARIZE). Для каждой группы кортежей с одним и тем же значением некоторых атрибутов создается результирующий кортеж (например, сумма числовых значений).

Операции реляционной алгебры могут использоваться последовательно. Рассмотрим снова отношения по поставщикам S (S# , Sn, Scity), изделиям P (P#, Pn, Pcity, W) и поставкам SP (S#, P#, Q). Здесь S# - номер поставщика, Sn – его имя, Scity – место проживания, P# - номер изделия, Pn – его наименование, Pcity – место хранения, W – вес, Q – объем поставки. Требуется найти имена и места проживания поставщиков, поставляющих детали веса более 10.

Можно получить результат следующими операциями:

A = σ W>10 (P)

B = ASP

C = BS

R = π Sn, Scity (C)

Здесь оба соединения – естественные, то есть первое производится по атрибуту P#, а второе по атрибуту S#. Мы получили пример “программы” в виде последовательности операций реляционной алгебры.

На основе операций реляционной алгебры были предложены и реализованы такие экспериментальные языки запросов, как IS/1 и PRTV. Языки реляционной алгебры являются процедурными языками, так как реализуют заданную последовательность операций, приводящих к результату. Вместе с тем эти языки более высокоуровневые по сравнению с языками, ориентированными на обработку отдельных записей.

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

 

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

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

Среда 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
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги