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

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


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

SQL Exercises

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

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

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

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

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


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

§ Еще одно замечание Ennor Tiegael относительно проверки задачи 68, и еще одно добавление проверочных данных.

§ Согласился с замечанием Schummi относительно того, что несоответствие дат получения сертификата и на сайте и в документе вызывает подозрение.
Дата получения сертификата в документе соответствовала дате заказа, а на сайте - дате отправки, т.е. дате оплаты. Теперь везде стоит дата заказа, хотя сортировка по-прежнему выполняется по дате отправки.

§ На этой неделе произошла смена лидера. Новый лидер рейтинга Venser почти в два раза превзошел предыдущий рекорд по времени (.655 на задачи третьего этапа). Этот результат еще могут превзойти несколько участников третьего этапа, которые пока занимают выжидательную позицию. В частности, сохраняет шансы Arcan, который решил 139 задачу.

§ Лидеры решали пропущенные задачи:
Cyrilus (140 задач, время на третьем этапе 2.519)
Fiolent (137, 62.302)
Snowbear (137, .000)

§ В одном шаге от третьего этапа находится 15th (задач 137, время 14.090).

§ Новые люди в сотне:
SlavaFinist (117, 72.156)

§ Продвинулись в рейтинге:
marishkin (138, 19.015)
alex_v (137, 23.846)
Fomichev (128, 13.166)
ДимонХХХ (126, 28.006)
Kamin (124, 51.022)
Inuyasha (124, 1.788)
Lexus (122, 32.785)
Donald (121, 5.356)

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

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

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

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

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

No Person Number of
Sel_ex
Last_Sel Number of
DML_ex
Scores Days Days_2 Days_3 S_3 LastSolved LastVisit
1 Северюхин Ю.А. (Venser) 142 142 21 341 36 4.912 .655 14 08 Apr 2007 13 Apr 2007
2 Солдатенков Ю.С. (SolYUtor) 142 142 21 341 320 17.807 2.695 14 03 Apr 2007 13 Apr 2007
3 Мурашкин И.В. (lepton) 142 142 21 341 371 15.737 5.539 14 29 Mar 2007 11 Apr 2007
4 Карасёва Н.В. (vlksm) 142 142 21 341 328 31.344 5.912 14 30 Mar 2007 13 Apr 2007
5 Голубин Р.С. (Roman S. Golubin) 142 142 21 341 588 55.391 34.203 14 29 Mar 2007 13 Apr 2007
6 Агапов В. (KERBEROS) 138 141 20 330 89 6.163 1.262 11 20 Nov 2006 09 Apr 2007
7 Кувалкин К.С. (Cyrilus) 140 141 20 334 867 12.518 2.519 11 10 Apr 2007 13 Apr 2007
8 Зверев Д.Л. (dimzv) 138 141 20 330 1141 9.294 4.938 11 19 Dec 2006 22 Dec 2006
9 Войнов П.Е. (pаparome) 140 142 21 335 579 2.741 .049 10 26 Mar 2007 13 Apr 2007
10 Тарасов Д.Б. (Gavrila) 138 140 21 330 577 20.220 .513 7 26 Mar 2007 13 Apr 2007
11 Мальцев А.В. (Палкин) 140 141 21 334 224 27.657 7.373 7 29 Mar 2007 12 Apr 2007
12 Васьков Е.В. (Johan) 140 140 21 334 253 12.786 11.402 7 29 Mar 2007 09 Apr 2007
13 Валуев Д.И. (Fiolent) 137 140 20 325 1313 116.922 62.302 4 09 Apr 2007 13 Apr 2007
14 Юлдашев М.Р. (Snowbear) 137 139 21 326 632 4.106 .000 3 11 Apr 2007 13 Apr 2007
15 Креславский О.М. (Arcan) 139 139 21 330 67 9.932 .315 3 07 Apr 2007 13 Apr 2007
16 Держальцев В.А. (MadVet) 135 139 20 321 540 34.190 3.085 3 08 Oct 2006 19 Oct 2006
17 Палий С.А. (PS_Sergey) 136 139 20 322 212 15.704 4.188 3 01 Dec 2006 03 Dec 2006
18 Шептунов П.П. (PavelPS) 138 138 21 327 92 4.773 .000 0 29 Mar 2007 10 Apr 2007
19 Бородкина М.И. (marishkin) 138 138 21 327 145 19.015 .000 0 10 Apr 2007 13 Apr 2007
20 Салимов Д.М. (Damirishe) 136 138 21 323 186 11.246 .000 0 26 Mar 2007 30 Mar 2007

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

No surname n_sel sel_all sel_scores dml_scores scores rating last_visit
1 >MoonRabbit (MoonRabbit) 55 55 105 0 105 1041 13 Apr 2007
2 Litvinov Y. (Yuran) 38 38 67 0 67 2104 10 Apr 2007
3 Нехорошев А.А. (Саныч) 34 34 62 0 62 2295 11 Apr 2007
4 Булгаков Д.Н. (Khattab) 33 33 61 0 61 2331 08 Apr 2007
5 >Забурдаев А.Г. (mr.Lonely) 31 31 57 3 60 2397 13 Apr 2007
6 Чаниев (Мурад) 31 31 57 0 57 2578 12 Apr 2007
7 >Скочилов А. (modicus) 18 65 38 17 55 422 13 Apr 2007
8 Майстренко А.В. (avmlvm) 18 46 36 19 55 1070 12 Apr 2007
9 >Куйбышев (Куйбышев) 30 30 55 0 55 2707 13 Apr 2007
10 Суляргина Е.А. (Helena20) 32 32 54 0 54 2804 12 Apr 2007
11 >Садовский В.В. (savit) 32 32 53 0 53 2845 13 Apr 2007
12 >Ильин А.В. (Антон В.) 21 60 38 14 52 610 13 Apr 2007
13 Еремчук И.Н. (fuzzy_logic) 14 55 30 22 52 711 13 Apr 2007
14 >Мерлян (Irmo) 28 28 49 0 49 3074 13 Apr 2007
15 >Ezerski K. (ZoRD-ex) 28 28 49 0 49 3103 13 Apr 2007
16 Belikov A. (A1ex_) 28 28 49 0 49 3121 10 Apr 2007
17 Костаненков А.И. (AIK_IGZ) 19 43 40 8 48 1365 13 Apr 2007
18 Муканова М.Ю. (Masha_mukanova) 13 41 31 17 48 1513 13 Apr 2007
19 Бел (HH) 25 25 40 7 47 3259 12 Apr 2007
20 >Frolov A. (Andreas Frolov) 8 67 16 28 44 405 13 Apr 2007
21 - И. (tiger) 8 51 23 21 44 859 13 Apr 2007
22 Медведский И. (Kassiel) 21 29 43 0 43 2920 12 Apr 2007
23 Иванов (Oblom) 25 25 43 0 43 3457 12 Apr 2007
24 Markina (lanam) 23 28 42 0 42 2532 13 Apr 2007
25 >Лаптиев И.Л. (Xthysq) 18 95 40 0 40 153 13 Apr 2007
26 >Сусиков А.С. (Grandy) 15 52 34 6 40 966 13 Apr 2007
27 P A. (akumar) 25 25 40 0 40 3678 12 Apr 2007
28 >Черникова Е. (Eugina) 23 23 34 6 40 3680 13 Apr 2007
29 Тепляшина А.А. (Алена) 25 25 40 0 40 3681 12 Apr 2007
30 >Герцманович С.В. (Beefcake) 25 25 40 0 40 3688 13 Apr 2007
31 >Иванчик С.С. (Sergey1981) 25 25 40 0 40 3694 13 Apr 2007
32 >Москалев А.Г. (Москалев) 25 25 40 0 40 3701 13 Apr 2007

Изучаем SQL

Сократите время разработки с помощью синонимов SQL Server 2005

Tim Chapman (оригинал: Cut development time with SQL Server 2005's synonyms )
Перевод Моисеенко С.И.

Аннотация: Синонимы SQL Server 2005 позволяют Вам дать псевдоним уже существующему объекту. Преимущество синонимов состоит в их использовании как слоя абстракции перед основными объектами.

Синоним - это новый объект в SQL Server 2005. Он представляет собой способ присвоить псевдоним уже существующему объекту. Например, если Вы имеете таблицу с именем SalesHistoryFromArchiveFiscalBusinessYear2005, то могли бы создать синоним по имени Sales05, который указывает на этот объект. Это означает, что вместо запроса:

SELECT * FROM SalesHistoryFromArchiveFiscalBusinessYear2005

вы можете написать так:

SELECT * FROM Sales05

Преимущества

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

Основная выгода синонимов осознается, когда Вы используете их как слой абстракции между основными объектами и синонимом. Например, Вы могли бы иметь синоним с именем SalesHistory, который разработчики используют во всех отчетах о продажах. Этот синоним может ссылаться на локальное представление или таблицу, а также на удаленное представление или таблицу через прилинкованный сервер. Этот тип корреляции "синоним - объект" может оказаться очень мощным инструментом в сочетании с репликацией данных. Следующий пример иллюстрирует этот тезис.

Пример

Из-за расширения бизнеса и потребности в масштабируемости Вы решаете, что хорошо бы переместить таблицу SalesHistory из вашей текущей базы данных Inventory в отдельную базу данных с именем SalesData. В базе данных Inventory имеется много кода, который имеет ссылки на таблицу SalesHistory. Большую часть кода составляют простые запросы, которые лишь читают данные из таблицы SalesHistory. Приближается срок сдачи проекта, поэтому было бы затруднительно переписать весь существующий код, заменив в нем ссылки на таблицу в новой базе данных. Я покажу, как Вы можете использовать здесь синоним, чтобы существенно уменьшить время на разработку.

Предположим, что Вы уже скопировали вашу таблицу SalesHistory в новую базу данных SalesData и переименовали текущую таблицу SalesHistory в базе данных Inventory. (Я всегда предпочитаю переименовывать таблицу прежде, чем удалить ее. Это дает мне возможность выявить любые ошибки в системе, вызванные удалением таблицы.)

Как только Вы переименовали таблицу SalesHistory, Вы можете создать синоним, который ссылается на таблицу SalesHistory, которую Вы поместили в новую базу данных. Смотрите нижеприведенный скрипт.

USE Inventory

GO

CREATE SYNONYM SalesHistory

FOR SalesData.dbo.SalesHistory;

GO

Этот синоним создал указатель на таблицу SalesHistory в новой базе данных SalesData; однако, поскольку синоним находится в базе данных Inventory и называется SalesHistory, любые запросы или операторы DML адресуемые к синониму SalesHistory фактически выполняются с таблицей SalesHistory в базе данных SalesData.

09.04.2007

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

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

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

§ Желающих поспособствовать популяризации сайта прошу проголосовать/поставить закладку в социальных сетях:
del.icio.us
dzone.com
Digg.com

Контакты

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

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

В избранное