30. Кои от следните твърдения са верни относно SQL и СУБД? * - Индексите работят чрез създаване на отделна структура от данни, която съдържа копия на индексируемите колони в сортиран ред. При изпълнение на заявка механизмът на базата данни търси в индекса редовете, които отговарят на условията на заявката, и след това извлича реалните данни от таблицата; - Никоя СУБД не може да гарантира спазването на теоремата CAP; - СУБД не поддържат връзки един към много; - СУБД може да работи от името на потребител с права на root; 31. Какво е подзаявка в SQL? * - Вградена функция на езика за автоматична оптимизация на заявки; - Синтактична конструкция, която позволява да се запитват неизвестни данни в рамките на изпълняваща се заявка; - Остаряла функция в някои СУБД; - Възможност за търсене на информация не само в рамките на една таблица, а в цялата съществуваща база данни;
sobes.tech AI
Отговор от AI
-
Верно: Индексы действительно создают отдельную структуру данных (например, B-дерево), содержащую копии индексируемых столбцов в отсортированном виде. При выполнении запроса СУБД сначала ищет нужные записи в индексе, а затем извлекает соответствующие данные из таблицы, что ускоряет поиск.
-
Верно: Ни одна СУБД не может гарантировать соблюдение всех трёх свойств теоремы CAP (Consistency, Availability, Partition tolerance) одновременно. Обычно выбирается компромисс между этими свойствами.
-
Неверно: СУБД поддерживают связи один ко многим через внешние ключи и другие механизмы.
-
Частично верно: СУБД может работать с правами пользователя, обладающего высокими привилегиями (например, root), но это зависит от настроек и контекста использования.
Подзапрос в SQL — это синтаксическая конструкция, позволяющая включать один запрос внутрь другого для получения данных, которые используются в основном запросе. Это не встроенная функция для оптимизации и не устаревшая возможность. Подзапросы позволяют, например, фильтровать данные на основе результатов другого запроса.
Пример подзапроса:
SELECT name FROM employees WHERE department_id = (
SELECT id FROM departments WHERE name = 'Sales'
);