10.1. Используя базу данных поставщиков, деталей и изделий, напишите программу с предложениями встроенного SQL, которая бы печатала все записи поставщиков в порядке номеров поставщиков. За каждой записью поставщика в листинге должны непосредственно следовать в порядке номеров изделий все записи изделий, для которых поставляет детали данный поставщик.
10.2. Почему Вы считаете, что необходима фраза FOR UPDATE?
10.3. Модифицируйте Ваше решение упражнения 10.1 с тем, чтобы дополнительно сделать следующее: а) повысить на 50 процентов состояние каждого поставщика, который поставляет детали более чем для двух изделий; б) удалить всех тех поставщиков, которые не поставляют деталей вообще ни для какого изделия.
10.4. (Более трудное). Пусть заданы таблицы
CREATE TABLE ДЕТАЛИ
(НОМЕР_ДЕТАЛИ... NOT NULL,
ОПИСАНИЕ...);
CREATE TABLE СТРУКТУРА_ДЕТАЛЕЙ
(НОМЕР_ОСНОВНОЙ_ДЕТАЛИ... NOT NULL,
НОМЕР_СОСТАВЛЯЮЩЕЙ_ДЕТАЛИ... NOT NULL,
КОЛИЧЕСТВО...);
где СТРУКТУРА_ДЕТАЛЕЙ показывает, какие детали (НОМЕР_ОСНОВНОЙ_ДЕТАЛИ) содержат другие детали (НОМЕР_СОСТАВЛЯЮЩЕЙ_ДЕТАЛИ) как компоненты первого уровня. Напишите программу с использованием SQL, которая бы печатала все составляющие детали данной детали на всех уровнях (задача «разузлования»).
Примечание. Следующий пример может помочь Вам наглядно представить себя эту задачу:
НОМЕР_ОСНОВ НОЙ_ДЕТАЛИ | НОМЕР_СОСТАВЛЯЮЩЕЙ_ДЕТАЛИ | КОЛИЧЕСТВО |
P1 P1 Р5 РЗ Р6 Р5 P2 | Р2 P4 РЗ Р6 Р1 Р6 P4 |