30. Quais das seguintes afirmações são verdadeiras em relação ao SQL e aos SGBD? * - Os índices funcionam criando uma estrutura de dados separada que contém cópias das colunas indexadas em ordem ordenada. Quando uma consulta é executada, o mecanismo do banco de dados procura no índice as linhas que correspondem às condições da consulta e depois extrai os dados reais da tabela; - Nenhum SGBD pode garantir o cumprimento do teorema CAP; - Os SGBD não suportam relações um para muitos; - Um SGBD pode operar em nome do usuário com privilégios de root; 31. O que é uma subconsulta em SQL? * - Uma função embutida na linguagem para otimização automática de consultas; - Uma construção sintática que permite consultar dados desconhecidos dentro de uma consulta em execução; - Uma função obsoleta em alguns SGBD; - A capacidade de procurar informações não apenas dentro de uma tabela, mas em toda a base de dados existente;
sobes.tech IA
Resposta da IA
-
Верно: Индексы действительно создают отдельную структуру данных (например, B-дерево), содержащую копии индексируемых столбцов в отсортированном виде. При выполнении запроса СУБД сначала ищет нужные записи в индексе, а затем извлекает соответствующие данные из таблицы, что ускоряет поиск.
-
Верно: Ни одна СУБД не может гарантировать соблюдение всех трёх свойств теоремы CAP (Consistency, Availability, Partition tolerance) одновременно. Обычно выбирается компромисс между этими свойствами.
-
Неверно: СУБД поддерживают связи один ко многим через внешние ключи и другие механизмы.
-
Частично верно: СУБД может работать с правами пользователя, обладающего высокими привилегиями (например, root), но это зависит от настроек и контекста использования.
Подзапрос в SQL — это синтаксическая конструкция, позволяющая включать один запрос внутрь другого для получения данных, которые используются в основном запросе. Это не встроенная функция для оптимизации и не устаревшая возможность. Подзапросы позволяют, например, фильтровать данные на основе результатов другого запроса.
Пример подзапроса:
SELECT name FROM employees WHERE department_id = (
SELECT id FROM departments WHERE name = 'Sales'
);