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

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


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

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

http://www.sql-ex.ru

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

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

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

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


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

§ Замечено прохождения неверного решения задачи 65 (gperever). Меры приняты.

§ Заменили две задачи новыми; одна на первом этапе (41-я), другая на втором (112-я). В этом же номере ниже читайте пояснение к решению задачи 41.

§ Напоминаю, что при добавлении новых задач сделанные ранее непросроченные заказы сертификатов остаются действительными. Т.е. для получения сертификата не обязательно торопиться с решением этих задач.

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

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

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

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

No Person Number of
Sel_ex
Last_Sel Number of
DML_ex
Scores Days Days_2 LastSolved LastVisit
1 Кувалкин К.С. (Cyrilus) 135 137 20 308 167 5.020 10 May 2005 20 May 2005
2 Гонтовой В.А. (noname) 135 137 20 308 52 9.692 07 May 2005 07 May 2005
3 Леденев С.А. (Shurgenz) 135 137 20 308 264 9.831 09 May 2005 20 May 2005
4 Валуев Д.И. (Fiolent) 135 137 20 308 617 26.470 13 May 2005 20 May 2005
5 Галиаскаров Э.Г. (Galogen) 135 137 20 308 172 61.240 13 May 2005 20 May 2005
6 Колосов А.С. (KAS) 134 137 20 306 25 3.398 11 Mar 2005 18 May 2005
7 Мельникова И.А. (Iris_m) 134 137 20 306 324 89.865 01 Apr 2005 04 May 2005
8 Сныткин В.Л. (Ded I) 134 136 20 304 252 7.456 12 May 2005 20 May 2005
9 Рахманов И.Е. (bloom) 134 136 20 304 148 14.171 11 May 2005 20 May 2005
10 Hakobyan H.H. (hamlet) 134 136 20 304 220 37.869 07 May 2005 19 May 2005
11 Шипунов И. (IAS) 134 136 20 304 334 82.080 13 May 2005 20 May 2005
12 Зверев Д.Л. (dimzv) 133 136 20 302 513 2.422 31 Mar 2005 31 Mar 2005
13 Иткин И.Л. (joseph_itkin) 132 136 20 299 375 2.849 07 Mar 2005 13 Apr 2005
14 Spirin (spirin) 131 136 19 296 158 13.461 21 Jan 2005 24 Jan 2005
15 Михайлов В.Г. (mslava) 132 136 17 293 648 10.504 25 Mar 2005 25 Mar 2005
16 Пятница О.А. (Robin) 125 128 20 287 754 74.630 19 Mar 2005 06 May 2005
17 Gershovich (VIG) 119 122 20 275 764 10.525 14 Apr 2005 20 May 2005
18 Митронин А.А. (mitronin) 119 121 20 274 681 8.685 11 May 2005 16 May 2005
19 Булаев В.В. (Kvix) 119 121 20 274 266 24.671 18 May 2005 18 May 2005
20 Тортумашев Е.А. (Johnny) 119 121 20 274 219 68.741 19 May 2005 20 May 2005

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

No surname n_sel sel_all sel_scores dml_scores scores rating last_visit
1 Страшников А. (EffEct) 51 51 87 17 104 437 20 May 2005
2 Аскарова (Фирюза) 44 44 73 9 82 544 18 May 2005
3 Шевкопляс Е. (Enya) 38 38 68 9 77 595 18 May 2005
4 K (LV) 47 47 75 0 75 529 19 May 2005
5 Alekseev A.G. (Andr_5) 41 41 73 0 73 543 18 May 2005
6 Беклемишева (BekNatali) 40 40 64 9 73 639 20 May 2005
7 Ескендиров М. (Murat_2005) 24 58 62 8 70 295 20 May 2005
8 Cucirianu (Andrei) 37 37 63 1 64 658 20 May 2005
9 Курочкин А.А. (KurochkinA) 30 59 54 9 63 264 20 May 2005
10 Зорин Н. (turbidus) 35 35 56 0 56 762 19 May 2005
11 Калинкин С.А. (kalinkin) 28 28 49 0 49 849 20 May 2005
12 C G. (Angelusk@) 28 28 49 0 49 854 17 May 2005
13 Френдий М.Р. (Makktub) 25 25 39 9 48 1031 20 May 2005
14 Попеску В.Н. (Молдавский сибиряк) 11 58 24 19 43 312 19 May 2005
15 Шальнов В.А. (Teks) 26 26 43 0 43 956 17 May 2005
16 Переверзев Г.С. (gperever) 18 77 40 0 40 107 20 May 2005
17 Ленков (Sericeous) 7 58 15 25 40 314 20 May 2005
18 Olga (Olenica) 25 25 40 0 40 1012 20 May 2005
19 Ледянкин (Magneto) 23 23 35 0 35 1111 19 May 2005
20 Крупенько О.В. (Oks) 24 24 33 0 33 1192 20 May 2005

Характерные ошибки при решении упражнений

SELECT

Задача 41
Еще вчера формулировка этой задачи звучала так:
Найдите названия всех кораблей, спущенных на воду до 1918 г.

Эта задача допускала весьма простое решение:

SELECT name AS shipName
FROM Ships
WHERE launched < 1918

Однако, как справедливо заметил Zhekaus, здесь никак не учитываются даты сражений. Действительно, если год спуска на воду корабля неизвестен, и при этом он участвовал в сражении, которое произошло до 1918 года, то такой корабль следует включать в результат. Поскольку в базе данных нет сражений, произошедших ранее 1918 года, то приведенное выше решение будет приниматься системой без учета этого факта.

Чтобы не менять данные, проще переформулировать задачу, используя сравнение с другой датой. Полагаю, что когда вы будете читать этот выпуск рассылки, задача уже будет иметь измененную таким образом формулировку.

Однако есть еще один тонкий момент. Может оказаться, что даже если корабль с неизвестным годом спуска на воду участвовал в более позднем сражении, его потребуется включать в результирующий набор.

Почему? Ответ на этот вопрос опять следует искать в "висящих" головных кораблях. Итак, корабль из Outcomes, имя которого совпадает с именем одного из классов (головной корабль), отсутствует в таблице Ships или присутствует, но с неизвестным годом спуска на воду. Пусть в таблице Ships есть корабль того же класса с известным годом спуска на воду. Если этот год окажется меньше 1918, то головной корабль следует включать в результирующий набор наряду с упомянутым кораблем. Это следует из того факта, что головной корабль - это первый корабль в своем классе и, следовательно, также должен был быть спущен на воду ранее 1918 года.

Есть еще один капкан. Однако пусть, как говорил Винокур, сюрприз будет.

Всего лишь год поменять, а сколько интересного можно извлечь :-).

§ Приведенные здесь примеры можно выполнить непосредственно на сайте, установив флажок "Без проверки" на странице с упражнениями на SELECT.

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

Конкурс

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

Найди себя в интернете

§ Наш сайт неплохо индексируется поисковыми системами (в частности, Яндексом). Попадание в любой долгосрочный рейтинг или на страницы сертифицированных специалистов практически гарантирует вам мировую известность :-). Посему рекомендую правильно заполнять регистрационную форму и загружать фотографию.

Контакты

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

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

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.db.sqlex

Другие рассылки этой тематики
Отписаться
Вспомнить пароль

В избранное