Реферат: Реляционное исчисление
Содержание.
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.
Этот же запрос в терминах реляционного исчисления формулируется приблизительно так:
--> ЧИТАТЬ ПОЛНОСТЬЮ <--