Задача A. Тест для распределения по группам СУБД

Максимальный балл:121   Ограничение времени:1 сек
  Ограничение памяти:256 Мб

Условие

Ответьте на следующие вопросы.

Вопрос №1

Вам необходимо выбрать поле ResNumber из таблицы Rnum, при этом если значение колонки равно null выдать 0. Каким SQL-запросом из представленных вы воспользуетесь? select case when ResNumber = null then 0 else ResNumber end ResNumber from Rnum select case when ResNumber is null then 0 else ResNumber from Rnum select case when ResNumber is null then 0 else ResNumber end ResNumber from Rnum select if ResNumber = null then 0 else ResNumber from Rnum

Вопрос №2

В реляционной алгебре отношения между сущностями сводятся к трем частным случаям, какой случай из представленных ниже обычно не рассматривается? Один к одному Один к двум Один ко многим Многое ко многим

Вопрос №3

Вы присутствуете на семинаре по анализу данных, на котором докладчик вскользь упоминает некоторые из операций реляционной алгебры. Какой из упомянутых операций точно не существует в реляционной алгебре? Проекция Декартово произведение Транзитивное замыкание Деление Существуют все из вышеперечисленных

Вопрос №4

Вам поручено разработать структуру таблицы для хранения сущности "Сотрудник предприятия" в базе данных для отдела кадров. Что используете в качестве первичного ключа? Номер паспорта, он для всех уникален ФИО, чтобы легче было искать сотрудников Дату приема на работу, отделу кадров нужно ее часто проверять Номер личной карточки сотрудника, не зря же их пронумеровали

Вопрос №5

Требуется создать запрос, который будет из таблицы с ценой товара по фирмам считать среднюю цену оплаченных товаров для каждой фирмы. Таблица sale_goods содержит столбцы:
  • firmid — идентификатор фирмы продавца
  • price — цена товара
  • payed_status — был ли товар оплачен, 1 - оплачен, 0 - не оплачен
Корректным в данном случае будет запрос:
select s.firmid, avg(s.price), s.payed_status from sale_goods as s having s.payed_status>0 order by firmid select s.firmid, avg(s.price), s.payed_status from sale_goods as s where s.payed_status>0 group by firmid select s.firmid, avg(s.price), s.payed_status from sale_goods as s group by firmid having s.payed_status>0 select s.firmid, avg(s.price), s.payed_status from sale_goods as s where s.payed_status>0 order by firmid

Вопрос №6

Оператор INNER JOIN предназначен для соединения таблиц только по тем кортежам, которые присутствуют В левой соединяемой таблице В правой соединяемой таблице В обеих соединяемых таблицах Либо только в левой таблице, либо только в правой таблице

Вопрос №7

При указании списка таблиц в селекторе FROM через запятую происходит операция LEFT OUTER JOIN RIGHT OUTER JOIN INNER JOIN CROSS JOIN NATURAL JOIN

Вопрос №8

Оператор SELECT t.cname, t.* FROM tablename as t выберет из таблицы tablename Все столбцы по одному разу Все столбцы, но в измененном порядке. Первым будет идти столбец cname Все столбцы и дополнительно продублирует столбец cname, поставив его первым Все столбцы кроме столбца cname

Вопрос №9

Для того, чтобы скопировать таблицу source в новую таблицу dest вместе со всеми данными, подойдёт запрос: alter table source rename to dest algorithm=COPY create table dest like source select * into dest from source create table dest like source algorithm=COPY

Вопрос №10

Какая схема подойдёт для наиболее эффективного выполнения запроса SELECT * FROM t WHERE x > 20 AND x < 40 AND y = 3, если считать распределение величин x, y равномерным, а корреляцию между x и y нулевой: CREATE TABLE t (x INT, y INT, KEY(x, y)) CREATE TABLE t (x INT, y INT, KEY(y, x)) CREATE TABLE t (x INT, y INT, KEY(x), KEY(y)) CREATE TABLE t (x INT, y INT, KEY(x), KEY(y)) PARTITION BY HASH (x, y)

Вопрос №11

Какой слой изоляции, в соответствии со стандартом SQL, необходим и достаточен для консиситентного выполнения транзакции:

SET @id = (SELECT MAX(id) + 1 FROM orders); INSERT INTO orders(id, user_id) VALUES (@new_id, @user_id);

где @user_id  — заданный и существующий id из таблицы, на которую ссылается orders.user_id

Read uncommitted Read committed Repeatable read Serializable

0.523s 0.304s 15