Tuesday, December 14, 2010

Курсы Programming T-SQL

Всю прошлую неделю был на курсах: SQL Server Transact-SQL® Programming: Hands-On, которые проводит компания LearningTree. Курсы жутко дорогие (за свои деньги я бы, наверное, не пошел), но довольно интересные и полезные. Четыре дня нам рассказывали о фичах T-SQL, иногда отвлекаясь на стандарт ANSI. Барри - наш преподаватель, оказался довольно толковым мужиком. Что мне понравилось, в LearningTree никто не занимается преподаванием на постоянной основе. Все учителя – контрактники, которые работая «на производстве», раз в два месяца делятся своим опытом с такими как мы. В частности, у Барри своя консалтинговая фирма в Бирмингеме, которая серьезно занимается базами данных.
Если первые два дня все было довольно просто и скучно, то к концу последнего у меня начало выносить мозг. Что нового я узнал:
  1. Оказывается, в SQL появилась SHEMA, и в версии начиная с 2005-й, dbo это не имя пользователя, а имя схемы.
  2. В SQL 2008, есть новые типы данных: date, time, datetime2, geometry, geography, HierarchyID и filestream. Особенную пользу я вижу в date (забодался вручную отсекать время от datetime) и filestream – гибридное решение хранения двоичных данных.
  3. Узнал что такое PIVOT / UNPIVOT. Иногда может оказаться очень полезным.
  4. MERGE. Я не совсем понял, зачем он нужен, но все-же. :)
  5. Не знал про Dynamic SQL и EXEC
  6. Не знал про обработку исключений.
  7. Имел лишь смутное представление о курсорах.
  8. Не знал о переменной типа Table
  9. Не знал о временных таблицах
  10. Научился писать функции, в том числе Inline Table-Valued functions и Multistatement Table-Values Functions
  11. Узнал о таких замечательных командах как SELECT INTO и BULK INSERT
  12. Понял, как анализировать базу на правильность индексов, и как пользоваться SQL профайлером.
Ну и так далее. Прочел список и ужаснулся, сколько всего, оказывается, я не знал. Зато теперь знаю :), теперь надо постоянно использовать в каждодневной работе, иначе снова забуду.
Во время курсов мы делали кучу лабораторок, а в конце желающие (я в том числе) написали тест. Т.к. в голове была каша от обилия информации, в некоторых ответах я не уверен. Обещали прислать результат по почте. Если в целом, то я доволен - время потрачено не зря.
Кстати, на курсах встретился с молодой, подающей надежды, бакинкой, работающей на азербайджанское отделение BP. Ее отправили в Лондон из Баку на эти и еще на несколько других курсов. Образованная, милая девочка с чистейшим русским и английскими языками. Она кстати некоторое время работала в ОИЯИ в Дубне, выяснилось, что знает Ососкова, но в живую не общалась :) Так что вот так.

No comments: