Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_po_kitu.docx
Скачиваний:
26
Добавлен:
14.04.2019
Размер:
110.86 Кб
Скачать

40. Использование множества таблиц в одном запросе.Связывание таблиц.

оператора SELECT, в предложении FROM допускается указание нескольких таблиц. Простое перечисление таблиц практически не используется, поскольку оно соответствует реляционной операции декартова произведения. Т.е. в результирующем наборе каждая запись из одной таблицы будет сочетаться с каждой записью в другой. Например, для таблиц. Поэтому перечисление таблиц, как правило, используется совместно с условием соединения записей из разных таблиц, указываемым в предложении WHERE. Для приведенных выше таблиц таким условием может быть совпадение значений, скажем, в полях a и c: т.е. соединяются только те строки таблиц, у которых в указанных полях находятся равные значения (эквисоединение). Естественно, могут быть использованы любые условия, хотя эквисоединение используется чаще всего, поскольку эта операция воссоздает некую сущность, декомпозированную на две других в результате процедуры нормализации. Если разные таблицы имеют столбцы с одинаковыми именами, то для однозначности требуется использовать точечную нотацию: В тех случаях, когда это не вызывает неоднозначности, использование данной нотации не является обязательным. ногда в предложении FROM требуется указать одну и ту же таблицу несколько раз. В этом случае обязательным является переименование. Предикат определяет условие соединения строк из разных таблиц. При этом INNER JOIN означает, что в результирующий набор попадут только те соединения строк двух таблиц, для которых значение предиката равно TRUE. Как правило, предикат определяет эквисоединение по внешнему и первичному ключам соединяемых таблиц, хотя это не обязательно. Таблицы связываются так, что записи в одной таблице соответствуют связанным записям в другой. При связывании используется поле, общее для обеих таблиц. Crystal Reports использует эту связь для сопоставления записей в одной таблице с записями в другой. Например при активации таблицы «Заказы» и таблицы «Клиенты» таблицы связываются так, чтобы каждый заказ (из таблицы «Заказы») можно было сопоставить с клиентом (из таблицы «Клиенты»), который сделал заказ. Самый простой способ связать таблицы — выбрать параметр «Автоматическое связывание». При автоматическом связывании связи для таблиц выбираются автоматически на основе общих полей в таблицах или индексированных полей .Можно также связывать поля базы данных вручную. При наличии множественных связей можно использовать функцию «Упорядочить связи» для организации связей в том порядке, в котором требуется их обрабатывать. При проектировании реальных БД информацию обычно размещают в нескольких таблицах. При этом обычно данные в таблицах логически связаны. В реляционных СУБД для задания таких связей выполняют операцию их связывания.Связывание таблиц позволяет:

а) средствами СУБД автоматически выполнять контроль целостности вводимых в базу данных;

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]