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

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


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

http://www.sql-ex.ru

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

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

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

Демонстрация плана выполнения запроса и сравнительная оценка эффективности решений поможет вам освоить принципы оптимизации запросов.

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


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

§ С форумом происходят непонятные вещи. Вероятно, проблема связана с настройками сервера, которые нам неподвластны, т.к. доступ к серверу ограничен. Мы будем продолжать искать причину окольными путями, а пока могу сказать только то, что если вы получаете сообщение об ошибке на сервере при открытии топика, попробуйте просто перегрузить страницу. Это помогает в 90% случаев.

§ В сотне появился новый участник, имеющий лучший результат на промежуточном этапе в 98 упражнений:
Родион1976 (задач 98, время 0.759)
Еще рано говорить о смене лидера, однако, заявка сделана серьезная. Надеюсь, что Родион1976 проявит себя еще и в качестве автора.

§ Подошел к 138 задаче Testo (137, 5.521). Я не проверял его худший результат, но, судя по всему, он имеет хорошие шансы на второе место, пока не закончится сессия :-). А пока 11 позиция.

§ Сохранили шансы попасть в ТОР 10:
a2010 (102, 2.903)

§ Продолжили свое восхождение к вершине:
Eugeniе (121, 52.304)
f.nietzsche (120, 21.724)
Gosha (104, 15.045)
nsnt (97, 3.057)

§ На этой неделе сертифицированы:
bingo (A06009751) [BK] (Россия, г.Москва)
Eugeniе (B06007392) [AR] (Россия, г.Москва)

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

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

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

Сертифицировано на сайте - 65

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

No Person Number of
Sel_ex
Last_Sel Number of
DML_ex
Scores Days Days_2 LastSolved LastVisit
1 Кувалкин К.С. (Cyrilus) 138 138 20 320 484 5.460 23 Mar 2006 26 May 2006
2 Kamaev V.M. (Heromantor) 138 138 20 320 128 9.066 14 Mar 2006 25 Mar 2006
3 Бураков С.Г. (burakov58) 138 138 20 320 419 17.395 24 Mar 2006 07 Apr 2006
4 Тарасов Д.Б. (Gavrila) 138 138 20 320 208 19.424 22 Mar 2006 26 May 2006
5 Голубин Р.С. (Roman S. Golubin) 138 138 20 320 210 20.835 16 Mar 2006 26 May 2006
6 Валуев Д.И. (Fiolent) 138 113 20 320 971 48.000 02 May 2006 26 May 2006
7 Войнов П.Е. (pаparome) 137 137 20 316 203 1.769 15 Mar 2006 26 May 2006
8 Зверев Д.Л. (dimzv) 137 137 20 316 869 3.278 22 Mar 2006 04 Apr 2006
9 Юлдашев М.Р. (Snowbear) 137 137 20 316 239 3.448 14 Mar 2006 23 May 2006
10 Абашин П.И. (Dizil) 137 137 20 316 203 3.776 15 Mar 2006 22 May 2006
11 Slobodcicov A.N. (Testo) 137 137 20 316 245 5.521 25 May 2006 26 May 2006
12 Самохвалов В. (ValdemarES) 137 137 20 316 117 7.788 14 Mar 2006 22 May 2006
13 Мурашкин И.В. (lepton) 137 137 20 316 25 7.943 17 Apr 2006 08 May 2006
14 Носков Н.В. (niko2) 137 137 20 316 274 8.472 06 Apr 2006 16 May 2006
15 Крижевич С.А. (yaff) 137 137 20 316 259 14.801 16 Mar 2006 05 May 2006
16 Иванов А.Н. (Goapsy) 137 137 20 316 128 16.076 18 Mar 2006 10 May 2006
17 Держальцев В.А. (MadVet) 137 137 20 316 357 18.639 08 Apr 2006 15 Apr 2006
18 Зырин В.Е. (Vezyr) 137 137 20 316 63 20.618 17 Mar 2006 16 May 2006
19 Страшников А.С. (EffEct) 137 137 20 316 305 59.972 16 Mar 2006 02 May 2006
20 Матвеева Ю.Б. (Julia_M) 137 137 20 316 137 68.931 24 Mar 2006 24 May 2006

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

No surname n_sel sel_all sel_scores dml_scores scores rating last_visit
1 >Шабунин А. (Shabunin) 57 57 105 23 128 423 26 May 2006
2 >Солдатенков Ю.С. (BigLuke) 37 59 77 23 100 383 26 May 2006
3 Ланин (uf0) 45 53 87 9 96 681 24 May 2006
4 >Голованов А. (Nighten) 48 49 86 3 89 898 26 May 2006
5 >Рахимова Л. (Leila) 39 39 62 23 85 966 26 May 2006
6 Sokolova V.Y. (Freya) 45 45 75 0 75 1133 23 May 2006
7 >Четвертков Д.В. (Dimitry) 41 41 65 2 67 1303 26 May 2006
8 >wild (wildcat99) 30 44 56 9 65 1038 26 May 2006
9 gokul S. (santy) 29 29 52 9 61 1450 24 May 2006
10 >Корнев А.О. (SashaKor) 34 34 60 0 60 1487 26 May 2006
11 Inozemtsev O. (Mezoni) 39 39 59 0 59 1517 25 May 2006
12 >Шувалов Д.Н. (DnS) 28 28 49 7 56 1621 26 May 2006
13 >Спирин А.В. (Alexey Spirin) 24 90 54 0 54 129 26 May 2006
14 Kudrin A. (kap) 23 47 45 9 54 894 25 May 2006
15 Trukhanovich A.L. (Lesha2006) 33 33 44 9 53 1699 25 May 2006
16 Skalozub A. (messir) 29 29 52 0 52 1727 23 May 2006
17 >Shevelev D.S. (Dimon77777) 28 28 49 3 52 1728 26 May 2006
18 >Суслов Д.В. (Platon) 33 33 50 0 50 1796 26 May 2006
19 >Нечаев (Kyosuke) 27 27 46 0 46 1946 26 May 2006
20 >Дорошенко А.А. (Yon Drin) 24 24 37 9 46 1948 26 May 2006
21 Драгушин С.Ю. (dsy) 25 25 40 5 45 1986 25 May 2006
22 Dolmatov (reedcat0) 34 34 45 0 45 1987 24 May 2006
23 >Шугаев (Шурикc) 32 32 43 0 43 2040 26 May 2006
24 >Evpatova E. (zel) 22 22 43 0 43 2053 26 May 2006
25 Карасёва Н. (vlksm) 18 74 38 4 42 265 26 May 2006
26 хм... (DENN) 26 26 42 0 42 2082 23 May 2006
27 Федоров Ю. (jack7777) 20 54 38 3 41 756 26 May 2006
28 Баланов М. (Соник) 20 42 40 0 40 1164 23 May 2006
29 Москальков Д. (boogie-man) 25 25 40 0 40 2144 22 May 2006
30 >Соколова А.В. (sanny) 25 25 40 0 40 2152 26 May 2006
31 >Андреев И. (autorain) 25 28 39 0 39 2070 26 May 2006
32 Саввин Ю. (Korvinl) 20 20 27 11 38 2235 23 May 2006
33 >Беляков М.В. (Буремиг) 10 57 22 15 37 314 26 May 2006
34 >Kozhina L.N. (KLN) 23 23 34 3 37 2301 26 May 2006
35 Denisov (DOS) 24 24 37 0 37 2316 23 May 2006
36 p H.P. (cool_hari) 23 23 34 3 37 2321 25 May 2006
37 Утёнков М.Н. (=Maxim=) 17 88 35 0 35 140 25 May 2006
38 Хвощев С.В. (gstof) 23 23 35 0 35 2440 26 May 2006
39 Михайлов К.А. (Gryph) 13 57 31 3 34 602 24 May 2006

Изучаем SQL

Худшие методы - пробелы в именах объектов

Andy Warren (оригинал: Worst Practice - Spaces in Object Names )
Перевод Моисеенко С.И.

Я написал уже несколько статей о различных худших методах - вещах, которые усложняют вашу жизнь без каких бы то ни было веских причин. Теперь поговорим об очень простом методе, настолько простом, что его легко можно избежать. Речь идет о пробелах в именах объектов. SQL поддерживает их, конечно, и вам достаточно заключить имя объекта в квадратные скобки, вот так:

select * from [stupid table name]

Так в чем же проблема? В конце концов, это работает, и не настолько важно? Да, я представлю факты, что эта работа чего-то стоит. И я действительно думаю, что это имеет значение. Я провел много времени в Query Analyzer и знаю, что достаточно сложно получить правильные имена столбцов (Object Browser хорошо помогает) без (А) заключения в скобки каждого имени объекта или (Б) заключения в скобки только имен объектов, содержащих пробелы, если помнить об этом. Добавление скобок повсеместно добавляет визуальный шум. Так все же, зачем вам нужны пробелы в именах объектов?

В целях избежать проблем с пробелами Query Analyzer заключает в скобки все подряд, как показано в скрипте ниже:

SELECT [CategoryID], [CategoryName], [Description], [Picture] FROM [Northwind].[dbo].[Categories]

Вы можете отключить генерацию скобок (сегодняшний совет по QA), выбрав в меню Tools команду Options, а затем на вкладке Script выбрав опцию None для параметра "identifier delimiter" (ограничитель идентификаторов):

А что сказать о приложениях сторонних производителей, которые создают объекты с пробелами в именах? Я призываю вас начать жаловаться - возможно, они услышат эти жалобы и изменят такой подход! Практически же я думаю, что вам придется смириться с этим, т.к. наши усилия не заставят их измениться. Но что вы можете сделать, чтобы сделать свою жизнь легче, - это создать представления, которые будут иметь столбцы с алиасами, не имеющими пробелов. Опять я не уверен, что усилия будут оправданы; это зависит от того, насколько часто вы обращаетесь к ним, и насколько это усложняет вам жизнь.

Послушайте, я знаю, что это незначительная и довольно тривиальная вещь. Однако наша повседневная работа состоит из множества тривиальных вещей, и проблема возникает тогда, когда Вы начинаете комбинировать с ними. Сравните базу данных, которая не использует никаких худших методов, с той, в которой возможно собраны все худшие методы. Обе они работают, но с одной из них настоооолько легче работать. Тривиальные вещи хороши тем, что они легко подвергаются изменениям. Так что скажите пробелам нет!

10/01/2003

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

§ Все статьи, публикуемые в рассылке, затем выкладываются на сайте Книги и статьи по SQL.

§ Поступила в продажу книга SQL. Задачи и решения, посвященная анализу ошибок, допускаемых при решении задач первого этапа. На сайте издательства Питер можно сделать заказ и познакомиться с содержанием.

Контакты

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

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

В избранное