🗄️ SQL и базы данных  ·  20 вопросов  ·  ~38 мин  ·  ⏱ Таймер 38:00  ·  Средний  · 

Представления и материализованные представления

Вопросы проверяют, что именно хранит VIEW, когда результат пересчитывается, почему материализованное представление устаревает до REFRESH, какие простые представления могут обновляться, как WITH CHECK OPTION удерживает строки в видимой области и где представление помогает выдавать ограниченный набор столбцов, но не отменяет продуманную модель прав.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выбери один ответ из четырёх. В тесте 20 вопросов и 38 минут. После завершения откроются общий процент, четыре тематические шкалы, правильные ответы и разбор каждого задания.
Вопрос 1 из 20
Что хранит обычное VIEW?
SQL
CREATE VIEW active_users AS
SELECT id, name FROM users WHERE active;
Вопрос 2 из 20
Увидит ли VIEW новую строку базовой таблицы при следующем SELECT, если она подходит условию?
Вопрос 3 из 20
Можно ли передать параметр обычному VIEW как функции?
SQL
CREATE VIEW recent_orders AS
SELECT * FROM orders WHERE created_at >= current_date - 30;
Вопрос 4 из 20
Гарантирует ли SELECT из VIEW порядок, если внешний запрос не содержит ORDER BY?
Вопрос 5 из 20
Почему при создании публичного VIEW опасно выбирать все текущие столбцы users через SELECT *?
SQL
CREATE VIEW public_users AS SELECT * FROM users;
Вопрос 6 из 20
Что хранит материализованное представление?
SQL
CREATE MATERIALIZED VIEW monthly_sales AS
SELECT date_trunc('month', created_at) m, SUM(amount) total
FROM orders GROUP BY 1;
Вопрос 7 из 20
Увидит ли materialized view только что добавленный заказ до REFRESH?
SQL
INSERT INTO orders(id, status) VALUES (501, 'paid');
SELECT * FROM monthly_sales; -- materialized view
Вопрос 8 из 20
Что делает REFRESH MATERIALIZED VIEW?
SQL
REFRESH MATERIALIZED VIEW monthly_sales;
Вопрос 9 из 20
Зачем может понадобиться REFRESH ... CONCURRENTLY?
Вопрос 10 из 20
Почему для CONCURRENTLY нужен подходящий уникальный индекс PostgreSQL?
Вопрос 11 из 20
Какое VIEW вероятнее всего автоматически обновляемо в PostgreSQL?
Вопрос 12 из 20
Почему UPDATE агрегированного VIEW неоднозначен?
SQL
CREATE VIEW dept_totals AS
SELECT department_id, SUM(salary) total
FROM employees GROUP BY department_id;
Вопрос 13 из 20
Что делает WITH CHECK OPTION у фильтрующего VIEW?
SQL
CREATE VIEW active_users AS
SELECT * FROM users WHERE active
WITH CHECK OPTION;
Вопрос 14 из 20
Можно ли удалить строку через простое обновляемое VIEW?
Вопрос 15 из 20
Для чего нужен INSTEAD OF trigger на сложном VIEW?
Вопрос 16 из 20
Как VIEW может ограничить раскрываемые столбцы?
SQL
CREATE VIEW support_customers AS
SELECT id, name, status FROM customers;
GRANT SELECT ON support_customers TO support_role;
Вопрос 17 из 20
Достаточно ли просто создать VIEW для безопасности?
Вопрос 18 из 20
Почему функция с побочными эффектами внутри VIEW требует особой осторожности?
Вопрос 19 из 20
Как проверить, что роль не может увидеть salary через базовую таблицу?
Вопрос 20 из 20
Для чего материализованный отчёт с ограниченными правами всё равно требует контроля свежести?

Ответьте на все 20 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу