Суббота, 30.11.2024, 07:52
Ш  К  О  Л  А     П  И  Ф  А  Г  О  Р  А
      Предмет математики настолько серьезен, что нужно
не упускать случая, сделать его немного занимательным".
                                                                              Блез Паскаль
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
ПАМЯТКИ ПО МАТЕМАТИКЕ   ВЕЛИКИЕ МАТЕМАТИКИ   ТЕОРИЯ ЧИСЕЛ   МАТЕМАТИЧЕСКАЯ ЛОГИКА
УРОКИ МАТЕМАТИКИ В ШКОЛЕ
МАТЕМАТИЧЕСКАЯ КЛАДОВАЯ
В МИРЕ ЗАДАЧ
ЕГЭ ПО МАТЕМАТИКЕ
МАТЕМАТИКА В НАЧАЛЬНОЙ ШКОЛЕ
ВАРИ, КОТЕЛОК!
УДИВИТЕЛЬНАЯ МАТЕМАТИКА
ВЫСШАЯ МАТЕМАТИКА
В МИРЕ ИНТЕРЕСНОГО
Категории раздела
КАРТОЧКИ ПО АЛГЕБРЕ [23]
КАРТОЧКИ ПО ГЕОМЕТРИИ [17]
МАТЕМАТИКА В НАЧАЛЬНОЙ ШКОЛЕ [84]
МАТЕМАТИКА В 4 КЛАССЕ [19]
МАТЕМАТИКА В 5 КЛАССЕ [114]
ВЕЛИКИЕ МАТЕМАТИКИ [79]
МАТЕМАТИЧЕСКАЯ ВСЕЛЕННАЯ [50]
МАТЕМАТИЧЕСКИЕ СКАЗКИ В КАРТИНКАХ [8]
КАРТОЧКИ ПО МАТЕМАТИКЕ [4]
ЗАНИМАТЕЛЬНАЯ МАТЕМАТИКА [188]
МАТЕМАТИЧЕСКИЕ ГОЛОВОЛОМКИ [265]
ДЕНЬГИ [23]
ЛИЧНОСТЬ В НАУКЕ [87]
БЕЙСИК ДЛЯ МЛАДШИХ ШКОЛЬНИКОВ [40]
ИНФОРМАТИКА В НАЧАЛЬНОЙ ШКОЛЕ [82]
ПАМЯТКИ ПО МАТЕМАТИКЕ [193]
ЗАБАВНЫЕ ЗАДАЧИ ЯКОВА ПЕРЕЛЬМАНА [20]
ВИКТОРИНЫ ПО ИНФОРМАТИКЕ [6]
БАЗЫ ДАННЫХ [74]
САМОУЧИТЕЛЬ "СЛЕПОЙ" ПЕЧАТИ НА КОМПЬЮТЕРЕ [20]
РАБОТАЕМ В Microsoft Office [18]
АППАРАТНЫЕ СРЕДСТВА ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА [44]
ОСНОВЫ ИНФОРМАТИКИ ДЛЯ ШКОЛЬНИКОВ И СТУДЕНТОВ [77]
СОВЕТЫ ПО ОБУСТРОЙСТВУ КОМПЬЮТЕРА [72]
МАТЕМАТИКА В 6 КЛАССЕ [148]
МАТЕМАТИКА В 7 КЛАССЕ [85]
МАТЕМАТИКА В 8 КЛАССЕ [36]
МАТЕМАТИКА В 9 КЛАССЕ [153]
ЖИВОЙ УЧЕБНИК ГЕОМЕТРИИ [92]
УДИВИТЕЛЬНАЯ МАТЕМАТИКА [33]
ВЕЛИКАЯ ТЕОРЕМА ФЕРМА [45]
МАТЕМАТИКА В 11 КЛАССЕ [41]
КОНТРОЛЬНЫЕ РАБОТЫ [31]
ЗАНИМАТЕЛЬНЫЕ ЗАДАЧИ ПО ИНФОРМАТИКЕ ДЛЯ 5-6 КЛАССОВ [17]
ОБУЧАЮЩИЕ РАБОТЫ ПО ГЕОМЕТРИИ. 7 КЛАСС [19]
Главная » Статьи » БАЗЫ ДАННЫХ

Выражения реляционной алгебры

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

Пусть для примера в нашем распоряжении имеется фрагмент какой-то коммерческой базы данных:

Поставщики (Код поставщика, Имя поставщика, Город поставщика);

Инструменты (Код инструмента, Имя инструмента, …);

Поставки (Код поставщика, Код детали);

Подчеркнутые имена атрибутов являются ключевыми (т. е. идентификационными) атрибутами, причем каждый в своем отношении.

Предположим, что к нам, как разработчикам этой базы данных и хранителям информации по этому вопросу, поступил заказ получить наименования поставщиков (Имя Поставщика) и место их расположения (Город Поставщика) в случае, когда эти поставщики не поставляют каких-либо инструментов с родовым именем «Плоскогубцы».

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

1. образуем естественное соединение отношений «Поставщики» и «Поставки» для того, чтобы сопоставить с каждым поставщиком коды поставляемых им деталей. Новое отношение – результат применения операции естественного соединения – для удобства дальнейшего применения обозначим через r1.

Поставщики × Поставки ≔ r1 (Код поставщика, Имя поставщика, Город поставщика, Код поставщика, Код инструмента);

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

Поставщики × Поставки ≔ r1 (Код поставщика, Имя поставщика, Город поставщика, Код инструмента);

2. снова образуем естественное соединение, только на этот раз отношения, получившегося в пункте один и отношения Инструменты. Делаем это для того, чтобы с каждым кодом инструмента, получившемуся в предыдущем пункте, – сопоставить имя этого инструмента.

r1 × Инструменты [Код инструмента, Имя инструмента] ≔ r2 (Код поставщика, Имя поставщика, Город поставщика, Код инструмента, Код инструмента, Имя инструмента);

Получившийся результат обозначим r2, дублирующиеся атрибуты исключаем:

r1 × Инструменты [Код инструмента, Имя инструмента] ≔ r2 (Код поставщика, Имя поставщика, Город поставщика, Код инструмента, Имя инструмента);

Заметим, что из отношения Инструменты мы берем только два атрибута: «Код инструмента» и «Имя инструмента». Чтобы это осуществить мы, как можно заметить из записи отношения r2, применили унарную операцию проекции: Инструменты [Код инструмента, Имя инструмента], т. е., если бы отношение Инструменты было представлено в виде таблицы, результатом этой операции проекции стали бы два первых столбца с заголовками соответственно «Код инструмента» и «Имя инструмента».

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

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

3. Напишем унарную операцию выборки по условию <«Имя инструмента» = «Плоскогубцы»> применительно к отношению r2, полученному в предыдущем пункте. А к результату этой операции применим, в свою очередь, унарную операцию проекции [Код поставщика, Имя поставщика, Город поставщика], для того чтобы получить все значения этих атрибутов, потому что именно эту информацию нам и требуется получить исходя из заказа.

Итак:

(σ<Имя инструмента = «Плоскогубцы»> r2) [Код поставщика, Имя поставщика, Город поставщика] ≔ r3 (Код поставщика, Имя поставщика, Город поставщика, Код инструмента, Имя инструмента).

В результирующем отношении, обозначенном через r3, оказались только те поставщики (со всеми своими опознавательными данными), которые поставляют инструменты с родовым именем «Плоскогубцы». Но нам в силу заказа необходимо выделить тех поставщиков, которые, наоборот, не поставляют таких инструментов. Поэтому перейдем к следующему действию нашего алгоритма и запишем последнее выражение реляционной алгебры, которое и даст нам искомую информацию.

4. Сначала составим разность отношения «Поставщики» и отношения r3, а после применения этой бинарной операции применим унарную операцию проекции на атрибуты «Имя поставщика» и «Город поставщика».

(Поставщики \ r3) [Имя поставщика, Город поставщика] ≔ r4 (Код поставщика, Имя поставщика, Город поставщика);

Результат обозначили r4, в это отношение и вошли как раз только те кортежи исходного отношения «Поставщики», которые соответствуют условию нашего заказа.

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


Категория: БАЗЫ ДАННЫХ | Добавил: admin (31.12.2013)
Просмотров: 820 | Теги: домены, изучаем информатику, Базы данных, программирование для чайников, программирова, лекции по информатике, информатика в школе, унарная операция | Рейтинг: 0.0/0
УЧИТЕЛЮ ИНФОРМАТИКИ
КОНСПЕКТЫ УРОКОВ
ВНЕКЛАССНЫЕ МЕРОПРИЯТИЯ ПО ИНФОРМАТИКЕ
ПОСОБИЯ И МЕТОДИЧКИ ДЛЯ УЧИТЕЛЯ ИНФОРМАТИКИ
ИЗ ОПЫТА РАБОТЫ УЧИТЕЛЯ ИНФОРМАТИКИ
ЗАДАНИЯ ШКОЛЬНОЙ ОЛИМПИАДЫ ПО ИНФОРМАТИКЕ
ИНФОРМАТИКА В ШКОЛЕ
ИНФОРМАТИКА В НАЧАЛЬНЫХ КЛАССАХ
ИНФОРМАТИКА В 3 КЛАССЕ
ИНФОРМАТИКА В 4 КЛАССЕ
КОНТРОЛЬНЫЕ РАБОТЫ ПО ИНФОРМАТИКЕ. 3 КЛАСС
КОНТРОЛЬНЫЕ РАБОТЫ ПО ИНФОРМАТИКЕ. 4 КЛАСС
ПРОГРАММИРОВАНИЕ ДЛЯ ДЕТЕЙ
СКАЗКА "ПРИКЛЮЧЕНИЯ ЭЛЕКТРОШИ"

ИГРОВЫЕ ТЕХНОЛОГИИ НА УРОКАХ ИНФОРМАТИКИ
ИГРОВЫЕ ЗАДАНИЯ ПО ИНФОРМАТИКЕ
ВИКТОРИНЫ ПО ИНФОРМАТИКЕ
КОМПЬЮТЕРНЫЕ ЧАСТУШКИ
ОБРАТНАЯ СВЯЗЬ
Поиск


Друзья сайта
  • Создать сайт
  • Все для веб-мастера
  • Программы для всех
  • Мир развлечений
  • Лучшие сайты Рунета
  • Кулинарные рецепты
  • Статистика

    Онлайн всего: 2
    Гостей: 2
    Пользователей: 0
    Форма входа


    Copyright MyCorp © 2024
    Яндекс.Метрика Top.Mail.Ru