Задача A. Выборка всех полей

Автор:О. Константинов   Ограничение времени:1 сек
Входной файл:test.sql   Ограничение памяти:256 Мб
Выходной файл:test.log  
Максимальный балл:1  

Условие

Схема реляционной БД содержит таблицу SomeTable структура которой неизвестна. Требуется выбрать все поля всех записей данной таблицы.

Решение следует представить в виде текстового файла, содержащего единственный SQL-запрос.

Ограничения

Полагается, что для работы с базой данных используется SQLite3.


Задача B. Выборка двух полей

Автор:О. Константинов   Ограничение времени:1 сек
Входной файл:test.sql   Ограничение памяти:256 Мб
Выходной файл:test.log  
Максимальный балл:1  

Условие

Схема реляционной БД содержит таблицу Clients, в которой хранится список клиентов с полями:

Требуется вывести только ID и фамилию клиента.

Решение следует представить в виде текстового файла, содержащего единственный SQL-запрос.

Ограничения

Полагается, что для работы с базой данных используется SQLite3.


Задача C. Выборка уникальных значений

Автор:О. Константинов   Ограничение времени:1 сек
Входной файл:test.sql   Ограничение памяти:256 Мб
Выходной файл:test.log  
Максимальный балл:1  

Условие

Требуется из таблицы Books со структурой:

вывести список уникальных инициалов авторов.

Решение следует представить в виде текстового файла, содержащего единственный SQL-запрос.

Ограничения

Полагается, что для работы с базой данных используется SQLite3.


Задача D. Создание таблицы с заметками

Автор:О. Константинов   Ограничение времени:1 сек
Входной файл:test.sql   Ограничение памяти:256 Мб
Выходной файл:test.log  
Максимальный балл:1  

Условие

В пустой БД требуется создать таблицу Notes со структурой:

ID: INTEGER;
Note: TEXT;
TimeOfCreation: DATETIME;
ProgressMade: REAL;
Status: TEXT.

Дополнительно, нужно прописать параметры полей:

Решение следует представить в виде текстового файла, содержащего единственный SQL-запрос.

Ограничения

Полагается, что для работы с базой данных используется SQLite3.


Задача E. Удаление тестовой таблицы

Автор:О. Константинов   Ограничение времени:1 сек
Входной файл:test.sql   Ограничение памяти:256 Мб
Выходной файл:test.log  
Максимальный балл:1  

Условие

Необходимо удалить таблицу TestTable из реляционной БД.

Решение следует представить в виде текстового файла, содержащего единственный SQL-запрос.

Ограничения

Полагается, что для работы с базой данных используется SQLite3.


Задача F. Нормализация базы данных 1

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

Условие

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

Вопрос 1

Перед вами представлена схема БД. Укажите номера которые следует заменить множественностью *.

1 2 3 4 5 6 7 8

Вопрос 2

Перед вами представлена БД. Какое поле и в какую таблицу необходимо добавить, чтобы структура БД оказалась верной.

Поле BookTypeID в таблицу Author Поле BookID в таблицу BookType Поле BookTypeID в таблицу Book Поле AuthorID в таблицу BookType

Вопрос 3

Перед вами представлены схемы баз данных для социальной сети, в которой существуют пользователи, у каждого пользователя может быть N фотографий профиля. На какой из схем представлена правильно нормализованная и удовлетворяющая требованиям база данных? Введите номер схемы в качестве ответа.

Формат выходных данных

Для решения данного задания необходимо правильно выбрать варианты ответа, либо ввести номер ответа, если этого требует задание.


Задача G. Нормализация базы данных 2

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

Условие

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

Вопрос 1

Перед вами представлена схема БД. Выберите номер неверно проставленного отношения.

1 2 3 4

Вопрос 2

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

Вопрос 3

Перед вами представлены схемы баз данных для сети автомобильных салонов. Текущая реализация базы данных находится в первой нормальной форме, при этом известно, что скидка на автомобиль, а, следовательно, и его конечная цена, зависит от его Бренда. Что необходимо сделать для того чтобы БД находилась во второй нормальной форме?

Ничего не делать Создать таблицу с полями: Price, Discount, Brand. Создать таблицу с полями: Brand, Discount. Создать таблицу с полями: Model, Discount.

Формат выходных данных

Для решения данного задания необходимо правильно выбрать варианты ответа, либо ввести номер ответа, если этого требует задание.


Задача H. Агрегатные функции

Автор:О. Константинов   Ограничение времени:1 сек
Входной файл:test.sql   Ограничение памяти:256 Мб
Выходной файл:test.log  
Максимальный балл:1  

Условие

База данных представлена одной таблицей Numbers, в которой хранится набор целых чисел Value. Требуется вычислить минимальное и максимальное значения, сумму и количество чисел в таблице, среднее значение среди всех чисел. Ниже представлено детальное DDL-описание таблицы:


TABLE Numbers ( -- хранит список целых чисел
    Value INTEGER NOT NULL -- целое число
                DEFAULT (0)
);

Результатом выполнения запроса должен быть единственный кортеж (MinValue, MaxValue, SumValue, CountValue, AvgValue). Описание полей запроса:

Решение следует представить в виде текстового файла, содержащего единственный SQL-запрос.

Формат входного файла

Пример тестовой БД.

Ограничения

Полагается, что для работы с базой данных используется SQLite3.


Задача I. Количество сотрудников в отделах

Автор:О. Константинов   Ограничение времени:1 сек
Входной файл:test.sql   Ограничение памяти:256 Мб
Выходной файл:test.log  
Максимальный балл:1  

Условие

В базе данных торговой компании хранится список сотрудников Employees и список департаментов Departments. Каждый сотрудник может числиться только в одном департаменте или не числиться ни в одном из них. Также, существуют новые департаменты без сотрудников. Ниже представлено детальное DDL-описание таблиц:


TABLE Employees ( -- хранит список сотрудников
    ID           INTEGER PRIMARY KEY AUTOINCREMENT -- уникальный идентификатор
                         NOT NULL,
    FullName     TEXT    NOT NULL, -- ФИО сотрудника
    Age          INTEGER CHECK (Age >= 0), -- возраст сотрудника
    DepartmentID INTEGER REFERENCES Departments (ID) -- идентификатор департамента
);

TABLE Departments ( -- хранит список департаментов
    ID   INTEGER PRIMARY KEY AUTOINCREMENT -- уникальный идентификатор
                 NOT NULL,
    Name TEXT    NOT NULL -- название департамента
                 UNIQUE
);

Требуется из таблицы Departments выбрать все департаменты и указать какое количество сотрудников числится в каждом из них. Схема БД в UML-нотации:

Результатом выполнения запроса должен быть список кортежей (DepartmentName, TotalPeople). Описание полей запроса:

Решение следует представить в виде текстового файла, содержащего единственный SQL-запрос.

Формат входного файла

Пример тестовой БД.

Ограничения

Полагается, что для работы с базой данных используется SQLite3.


Задача J. Лидеры продаж

Автор:О. Константинов   Ограничение времени:1 сек
Входной файл:test.sql   Ограничение памяти:256 Мб
Выходной файл:test.log  
Максимальный балл:1  

Условие

Для таблицы Sales со структурой:

нужно составить запрос, выводящий 10 наиболее продаваемых наименований товаров.

Решение следует представить в виде текстового файла, содержащего единственный SQL-запрос.

Ограничения

Полагается, что для работы с базой данных используется SQLite3.


Задача K. Опытные сотрудники

Автор:О. Константинов   Ограничение времени:1 сек
Входной файл:test.sql   Ограничение памяти:256 Мб
Выходной файл:test.log  
Максимальный балл:1  

Условие

Требуется из таблицы Employees выбрать ФИО сотрудников мужчин в возрасте от 35 до 70 включительно. Поля таблицы Employees:

Решение следует представить в виде текстового файла, содержащего единственный SQL-запрос.

Ограничения

Полагается, что для работы с базой данных используется SQLite3.


Задача L. Остатки товаров на складе

Автор:О. Константинов   Ограничение времени:1 сек
Входной файл:test.sql   Ограничение памяти:256 Мб
Выходной файл:test.log  
Максимальный балл:1  

Условие

Товарооборот магазина одежды фиксируется в базе данных этой компании. БД хранит список товаров Products, список категорий товаров Categories, список купленных у поставщиков товаров PurchaseItems и список проданных клиентам товаров SalesItems. У товара поле CategoryID может быть NULL, если товар не подходи ни под одну из существующих категорий. Если товар ни разу не закупался и не продавался, то его следует игнорировать. Ниже представлено детальное DDL-описание таблиц:


TABLE Categories ( -- хранит список категорий товаров
    ID   INTEGER NOT NULL -- уникальный идентификатор
                 PRIMARY KEY AUTOINCREMENT,
    Name TEXT    UNIQUE -- наименование категории
                 NOT NULL
);

TABLE Products ( -- хранит список товаров
    ID           INTEGER NOT NULL -- уникальный идентификатор
                         PRIMARY KEY AUTOINCREMENT,
    Title        TEXT    UNIQUE -- название товара
                         NOT NULL,
    CategoryID   INTEGER, -- идентификатор категории
    SellingPrice REAL    CHECK (SellingPrice > 0) -- розничная цена продажи товара
                         NOT NULL,
    FOREIGN KEY (
        CategoryID
    )
    REFERENCES Categories (ID) ON DELETE CASCADE
);

TABLE PurchaseItems ( -- хранит список товаров, купленных у поставщиков
    ID             INTEGER NOT NULL -- уникальный идентификатор
                           PRIMARY KEY AUTOINCREMENT,
    ProductID      INTEGER NOT NULL, -- идентификатор товара
    QuantityBought INTEGER NOT NULL -- количество купленного товара (штук)
                           CHECK (QuantityBought > 0)
                           DEFAULT (1),
    FOREIGN KEY (
        ProductID
    )
    REFERENCES Products (ID) ON DELETE CASCADE
);

TABLE SalesItems ( -- хранит список проданных клиентам товаров
    ID           INTEGER NOT NULL -- уникальный идентификатор
                         PRIMARY KEY AUTOINCREMENT,
    ProductID    INTEGER NOT NULL, -- идентификатор товара
    QuantitySold INTEGER NOT NULL -- количество проданного товара (штук)
                         CHECK (QuantitySold > 0)
                         DEFAULT (1),
    FOREIGN KEY (
        ProductID
    )
    REFERENCES Products (ID) ON DELETE CASCADE
);

Требуется вывести список закончившихся товаров. Схема БД в UML-нотации:

Результатом выполнения запроса должен быть список кортежей (Title, CategoryName, SellingPrice) для товаров с нулевым остатком, отсортированный по убыванию розничных цен продажи. Описание полей запроса:

Решение следует представить в виде текстового файла, содержащего единственный SQL-запрос.

Формат входного файла

Пример тестовой БД.

Ограничения

Полагается, что для работы с базой данных используется SQLite3.


0.343s 0.008s 61