На этом этапе проверяется ваша способность мыслить не стандартно. А суть вот в чем.
Прошу предоставить после решения основных заданий решение с возможностью масштабирования по количеству металлов. Необходимо внести изменения во все необходимые объекты из заданий таким образом, чтобы система легко вместо четырех металлов (Ni, Cu, Pt, Pd), еще держала пару сотен металлов сверху. Тестирования этого предоставлять не нужно, для себя только убедитесь, что решение рабочее. Хочется увидеть именно мысль решения. Но скрипты для необходимых изменений предоставьте.
Ещё...
Заключительным этапом прохождения квалификационного отбора необходимо создать хранимую процедуру.
Входные параметры :
- период бурения (даты от-до),
- код месторождения
Выход :
Кол-во проб по элементам в каждом классе содержания за выбранный период бурения по месторождению (пустые классы не выводить, использовать связь со справочником классов). Выходной результат должен быть пронумерован, классы отсортированы по возрастанию. Результат процедуры выводится только на экран в SQL Server Management Studio, сохранять в какую-либо таблицу НЕ НАДО! Без использования временных таблиц!
Пример выходных данных.
Номер по порядку Класс Кол-во проб Ni Кол-во проб Cu Кол-во проб Pt Кол-во проб Pd
1 0.00005-0.001 3 4 8 0
2 0.005-0.01 3 0 8 0
3 0.5-1 0 0 8 0
4 1-10 0 0 1 1
(предоставить скрипт создания процедуры, пример использования : входные данные , результат)
Ещё...
Это третье задание из 6 предложенных ранее для тестирования знаний по Miccosoft SQL Server. Кажется, что оно самое простое. Но от его решения будет зависеть в дальнейшем решение SP процедуры
Таблица должна содержать следующие классы содержаний (min – max, формат хранения данных выбираете самостоятельно ):
- 0.00005-0.001
- 0.001-0.005
- 0.005 – 0.01
- 0.01 -0.5
- 0.5- 1
- 1-10
- 10-50
- 50-100
(предоставить скрипт создания таблицы и заполнения)
Ещё...
Если Вы разобрались с 1 заданием, то в этом задании тоже будет создавать таблица, но с некоторыми другим параметрами. В решение пропущено часть кода и доработать код вы должные его сами. Это сделано для того, чтобы вы научились программировать, а не просто читать sql код
Создаем таблицу Описания скважин. Список полей для данной таблицы
- Код скважины (уникальное текстовое, до 20 символов)
- Код месторождения (связать со справочником месторождений)
- Дата начала бурения скважины ( не ранее 1950 и не позднее текущего года, по умолчанию: текущая дата)
- Дата окончания бурения скважины ( не ранее 1950 и не позднее текущего года)
- Глубина скважины фактическая (положительное число до двух знаков после запятой, не более 2000 метров)
Примечание. Формат поля Кода скважины: ББ-0000бббб (необязательные: 2 заглавных русских буквы и тире, обязательные: 4 цифры, далее любые строчные буквы и цифры). Например: ОМ-0023бис, 0023, 0023бис, М-0023клин1
Алгоритм проверки кода реализовать в отдельной функции. В триггере при вводе и редактировании проверять формат скважины, если не подходит, то по возможности корректировать. Например: 8 -> 0008, 80бис -> 0080бис, с-80->С-0080,СС80->СС-0080, С80->С-0080.
В остальных случаях – сообщение об ошибке, операцию отменять (предоставить скрипт создания таблицы, триггера) Заполнить таблицу произвольными данными (предоставить скрипт с командами ввода данных)
Ещё...
Примеры, начинающиеся со слова Задание, пригодятся вам для проверки знаний на основе Microsoft SQL Server. Это нужно, например, для прохождения тестов на вакансию, связанную с программированием T-SQL Server. Срок выполнения таких задач не может быть более 1-2 дней. Иначе интерес к вам как специалисту будет потерян.
Вам предлагается создать таблицу справочник месторождений.
- Код месторождения (целый числовой)
- Широта (десятичные градусы, -pi/2 >= широта <= pi/2)
- Долгота (десятичные градусы, 0 >= долгота <= 2*pi)
- Зона (целый числовой, вычисляемые поле, Зона = div(Долгота/6) + 1)
- Наименование месторождения (уникальное текстовое, до 50 знаков)
- Система координат (Талнахская, Норильская; необязательное поле, предусмотреть возможность добавление новых систем координат)
- Дата ввода \ обновления
- Компьютер пользователя, выполнившего операцию
Примечание. Последние 2 поля должны обновляться в триггере с использованием системных функций (предоставить скрипт создания таблицы, триггера). Заполнить таблицу данными (предоставить скрипт с командами ввода данных)
Ещё...
Не будем засорять этот раздел разными простыми задачами, нам нужны необычные идеи. Вот, например, такая задача. Она встречается в банках, где стек разработки на SQL достигает 90%. На разработку дается максимум 24 часа (т.е. есть время и другими делами позаниматься). Мне удалось ее решить вечером часа за 3, успев сделать и некоторые домашние дела.
Но это не все, задача не имеет типового решения, всегда есть еще и другие способы. Подумайте над этим. Даю описание.
Задача - написать запрос, выводящий средний остаток из таблицы на заданный период. Для проверки результата вывести средний остаток с 9 янв по 17 янв. Примечание. В банке, в части экономии ресурсов SQL сервера, остатки по счету хранятся не на каждый день, а дифференцировано, когда были проводки. С другой стороны клиенту банка надо знать, какая сумма у него на счете за ЛЮБОЙ день. Исходные данные даны в таблице tblFactAmount ниже.
create table tblFactAmount (fAmount float, dtValueChange date)
;
insert into tblFactAmount (fAmount, dtValueChange)
values
(3, '20210101'),
(5, '20210110'),
(1, '20210114'),
(10,'20210116'),
(2, '20210117')
Вот мое решение. Оформил его в виде SP процедуры. Прежде, чем читать решение, подумайте 5 минут. Это намного интереснее. Вдруг ваше решение окажется лучше ...
Ещё...