Шаг 20 - Запросы и таблицы

Мы с Вами разбирались как создавать сложные взаимосвязанные таблицы. В результате построения таких таблиц возникает проблема доступа к этим таблицам. Чтобы объединить много таблиц и получить доступ к этим данным Вам приходится писать SQL операторы с использованием JOIN. Длина такого оператора может быть значительна. Так что скажете Вы обращаясь к таблице из Excel или предоставляя к ним доступ из IIS писать все эти операторы ???? Конечно нет, для таких целей удобно использовать запросы. Итак, у нас есть две таблицы классификаторы и одна сводная. Давайте сделаем пример. Делаем его без всяких подстановок. У нас будет три таблицы:

В таблице BASE:

ID_BASE счетчик
NAME    текст

В таблице COMP:

ID_COMP счетчик
NAME	текст

И в таблице ALL:

ID_ALL счетчик
BASE   число
COMP   число

Так вот сводную таблицу делаем без постановки. То есть ручками заполняем числа. Вот как она выглядит в режиме таблицы.

20.gif (1742 b)

Вот в таком виде она у Вас и будет при вызове базы из Excel или IIS или чего-нибудь другого. Это не совсем удобно. Для того, чтобы связать эти таблицы в тех программах, которые будут иметь доступ к таблицам, надо писать такой SQL оператор.

SELECT BASE.NAME, COMP.NAME
FROM COMP INNER 
	JOIN (BASE INNER 
	JOIN [ALL] ON BASE.ID_BASE = [ALL].BASE)
	ON COMP.ID_COMP = [ALL].COMP;

Очень удобно и коротко я Вам скажу :-) Выход есть в создании запросов, но в Access. Там очень удобно графически создавать сам запрос и запрос имеет очень хорошие черты.

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

Запрос вопринимается программным обеспечением как обычная таблица. То есть методы работы теже с запросом, что и таблицей. Посмотрите разделы на сервере посвященные IIS MFC, DAO Excel и Вы увидите, что методы работы с запросом не сильно отличаются от таблицы.

Давайте в следующем шаге создадим запрос на основе этих таблиц.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 3.08.2000