Собственно, как следует из названия, вариант задания для слушателей, изучающих курсы по администрированию и/или разработке SQL Server 2008. Предлагаемый вариант задания может быть дан в упрощенном виде (совсем легкая базовая часть) или в более сложном варианте.
Подготавливая задание, я предложил использовать реальные данные, полученные в процессе торговли финансовыми инструментами. Скачать архив можно по адресу:
https://mctrewards.ru/files/kotirovki.rar (300 МЕГАБАЙТ !!!).
Большой объем данных (но, не сверх большой!) позволяет приблизить поставленную учебную задачу к варианту, с которым слушатель мог столкнуться в реальной производственной среде, использующий SQL Server 2008. Замечу, что вопросы оптимальной обработки информации имеют важное значение, но почувствовать сложности и выигрыши (или недостатки) от использования тех или иных решений можно в том случае, когда таблицы базы данных (БД) включают в себя значительно больше, чем 10 строк, а таких таблиц больше 10. Что, собственно говоря, и есть в предлагаемой задаче. Такова вводная часть, а теперь собственно формулировка задачи, которая может быть выдана как задание на курсовую или зачетную работу.
Задание
Необходимо создать БД с именем kotirovki. БД включает в себя таблицы с информацией минутных котировок по финансовым инструментам. Каждая таблица – свой финансовый инструмент или, иначе говоря, своя валютная пара. Имя таблицы соответствует имени валютной пары. Например, таблица EURCAD содержит данные, загруженные из файла EURUSD1.csv. БД и таблицы могут создаваться или с использованием скриптов T-SQL или, вариант более желательный для специализации Разработчик, из приложения (программы), которая подключается к SQL серверу.
1. Создать БД, создать таблицы в БД. Учесть, что может возникнуть необходимость добавления новых таблиц в БД, соответствующим именам новых торговых инструментов. Предусмотреть эту возможность. То есть, должен быть учтен и такой вариант, когда БД уже есть и таблицы в ней есть, но надо добавить новую таблицу и данные в нее.
Структура полей данных. Данные берутся из файла, имеющего следующую структуру:
2001.01.03,00:01,0.9507,0.9507,0.9507,0.9507,1
2001.01.03,00:02,0.9506,0.9506,0.9505,0.9505,2
Поля разделены запятой. Первое поле с именем god – информация о дате (2001.01.03), второе поле t – информация о времени 00:01, третье поле otkr – значение открытия периода, четвертое kmax – максимальное значение за период, пятое kmin – минимальное за период, шестое zakr – значения закрытия, седьмое ob – объем.
Типы значений полей необходимо определить самостоятельно с учетом структуры данных.
2. Необходимо разработать инструментарий (в простейшем варианте T-SQL скрипт), позволяющий пользователю просматривать (в простейшем варианте отбирать и записывать в файл) данные за определенное время. Например, с 1 сентября 15.45 2011 г. до 12.01 2-го января 2012.
3. Учесть, что данные будут добавляться в существующие таблицы. Например, был получен файл, содержащих данные по результатам торгов финансовым инструментом. Необходимо добавить содержимое этого файла в соответствующую таблицу БД. Проанализировать, как поступать в той ситуации, когда данные по времени оказываются продублированы. Учтите, что каждой минуте может соответствовать только одна запись, но не более. Какое поле следует делать ключевым или…?
4. Дополнительный пункт, если необходимо разработать приложение. Форму представления информации по запросу пользователя в клиенте оформить в соответствии с образцом:
* * *
На этом вариант задания закончен. При желании можно добавить дополнительные пункты или расширить и конкретизировать существующие. Например, клиент разрабатывается на конкретном языке программирования и с использованием той или иной среды разработки, например, Delphi, Visual Studio 2010 и т.д.
Завершаю пост, как обычно, полезной ссылкой, пригодится она тем людям, кто ведет свой бизнес в сети Интернет и кому необходима для этих целей качественная массовая рассылка. Массовая рассылка позволяет охватывать огромную аудиторию, поэтому достаточно эффективна, но при условии соблюдения нюансов, о которых рассказано в рекомендуемой статье.