Archive for the ‘Задачки’ Category

Вопросы на PL/SQL

Воскресенье, Февраль 12th, 2017

Дан код:

CREATE OR REPLACE FUNCTION gеn_еmаil_name(р_fіrst_nаme IN VARCHAR2,
                                          p_last_nаme    IN VARCHAR2)
  RETURN VARCHAR2 IS
  v_emaіl_namе VARCHAR2(19);
BEGIN
  v_emaіl_namе := substr(р_fіrst_nаme, 1, 1) || substr(p_last_nаme, 1, 7) ||
                  '@Oraclе.com';
  RETURN v_emaіl_namе;
END gеn_еmаil_name;
/

(далее…)

Процент годовых

Воскресенье, Февраль 12th, 2017

Имеется таблица, в которой по счету на дату хранится остаток и ставка процентов годовых. Необходимо написать запрос, который рассчитает проценты за заданный период, данные будут сгруппированы по интервалам дат, когда остаток и ставка были неизменны.
(далее…)

Необходимо удалить дубликаты

Воскресенье, Сентябрь 11th, 2016

Имеется таблица без первичного ключа. Известно, что в таблице имеется за двоение данных. Необходимо удалить дубликаты из таблицы.
(далее…)

Идентичны ли данные в двух таблицах

Воскресенье, Сентябрь 11th, 2016

Необходимо написать запрос, который позволит понять, идентичны ли данные в двух таблицах. Порядок хранения данных в таблицах значения не имеет. Пример данных:
(далее…)

Задание по SQL. Часть 3

Воскресенье, Август 14th, 2016

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

Логическая модель

Логическая модель

(далее…)

Задание по SQL. Часть 2

Суббота, Август 13th, 2016

Написать функцию, добавляющую данные о новой задаче и подключенных к ее решению сотрудниках в соответствующие таблицы БД. Параметрами функции являются: название задачи, даты начала и завершения по плану, описание задачи, код сотрудника, являющегося ответственным за эту задачу, и коды сотрудников, подключенных к ее решению. Последние передаются в виде строки с фиксированным разделителем между кодами различных сотрудников. Задача считается ранее введенной в систему, если существует задача с таким же названием и датой начала. В этом случае функция должна вернуть 1. Если допущены ошибки в параметрах функции, например, сотрудника с таким кодом не существует или параметр даты не преобразуется к корректному формату даты, то функция должна вернуть 2. В случае прочих ошибок, возникших при выполнении функции, вернуть 3. В случае успешного завершения функция должна вернуть 0.

Логическая модель

Логическая модель

(далее…)

Задание по SQL. Часть 1

Суббота, Июль 30th, 2016

Проводятся соревнования по автогонкам из нескольких заездов с неопределенным количеством машин. Результаты содержатся в таблице и измеряются в очках. Имеется описание (цвет, модель, мощность в л.с.) машин (НЕ ВСЕХ), которое находится в отдельной таблице, однако, ВСЕ машины зарегистрированы (их гос. номера).

Вопрос:
Написать запрос: выдать лучший результат, средний результат, среднеквадратичное отклонение результата в каждом заезде, при условии, что до финиша (с очками) доехало не менее 3 машин и их суммарная мощность не меньше 1000 л.с. Если точного значения мощности для конкретной машины не имеется, то берется мощность, равная 334 л.с. У лучших результатов номера машин и их описание, если есть. Упорядочить результаты по возрастанию. Создать индексы для эффективной работы запроса.

Логическая модель

Логическая модель

(далее…)

Моделирование. Шарики.

Воскресенье, Июль 3rd, 2016

В базе данных необходимо хранить информацию о шариках (номер, диаметр, цвет). Номер шарика должен быть уникальным. В качестве первичного ключа использовать номер шарика запрещено. Редактирование номера шарика запрещено. Номер шарика должен формироваться минимальным из незанятых других шариков. Шарики могут быть связанны между собой веревочкой. Между любыми двумя шариками не может быть две веревочки. Шарик НЕ может быть связан сам с собой. Шарики не могут быть связаны, если целая часть от деления суммы номеров шариков на остаток от деления номеров кратно 3.

Логическая модель

Логическая модель

(далее…)

Моделирование. Клиент, заказ и товар

Суббота, Июнь 18th, 2016
Логическая модель

Логическая модель

Что, в этой модели, не так?

(далее…)

Дублирующиеся записи

Воскресенье, Июнь 5th, 2016

При выполнении задачи – с мигрировать данные по адресам для контрактов, необходимо произвести проверку на наличие дублированных записей. Известно, что у одного контракта может быть только один адрес.
(далее…)