Новые книги

Эта книга посвящена теории колорита в живописи. Но возможна ли вообще такая теория? Чувство цвета едва ли не самое субъективное из человеческих чувств. О чем здесь можно говорить и спорить?

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

Научная теория восприятия цвета существует. Она нужна. Но нужна ли и возможна ли теория колорита, теория живописи и вообще теория искусства — этой «субъективнейшей» области человеческой практики, теория проявлений редкого таланта?

Мне приходилось слышать возражения вроде следующего.

Мы понимаем, что теория машин и механизмов нужна. На основе этой теории можно построить хорошие машины. Но разве возможно на основе теории живописи написать хорошие картины, и в частности на основе теории колорита найти яркие цветовые решения? Это дело таланта. Теория искусства, по мысли подобных скептиков, — бессмысленная затея.

Ответим так. Представление о связи теории и практики у подобных скептиков наивно. Существуют теории языка и теории отдельных языковых форм — фонетика, морфология, синтаксис. Но никому не приходит в голову, что задача теории языка — создавать новые языки. Кстати сказать, — к стыду работников изофронта — существуют теория литературы, поэтика и теория музыки, которые также не создают эталонов для хороших повестей, поэм и симфоний и не ставят себе подобных нелепых задач.

Теория языка нужна для обучения языку, для того, чтобы охранять чистоту и помогать правильному и гибкому использованию его форм, для того чтобы легче усваивать структуру и оттенки чужих языков. Разве теория живописи, и в частности теория колорита, не может помочь решению аналогичных практических задач? Отрицание связи между наукой и художественной практикой противоречит традициям русского передового искусства. К. С. Станиславский, формулируя понятия сценического искусства, выражал сожаление, что психология не дала в руки актеру этих понятий. Он сознавал — в противоположность снобам от искусства — несовершенство своих попыток говорить о законах сцены и упрекал ученых в отсутствии нужной теории 1.

Так говорил еще Станиславский. Что же должны сказать мы, в наши дни?

Исключительное значение проблемы цвета для живописи всегда остро чувствовали передовые советские художники. Вопросы цвета занимали видное место в творческих дискуссиях 20-х и 30-х годов. Они не раз возникали и в послевоенные годы. Однако наибольшую остроту эти вопросы приобретают в наши дни.
Вниманию читателей предлагается справочник по Flash.

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

Справочник создан на основе информации, предоставленной на сайте «Справочник Web-языков» www.spravkaweb.ru.

Дата выхода данной версии справочника: 12:47, 20 марта 2007.

Запросы с использованием нескольких таблиц



Глава 3. Запросы с использованием нескольких таблиц
3.1. О средствах одновременной работы с множеством таблиц

Затрагивая вопросы проектирования баз данных [2], мы выяснили, что базы данных - это множество взаимосвязанных сущностей или отношений (таблиц) в терминологии реляционных СУБД. При проектировании стремятся создавать таблицы, в каждой из которых содержалась бы информация об одном и только об одном типе сущностей. Это облегчает модификацию базы данных и поддержание ее целостности. Но такой подход тяжело усваивается начинающими проектантами, которые пытаются привязать проект к будущим приложениям и так организовать таблицы, чтобы в каждой из них хранилось все необходимое для реализации возможных запросов. Типичен вопрос: как же получить сведения о том, где купить продукты для приготовления того или иного блюда и определить его калорийность и стоимость, если нужные данные "рассыпаны" по семи различным таблицам? Не лучше ли иметь одну большую таблицу, содержащую все сведения базы данных ПАНСИОН ?

Даже при отсутствии средств одновременного доступа ко многим таблицам нежелателен проект, в котором информация о многих типах сущностей перемешана в одной таблице. SQL же обладает великолепным механизмом для одновременной или последовательной обработки данных из нескольких взаимосвязанных таблиц. В нем реализованы возможности "соединять" или "объединять" несколько таблиц и так называемые "вложенные подзапросы". Например, чтобы получить перечень поставщиков продуктов, необходимых для приготовления Сырников, возможен запрос

SELECT	Продукт, Цена, Название, Статус
FROM	Продукты, Состав, Блюда, Поставки, Поставщики
WHERE	Продукты.ПР = Состав.ПР
AND	Состав.БЛ = Блюда.БЛ
AND	Поставки.ПР = Состав.ПР
AND	Поставки.ПС = Поставщики.ПС
AND	Блюдо = 'Сырники'
AND	Цена IS NOT NULL;
ПродуктЦенаНазваниеСтатус
Яйца1.8ПОРТОСкооператив
Яйца2.КОРЮШКАкооператив
Сметана3.6ПОРТОСкооператив
Сметана2.2ОГУРЕЧИКферма
Творог1.ОГУРЕЧИКферма
Мука0.5УРОЖАЙкоопторг
Сахар0.94ТУЛЬСКИЙуниверсам
Сахар1.УРОЖАЙкоопторг

Он получен следующим образом: СУБД последовательно формирует строки декартова произведения таблиц, перечисленных во фразе FROM, проверяет, удовлетворяют ли данные сформированной строки условиям фразы WHERE, и если удовлетворяют, то включает в ответ на запрос те ее поля, которые перечислены во фразе SELECT.

Следует подчеркнуть, что в SELECT и WHERE (во избежание двусмысленности) ссылки на все (*) или отдельные столбцы могут (а иногда и должны) уточняться именем соответствующей таблицы, например, Поставки.ПС, Поставщики.ПС, Меню.*, Состав.БЛ, Блюда.* и т.п.

Очевидно, что с помощью соединения несложно сформировать запрос на обработку данных из нескольких таблиц. Кроме того, в такой запрос можно включить любые части предложения SELECT, рассмотренные в главе 2 (выражения с использованием функций, группирование с отбором указанных групп и упорядочением полученного результата). Следовательно, соединения позволяют обрабатывать множество взаимосвязанных таблиц как единую таблицу, в которой перемешана информация о многих типах сущностей. Поэтому начинающий проектант базы данных может спокойно создавать маленькие нормализованные таблицы, так как он всегда может получить из них любую "большую" таблицу.

Кроме механизма соединений в SQL есть механизм вложенных подзапросов, позволяющий объединить несколько простых запросов в едином предложении SELECT. Иными словами, вложенный подзапрос - это уже знакомый нам подзапрос (с небольшими огра-ничениями), который вложен в WHERE фразу другого вложенного подзапроса или WHERE фразу основного запроса.

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

SELECT	Продукт, Цена, Название, Статус
FROM	Продукты, Состав, Блюда, Поставки, Поставщики
WHERE	Продукты.ПР = Состав.ПР
AND	Состав.БЛ = Блюда.БЛ
AND	Поставки.ПР = Состав.ПР
AND	Поставки.ПС = Поставщики.ПС
AND	Блюдо = 'Сырники'
AND	Цена = (	SELECT	MIN(Цена)
		FROM	Поставки X
		WHERE	X.ПР = Поставки.ПР );

Результат запроса имеет вид

ПродуктЦенаНазваниеСтатус
Яйца1.8ПОРТОСкооператив
Сахар0.94ТУЛЬСКИЙуниверсам
Мука0.5УРОЖАЙкоопторг
Сметана2.2ОГУРЕЧИКферма
Творог1.ОГУРЕЧИКферма

Здесь с помощью подзапроса, размещенного в трех последних строках запроса, описывается процесс определения минимальной цены каждого продукта для Сырников и поиск поставщика, предлагающего этот продукт за такую цену. Механизм реализации подзапросов будет подробно описан в п.3.3. Там же будет рассмотрено, как и для чего вводится псевдоним X для имени таблицы Поставки.

2.5.4 | Содержание | 3.2.1