Sobes.tech
Intern

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'
);