Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Новости сайта "Упражнения по SQL" (http://www.sql-ex.ru)


Информационный Канал Subscribe.Ru

Новости сайта "Упражнения по SQL (http://www.sql-ex.ru)" Выпуск 48 (13 августа 2005 г.)

http://www.sql-ex.ru

Новым посетителям сайта

Сайт посвящен изучению языка, с помощью которого осуществляется взаимодействие с реляционными (и не только) СУБД. Суть обучения состоит в выполнении заданий на написание запросов к учебным базам данных; при этом система контролирует правильность выполнения заданий. В настоящее время реализованы все операторы подъязыка манипуляции данными (DML), которые включают в себя оператор извлечения данных SELECT, а также операторы модификации данных - INSERT, DELETE и UPDATE.

Мы надеемся, что справочного материала сайта окажется достаточно для самостоятельного обучения. Кроме того, свои решения вы можете обсудить на форуме сайта. Опытных же специалистов приглашаем проверить (продемонстрировать) свое мастерство и принять участие в соревновании, обеспечиваемом рейтинговой системой учета времени выполнения заданий. Фактически, рейтинг ведется на втором этапе тестирования, который начинается сейчас после решения 59-ти задач первого этапа. При подсчете рейтинга каждого участника отбрасывается один самый худший показатель среди всех решенных им упражнений.

Имеется возможность получить сертификат по SQL DML при выполнении определенного количества заданий.


Новости сайта

§ Теперь при повторном решении задачи второго этапа (SELECT) система будет спрашивать о необходимости перезаписи, выводя оценочную стоимость обоих запросов. Ранее каждое следующее правильное решение переписывало предыдущее (при сохранении самого первого). Изменение сделано для того, чтобы случайно не потерять более эффективное решение, например, при проверке чужих решений с форума, в предверии рейтинга по эффективности.

§ По многочисленным просьбам начали менять картинки схем учебных баз данных. Теперь на них появился размер поля и ограничение NULL/NOT NULL.

§ На странице плана выполнения запроса появились знакомые кнопочки для очистки поля ввода и расширения его на весь экран.

§ Добавлена страница с вариантами кнопочек для тех, кто захочет поставить ссылку на наш сайт.

§ Число подписчиков - 2324

Число участников рейтинга - 3782

Число участников второго этапа - 350

Лучшие результаты (ТОР 20)

No Person Number of
Sel_ex
Last_Sel Number of
DML_ex
Scores Days Days_2 LastSolved LastVisit
1 Духин А. (Shark) 137 137 20 312 30 2.635 10 Aug 2005 12 Aug 2005
2 Зверев Д.Л. (dimzv) 137 137 20 312 643 2.900 08 Aug 2005 12 Aug 2005
3 Кувалкин К.С. (Cyrilus) 137 112 20 312 224 5.129 06 Jul 2005 27 Jul 2005
4 Гонтовой В.А. (noname) 137 112 20 312 105 9.808 29 Jun 2005 11 Aug 2005
5 Леденев С.А. (Shurgenz) 137 112 20 312 313 9.900 27 Jun 2005 07 Aug 2005
6 Бураков С.Г. (burakov58) 137 137 20 312 164 12.100 12 Jul 2005 31 Jul 2005
7 Валуев Д.И. (Fiolent) 137 112 20 312 662 26.627 27 Jun 2005 12 Aug 2005
8 Галиаскаров Э.Г. (Galogen) 137 112 20 312 221 61.437 01 Jul 2005 01 Jul 2005
9 Мельникова И.А. (Iris_m) 135 137 20 308 380 89.865 27 May 2005 12 Aug 2005
10 Колосов А.С. (KAS) 134 137 20 306 25 3.398 11 Mar 2005 14 Jun 2005
11 Сныткин В.Л. (Ded I) 134 136 20 304 252 7.456 12 May 2005 12 Aug 2005
12 Рахманов И.Е. (bloom) 134 136 20 304 148 14.171 11 May 2005 15 Jun 2005
13 Hakobyan H.H. (hamlet) 134 136 20 304 220 37.869 07 May 2005 03 Jun 2005
14 Шипунов И. (IAS) 134 136 20 304 334 82.080 13 May 2005 26 May 2005
15 Иткин И.Л. (joseph_itkin) 132 136 20 299 375 2.849 07 Mar 2005 13 Apr 2005
16 >Носков Н.В. (niko2) 129 129 20 296 37 5.700 12 Aug 2005 12 Aug 2005
17 Spirin (spirin) 131 136 19 296 158 13.461 21 Jan 2005 24 Jan 2005
18 Михайлов В.Г. (mslava) 132 136 17 293 648 10.504 25 Mar 2005 25 Mar 2005
19 Gershovich (VIG) 128 128 20 293 850 13.073 09 Jul 2005 12 Aug 2005
20 Пятница О.А. (Robin) 125 128 20 287 754 74.630 19 Mar 2005 14 Jul 2005

Лучшие результаты за неделю

No surname n_sel sel_all sel_scores dml_scores scores rating last_visit
1 >fayman S. (null4isr) 61 61 109 9 118 281 12 Aug 2005
2 >Волгин В.Ф. (ZDomen) 59 59 107 9 116 292 12 Aug 2005
3 D V.K. (scamp) 50 50 83 23 106 386 12 Aug 2005
4 >Вишняков А.В. (AlexVishn) 43 59 88 13 101 248 12 Aug 2005
5 >Сологубова А.М. (Анна) 43 97 92 8 100 88 12 Aug 2005
6 Lee (D_N_S) 43 46 72 0 72 599 09 Aug 2005
7 >Zhumabaev B.T. (Bulat) 39 40 71 0 71 706 12 Aug 2005
8 >Ruchev A. (ruchey) 32 47 64 3 67 567 12 Aug 2005
9 Ковальчук А.В. (sql-tester) 34 34 59 5 64 797 11 Aug 2005
10 >Харланов С.В. (harley80) 25 49 44 17 61 451 12 Aug 2005
11 Гладков Д.А. (carbon) 25 58 52 8 60 311 12 Aug 2005
12 >Леонов А.А. (evrei) 34 34 59 0 59 891 12 Aug 2005
13 >Mikadze D. (saturn) 26 35 48 6 54 761 12 Aug 2005
14 Банкет В.В. (Viacheslav) 15 52 38 14 52 430 12 Aug 2005
15 Капустина М. (muly) 31 31 51 0 51 1008 11 Aug 2005
16 >Кучаков А.А. (nibbles01) 20 117 49 0 49 30 12 Aug 2005
17 Бойко (BSE) 28 28 49 0 49 1049 11 Aug 2005
18 >Моисеенко Д.П. (Gadgetfan) 24 24 49 0 49 1055 12 Aug 2005
19 >Goldberg V.G. (Akula) 30 30 47 0 47 1094 12 Aug 2005
20 roman (roman1) 27 27 47 0 47 1097 12 Aug 2005
21 >Karchevski E.S. (dodik) 34 34 45 1 46 1114 12 Aug 2005
22 >Павлов А.В. (Антон) 30 30 45 0 45 1134 12 Aug 2005
23 Ананьина Е.В. (elena_val) 28 28 37 5 42 1181 11 Aug 2005
24 >Verulava (Lasha) 24 24 37 0 37 1301 12 Aug 2005
25 Заяц (kBolik) 24 24 37 0 37 1313 10 Aug 2005
26 korolev A. (Molodecz) 21 44 36 0 36 727 12 Aug 2005
27 >Бессонов М.Е. (mbessonov) 22 22 32 3 35 1361 12 Aug 2005
28 Напорова С.М. (SN) 11 59 25 9 34 291 12 Aug 2005
29 Козлов А.В. (Alex73) 21 21 30 3 33 1450 11 Aug 2005
30 >Kim P. (Neotstoy) 26 26 33 0 33 1451 12 Aug 2005
31 UNUULU B. (bako) 11 35 22 10 32 871 12 Aug 2005
32 >Гребер А. (alexandra) 20 20 27 3 30 1553 12 Aug 2005

Изучаем SQL

Худшие методы - Часть 1 очень длинной серии!

Andy Warren (оригинал: Worst Practices - Part 1 of a Very Long Series!)
Перевод Моисеенко С.И.

В нашей работе мы тратим много времени на разговоры о "Лучших методах" - способах сделать что-то, что в течение долгого времени, оказывается самым эффективным (или точным, или каким-либо еще). Есть пара проблем, связанных с Лучшими методами. Первая - это то, что нет никакой "книги" о них; они разбросаны по сотням книг и веб сайтов, и часто вам нужно лишь одно предложение из всей этой информации. Другая проблема заключается в том, что оценка того, что считать Лучшим методом, не вполне ясна, т.к. это зависит от вашего отношения к решению проблемы, вашего опыта и вашей ситуации. Наконец, иногда Лучшие методы (давайте использовать сокращение ЛМ) могут быть западней, мешающей вам искать подходы, которые бросают вызов ЛМ, но могли бы стать идеальным решением вашей проблемы.

Еще интересно?

На наших дискуссионных форумах и в электронной почте, которую я получаю, встречается много вопросов о том, как сделать то или иное. Интересно участвовать в таких обсуждениях - обычно человека, задающего вопрос, просто заботит необходимость решить проблему, а не ЛМ, - но часто оказывается, что ЛМ должна бы, в первую очередь, избегать самого вопроса!

Другое, что часто встречается, - это то, что вопрос, который задает читатель, затрагивает большую проблему, которую я называю Худшие Методы (ХМ). Они пытаются решить неправильную задачу - мы еще доберемся до некоторых кратких примеров этого. Размышляя об этом, мне пришло в голову, что многие читатели могли бы извлечь пользу из обсуждения того, почему некоторые вещи являются оооочень плохими. И вот что интересно, - я думаю, что ХМ наносят на карту самый короткий путь к решению проблемы. Я говорю это, поскольку уверен, что если дать младшему разработчику или администратору баз данных задачу, то в 8-ми случаях из 10-ти их решения будут примитивны.

Прежде чем начать, хочу предупредить, что я не насмехаюсь над теми, кто задает вопросы. Следует отметить исключительную степень вежливости на наших дискуссионных форумах. Наша миссия состоит в том, чтобы помочь нашим читателям разобраться с проблемами SQL Server, а также проблемами, близко связанными с первыми. Как раз вопросы новичка дают нам замечательную возможность научить читателя, который спросил ... и всех тех, кто читал обсуждение в течение и после дискуссии.

В последующие месяцы я буду обращаться ко многим пунктам ХМ, но сегодня давайте начнем с простого - использования венгерской нотации (Hungarian Notation) для именования столбцов. Если Вы не знакомы с венгерской нотацией, прочитайте статью в MSDN (http://support.microsoft.com/support/kb/articles/Q173/7/38.ASP). В двух словах, это способ обозначения ваших переменных так, чтобы они включали как описание, так и информацию о типе данных.

Declare @LoopCounter int

Declare @iLoopCounter int

В этом примере, второе описание использует венгерскую нотацию - я использовал префикс 'i', чтобы указать, что это целочисленное значение. Как только Вы привыкаете к этой нотации, она начинает в значительной степени экономить ваше время, т.к. Вам уже не нужно перелистывать код назад, чтобы посмотреть тип переменной. С другой стороны, когда вам необходимо изменить тип на bigint, у Вас есть выбор:

Declare @biLoopCounter bigint

Declare @iLoopCounter bigint

Вы можете использовать поиск и замену имени переменной в Вашей процедуре для отражения факта изменения типа (ЛМ) или же изменить только тип данных (ХМ). Конечно, если Вы не использовали венгерскую нотацию, тогда Вы только изменяете тип данных. Я часто использую VB, и венгерская нотация там весьма обычна, через некоторое время это становится удобным, и редкие дополнительные усилия по изменению имен переменных с избытком возмещается преимуществом в удобочитаемости. Я оставляю на ваше усмотрение решение того, является ли венгерская нотация ЛМ в кодировании.

Теперь давайте посмотрим на нечто более близкое нам - на таблицу! Возьмите крутого программиста на VB, который использует венгерскую нотацию для своих списков продуктовых магазинов?

iQuantity (int)

bIsComplete (bit)

Это круто или как? Тот же самый синтаксис именования, те же самые преимущества в удобочитаемости. Так почему я назвал бы это ХМ? Создайте несколько таблиц с использованием такой системы именования. Затем постройте несколько представлений и хранимых процедур, пару пользовательских функций (UDF), плюс три или четыре разработчика в течение месяца писали приложения для этой базы. Теперь вы решили, что битовое значение для IsComplete не будет работать, поскольку значений состояния оказалось больше двух, и Вы собираетесь изменить тип данных на tinyint. Собираетесь изменить имя столбца? И не думайте! Это слишком дорого для такого незначительного исправления.

Вы согласны со мной? Или нет?? Можете обсудить это на форуме.

03.12.2004

Полезная информация

Работа

В крупную известную строительную компанию (Санкт-Петербург) требуется Программист прикладного программного обеспечения.

Обязанности:

Решение задач, связанных с организацией хранилищ данных, интеграции приложений, подготовки Корпоративной отчетности. Поддержка и администрирование внутреннего сайта на платформе MS Sharepoint Portal Server. Администрирование SQL Сервера. Решение задач, связанных с построением математических моделей.

Требования:

- Возраст от 25 до 35 лет, образование высшее, Опыт работы по специальности не менее 3-х лет.

- Хорошее знание MS SQL, T-SQL, опыт написания процедур, реализующих бизнес-логику.

- Хорошие навыки программирования VBA, VB.NET, знание объектных моделей MS Office, MS Project.

- Желателен опыт работы MS Sharepoint Portal Server, опыт управления контентом, администрирования и программирования.

Условия:

З/п - размер обсуждается с каждым кандидатом(от 800$) + ежеквартальные премии. Пятидневка с 10.00 до 19.00, офис рядом с м. <Чернышевская>. Оформление и работа в соответствии с ТК РФ.

Контакты: o.sinyakova@alfapersonal.ru

Конкурс

§ Мы выставили наш сайт на конкурс Интернить 2005. Победитель определяется числом поданых голосов. Просьба проголосовать. (рекомендуемая оценка 3 :-)).

Контакты

По всем вопросам, связанным с функционированием сайта, проблемами при решении упражнений, идеями вы можете обращаться к Сергею И.Моисеенко msi77@yandex.ru. Вы также можете предложить свои задачи для публикации на сайте.

Подписка Subscribe.Ru
Новости сайта "Упражнения по SQL"

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.db.sqlex
Отписаться
Вспомнить пароль

В избранное