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

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


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

Новости сайта "Упражнения по SQL" Выпуск 1 (26 сентября 2004 г.)

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

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

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

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

Уже некоторое время мы фиксируем не только последнее принятое системой решение второго этапа (упражнения на SELECT), но и первое. Это первый шаг на пути к большей объективности рейтинга, который позволит учесть не только скорость решения, но то, насколько точно участник может выполнить все требования условия задачи и предметной области. Не секрет, что неполнота проверочной базы (которая постоянно совершенствуется) допускает принятие не вполне корректных решений. Как и прежде, имеется возможность изменить последнее решение, которое также сохраняется системой.
Кроме того, нами планируется оценка времени выполнения запросов в качестве критерия эффективности предложенных решений. Эти возможности послужат основой формирования нового рейтинга, который пока еще не формализовался. Готов обсудить ваши предложения относительно нового рейтинга.

Теперь можно загрузить фотографию не только в формате gif, но и jpeg. Если вы загрузите свою фотографию в двух форматах, будет использована фотография в формате jpeg.

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

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

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

No Surname Number of
exercises
Scores Days Days_2 Last_Solved Last_Visit
1 Зверев Д.Л. (dimzv) 136 274 252.92 2.219 14 Jul 2004 16 Sep 2004
2 Якутин Н.В. (ZrenBy) 136 274 428.80 3.993 24 Jun 2004 14 Sep 2004
3 Валуев Д.И. (Fiolent) 136 274 293.15 19.314 23 Jun 2004 24 Sep 2004
4 Карабанов А. (gipa) 133 268 138.58 5.022 10 Jul 2004 11 Jul 2004
5 Новиков Д.А. (DimaN) 130 264 68.17 2.104 01 Mar 2004 07 Apr 2004
6 Драконов Ф.А. (f_d) 130 264 36.32 7.243 03 Jun 2004 28 Jun 2004
7 Spirin (spirin) 128 259 39.06 11.408 24 Sep 2004 24 Sep 2004
8 Мельникова И.А. (Iris_m) 128 259 67.93 54.816 19 Jul 2004 24 Sep 2004
9 Иткин И.Л. (joseph_itkin) 124 251 130.99 2.068 06 Jul 2004 06 Aug 2004
10 Смирнов А. (Leshich) 124 251 147.15 84.180 03 Aug 2004 22 Sep 2004
11 Ганя А.Д. (Sandman25) 123 248 154.83 3.130 16 Jun 2004 21 Sep 2004
12 Пятница О. (Robin) 123 248 577.22 59.052 24 Sep 2004 26 Sep 2004
13 Леденев С.А. (Shurgenz) 122 247 37.41 5.706 24 Sep 2004 25 Sep 2004
14 Шулакова Н. (nshu) 121 244 81.03 5.468 28 Feb 2004 02 Mar 2004
15 Митронин А.А. (mitronin) 120 241 405.96 2.150 09 Aug 2004 08 Sep 2004
16 Муравейко О.Ю. (Aaz) 120 241 134.65 5.720 07 Mar 2004 21 Sep 2004
17 Gershovich (VIG) 119 238 486.32 4.006 10 Jul 2004 22 Sep 2004
18 Михайлов В.Г. (mslava) 119 238 203.11 5.816 05 Jan 2004 29 Jun 2004
19 Безруков Н.Н. (eviluser) 119 238 11.15 6.891 12 Jan 2004 12 Jan 2004
20 Krbashyan R. (raf_krb) 117 234 144.28 41.050 09 Mar 2004 20 Sep 2004

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

No surname n_sel sel_all sel_scores dml_scores scores rating last_visit
1 Сухоруков (oaken) 62 62 110 9 119 169 24 Sep 2004
2 Елдыщенко (grey_rat) 59 59 101 9 110 202 24 Sep 2004
3 Антипенко Д.Г. (AntipenkoDm) 50 50 81 9 90 272 25 Sep 2004
4 pavlyuk Y.V. (ypavlyuk) 41 56 78 9 87 213 25 Sep 2004
5 Якупов Д.Р. (bolt) 42 42 66 2 68 323 25 Sep 2004
6 Levin A. (AllexL) 31 39 58 0 58 328 24 Sep 2004
7 Domashov (zyx) 32 62 55 2 57 178 23 Sep 2004
8 Добин Н.В. (nd) 28 28 49 0 49 439 24 Sep 2004
9 Ikonnikov A. (ianlab136) 24 34 48 0 48 382 24 Sep 2004
10 Bogdanov (jeka) 18 34 40 0 40 381 21 Sep 2004
11 Malinov S. (Wintik) 23 23 34 0 34 593 20 Sep 2004
12 Beam J.F. (jimbeam) 23 23 34 0 34 597 24 Sep 2004
13 Тузовский (alextuz) 23 23 34 0 34 602 24 Sep 2004
14 Blumental K.S. (Nagual) 22 22 32 0 32 639 24 Sep 2004
15 Лукин Е. (ONK) 6 68 16 14 30 93 20 Sep 2004
16 крысевич (kulikoaa) 17 34 27 2 29 481 25 Sep 2004
17 Авдеев Г.Н. (henry_avdeev) 15 62 28 0 28 189 23 Sep 2004
18 Rabotnikov (fm) 20 20 27 0 27 735 22 Sep 2004
19 Goloubev V.V. (VVG_) 0 87 0 26 26 46 23 Sep 2004
20 Афанасьев Е.А. (SLON) 19 19 25 0 25 771 23 Sep 2004
21 Поимцев С.Ю. (Monster) 12 88 24 0 24 45 24 Sep 2004
22 сафрошкин В.Ю. (safervas) 7 96 13 10 23 37 26 Sep 2004
23 >Ткаченко М.Н. (MrsShalu) 17 17 21 0 21 844 26 Sep 2004
24 Kumpin V. (vicka) 17 17 17 3 20 924 25 Sep 2004
25 Корюхина (superlunary) 4 62 9 9 18 176 22 Sep 2004
26 helios H. (helios) 8 25 18 0 18 520 21 Sep 2004
27 Смирнов А. (Leshich) 0 124 0 17 17 10 22 Sep 2004
28 Леденев С.А. (Shurgenz) 6 122 15 0 15 13 25 Sep 2004
29 Chinenkov I.A. (cia) 9 52 15 0 15 240 24 Sep 2004
30 Khabarov (Lucky_911) 14 14 14 1 15 1001 23 Sep 2004

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

SELECT

Задача 35
Укажите названия, водоизмещение и число орудий, кораблей участвовавших в сражении при Гвадалканале (Guadalcanal).

Почему система не принимает следующее решение:

SELECT o.Ship, s.displacement, s.numGuns
FROM outcomes o
   LEFT JOIN Ships s ON o.ship=s.Name
    LEFT JOIN classes c ON s.class=c.Class
    LEFT JOIN battles b ON b.Name=o.Battle
WHERE (b.Name='Guadalcanal')

На первый взгляд все верно. Соединение с отбором

outcomes o
   LEFT JOIN battles b ON b.Name=o.Battle
...
WHERE (b.Name='Guadalcanal')

дает нам все корабли, участвовавшие в сражении при Гвадалканале. Далее,

LEFT JOIN Ships s ON o.ship=s.Name
LEFT JOIN classes c ON s.class=c.Class

соединение с таблицей Ships позволяет узнать класс корабля, а соединение Ships и Classes позволяет узнать требуемые характеристики корабля. При этом левое соединение гарантирует появление корабля в выходном наборе даже в том случае, если его класс неизвестен (корабля нет в Ships или есть, но неизвестен его класс - NULL). В последнем случае будет получена строка типа:

Корабль    NULL    NULL

Ошибка заключается в пресловутом "Бисмарке". Не в нем именно, в той ситуации, когда в Outcomes имеется головной корабль, которого нет в Ships. Предположим, что "Бисмарк" был при Гвадалканале. Рассматриваемый нами запрос вернет такую строку:

Bismarck    NULL    NULL

т.к. этого корабля нет в Ships. Однако его характеристики нам известны, поскольку известен класс (головной корабль!). Правильной строкой будет:

Bismarck    8    42000

Строку же

Корабль    NULL    NULL

мы получаем только в том случае, если в битве принимал участие не головной корабль, отсутствующий в таблице Ships (или при неизвестном классе).

DML

§ Любое упражнение должно решаться одним запросом. Если, допустим, по условию задачи требуется добавить в таблицу несколько строк, то вместо нескольких запросов типа

INSERT ... VALUES...

следует использовать оператор INSERT с подзапросом.

§ В одной из задач требуется определить максимальную скорость имеющихся CD-ROM. Ошибка состоит в использовании

SELECT MAX(cd) FROM ...

Дело в том, что скорость CD-ROM хранится в текстовом представлении (например, '12x'). При сравнении текстовых констант '4x' оказывается больше, чем '24x'. А если потребуется посчитать СРЕДНЮЮ скорость?!

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

Учебные базы данных можно загрузить по адресу:

http://msi77.narod.ru/downld.html

Контакты

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


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

В избранное