Содержание.
1. Введение.
2. Исчисление кортежей.
2.1. Синтаксис.
2.2. Переменные кортежей.
2.3. Свободные и связанные переменные кортежей.
2.4. Кванторы.
2.5. Ещё раз о сводных и связанных переменных.
2.6. Реляционные операции.
2.7. Примеры
3. Сравнительный анализ реляционного исчисления и реляционной алгебры.
4. Вычислительные возможности.
4.1. Примеры
5. Исчисление доменов.
5.1. Примеры
6. Средства языка SQL.
6.1. Примеры
7. Заключение.
8. Список литературы.
Часть реляционной модели, которая связана с операторами манипулирования данными, основывается на использовании реляционной алгебры. Однако с тем же основанием можно сказать, что она построена на базе реляционного исчисления . Другими словами, реляционная алгебра и реляционное исчисление представляют собой два альтернативных подхода. Принципиальное различие между ними следующее. Реляционная алгебра в явном виде представляет набор операций (соединение, объединение, проекция и т.д.), которые можно использовать, чтобы сообщить системе, как в базе данных из определённых отношений построить некоторое требуемое отношение, а реляционное исчисление просто представляет систему обозначений для определения требуемого отношения в терминах данных отношений.
Например, рассмотрим три отношения:
- S-поставщики, каждый поставщик имеет уникальный номер (S#); имя (SNAME); значение рейтинга или статуса (STATUS); место расположения (CITY). Предполагается, что каждый поставщик находится только в одном городе.
- P-детали, у каждого вида детали есть уникальный номер (P#); название детали (PNAME); цвет (COLOR); вес (WEIGHT); город, где хранится этот вид деталей (CITY). Каждый отдельный вид детали имеет только один цвет и хранится на складе только в одном городе.
- SP-поставки, служит для организации логической связи двух других отношений. Например, первая строка отношения SP связывает поставщика с номером ‘S1’ из отношения S с соответствующей деталью, имеющей номер ‘P1’ в отношении P, т.е. представляет факт поставки деталей типа ‘P1’ поставщиком с номером ‘S1’ (а также указывает количество деталей-300 штук). Таким образом, каждая поставка характеризуется номером поставщика (S#), номером детали (P#) и количеством (QTY). Предполагается, что в одно и то же время может быть не более одной поставки для одного поставщика и одной детали.
| S# | SNAME | STATUS | CITY |
| S1 | Smith | 20 | London |
| S2 | Jones | 10 | Paris |
| S3 | Black | 30 | Paris |
| S4 | Clark | 20 | London |
| S5 | Adams | 30 | Athens |
| S# | P# | QTY |
| S1 | P1 | 300 |
| S1 | P2 | 200 |
| S1 | P3 | 400 |
| S1 | P4 | 200 |
| S1 | P5 | 100 |
| S1 | P6 | 100 |
| S2 | P1 | 300 |
| S2 | P2 | 400 |
| S3 | P2 | 200 |
| S4 | P2 | 200 |
| S4 | P4 | 300 |
| S4 | P5 | 400 |
| P# | PNAME | COLOR | WEIGHT | CITY |
| P1 | Nut | Red | 12.0 | London |
| P2 | Bolt | Green | 17.0 | Paris |
| P3 | Screw | Blue | 17.0 | Rome |
| P4 | Screw | Red | 14.0 | London |
| P5 | Cam | Blue | 12.0 | Paris |
| P6 | Cog | Red | 19.0 | London |
Рассмотрим запрос «Выбрать номера поставщиков и названия городов, в которых находятся поставщики детали с номером ‘P2’». Алгебраическая версия этого запроса выглядит приблизительно так:
- Сначала выполнить соединение отношения поставщиков S и отношения поставок SP по атрибуту S#.
- Далее выбрать из результата этого соединения кортежи с номером детали ‘P2’.
- И, наконец, выполнить для результата этой выборки операцию проекции по атрибутам S# и CITY.
Этот же запрос в терминах реляционного исчисления формулируется приблизительно так:
- Получить атрибуты S# и CITY для таких поставщиков, для которых в отношении SP существует запись о поставке с тем же значением атрибута P#, равным ‘P2’.
В этой формулировке пользователь лишь указывает определённые характеристики требуемого результата, оставляя системе решать, что именно и в какой последовательности соединять, проецировать и т.д., чтобы получить необходимый результат.
Итак, можно сказать, что, по крайней мере, внешне формулировка запроса в терминах реляционного исчисления носит описательный характер, а в терминах реляционной алгебры - предписывающий . В реляци
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.