УПРАЖНЕНИЯ
8.1. Определите отношение SP из базы данных поставщиков и деталей как представление отношения SPJ из базы данных поставщиков, деталей и изделий.
8.2. Создайте для базы данных поставщиков, деталей и изделий представление. состоящее из всех изделий (включающее только поля номера изделия и города), которые поставляются поставщиком S1 и используют деталь Р1.
8.3. Является ли Ваше решение упражнения 8 2 обновляемым представлением?
а) Если да, то можно ли для него специфицировать вариант CHECKS
б) Если нет, найдите обновляемую версию представления и повторите это упражнение.
8.4. Создайте представление, состоящее из номеров поставщиков и номеров деталей, для таких поставщиков и деталей, которые не «соразмещены».
8.5. Создайте представление, состоящее из записей поставщиков, только для тех поставщиков, которые находятся в Лондоне
8.6. При условии, что задано определение представления:
CREATE VIEW СВОДКА (НОМЕР_ПОСТАВЩИКА, НОМЕР_ДЕТАЛИ,
МАКС_КОЛИЧЕСТВО, МИН_КОЛИЧЕСТВО,
СРЕДНЕЕ_КОЛИЧЕСТВО)
AS SELECT НОМЕР_ПОСТАВЩИКА, НОМЕР_ДЕТАЛИ, MAX
(КОЛИЧЕСТВО), MIN (КОЛИЧЕСТВО),
AVG (КОЛИЧЕСТВО)
FROM SPJ
GROUP BY НОМЕР_ПОСТАВЩИКА, НОМЕР_ДЕТАЛИ
HAVING SUM (КОЛИЧЕСТВО) > 50;
установите, какие из следующих операций корректныи приведите для них полученный в результате трансляции эквивалент.
а) SELECT *
FROM СВОДКА;
б) SELECT *
FROM СВОДКА
WHERE НОМЕР_ПОСТАВЩИКА Ø= ‘S1';
в) SELECT
FROM СВОДКА
WHERE МАКС_КОЛИЧЕСТВО > 250;
г) SELECT МАКС_КОЛИЧЕСТВО - МИН_КОЛИЧЕСТВО,
НОМЕР_ПОСТАВЩИКА, НОМЕР_ДЕТАЛИ
FROM СВОДКА
WHERE НОМЕР_ПОСТАВЩИКА ='S1'
AND НОМЕР_ДЕТАЛИ = 'Р1';
д) SELECT НОМЕР_ПОСТАВЩИКА
FROM СВОДКА
GROUP BY НОМЕР_ПОСТАВЩИКА;
e) SELECT НОМЕР_ПОСТАВЩИКА, МАКС_КОЛИЧЕСТВО
FROM СВОДКА
GROUP BY НОМЕР_ПОСТАВЩИКА, МАКС_КОЛИЧЕСТВО;
ж) SELECT S.НОМЕР_ПОСТАВЩИКА, СВОДКА. СРЕДНЕЕ_КОЛИЧЕСТВО
FROM S,CBOДKA
WHERE S.HOMEP_ПОСТАВЩИКА = СВОДКА. НОМЕР_ПОСТАВЩИКА;
з) UPDATE СВОДКА
SET НОМЕР_ПОСТАВЩИКА = 'S2'
WHERE НОМЕР_ПОСТАВЩИКА = ‘S1';
и) UPDATE СВОДКА
SET МАКС_КОЛИЧЕСТВО = 1000
WHERE НОМЕР_ПОСТАВЩИКА = 'S1';
к)DELETE
FROM СВОДКА
WHERE НОМЕР_ПОСТАВЩИКА = 'S1';
8.7. Сформулируйте правила, касающиеся обновляемости представлений в системе DB2.
8.8. Сформулируйте правила, касающиеся спецификации CHECK.
8.9. Предположим, что база данных реструктуризуется таким образом, что таблицы А и В заменяются их естественным соединением С. В какой степени механизм представлений может скрыть эту реструктуризацию от существующих пользователей?