Базы данных - модели, разработка, реализация



         

Специальные операции реляционной алгебры - часть 3


  • Аi ?i Вi D; ?i - i-й предикат сравнения, определяемый из множества допустимых на домене Di операций сравнения.
  • R [ ? ] Q = { (r,q) | (r, q) | r.А ?i q.Bi = "Истина", i = 1,k}

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

    R15
    Шифр детали Название детали Материал
    00011073 Гайка Ml сталь - ст1
    00011075 Гайка М2 сталь - ст2
    00011076 Гайка М3 сталь - ст1
    00011003 Болт M1 сталь - ст3
    00011006 Болт М3 сталь - ст3
    00013063 Шайба M1 сталь - ст1
    00013066 Шайба М3 сталь - ст1
    00011077 Гайка М4 сталь - ст2
    00011004 Болт М2 сталь - ст3
    00011005 Болт М5 сталь - ст3
    00013062 Шайба М2 сталь - ст1

     

    R16
    Название детали
    Гайка M1
    Гайка М3
    Шайба M1
    Шайба М3
    Шайба М2

    Получим перечень деталей, которые изготавливаются в цеху 1 из материала "сталь - ст 1"

    59

    R16 = (R15[(R15.Шифр детали = R10.Шифр детали) ? R10.Цех = "Цех1" ? ? R15.Материал = "сталь - ст1"] Rю10)[Название детали]

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

    Для определения операции деления рассмотрим сначала понятие множества образов.

    Пусть R - отношение со схемой SR = (A1, A2 ,..., Ak);

    Пусть А - некоторый набор атрибутов А ? { Аi } i=l,k , А1 - набор атрибутов, не входящих в множество А.

    Пересечение множеств А и А1 пусто: А ? А1 = O; объединение множеств равно множеству всех атрибутов исходного отношения: A ? А1 = SR.

    Тогда множеством образов элемента у проекции R[A] называется множество таких элементов у проекции R[A1] , для которых сцепление (х, у) является кортежами отношения R, то есть

    QA(x) = {у | у ? R[A1] ? (х, у) ? R} - множество образов.

    Например, множеством образов отношения R15 по материалу "сталь - ст2" будет множество кортежей

  • R15.Материал = {< 00011075, Гайка М2, "сталь - ст2">, < 00011077, Гайка М4, "сталь - ст2">}



  • Содержание  Назад  Вперед