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

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


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

http://www.sql-ex.ru

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

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

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

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

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


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

§ Попав на все ограничения - на размер запроса, время исполнения скрипта и длину формулировки, - новый автор vlksm представляет свою задачу третьего этапа - 141, сложность 4 балла.
Лидеры выжидают, хотя быть в числе первых имеет свои преимущества. Во-первых, если тестовое решение будет ошибочным, то время компенсируется. Кроме того, проверочными данными будут закрыты далеко не все лазейки для не вполне точных решений. Так что требуются тестировщики :-).

§ Добавил вариант проверочных данных от vasily terkin для задачи 72. Я отказался от идеи добавить эти данные в основную базу, т.к. это, в первую очередь, поставит в неравные условия тех, кто решил эту задачу ранее. Поскольку здесь речь не идет о неоднозначности формулировки, открытый вариант данных будет прямой подсказкой относительно логики решения.
Так что проверьте свои решения на новых данных.

§ Идя навстречу пожеланию vasily terkin и еще ряду лиц, переписал формулировку задачи 67 в надежде устранить непонимание.
Согласился также с уточнением формулировки задачи 75, предложенным Fomich'ом.
Как разъяснил IAS56, самолеты различаются по типам, а не по моделям. Внес соответствующее изменение в формулировку задачи 85.

§ Смена лидера. Первую позицию сейчас занимает vlksm, решившая свою задачу.
Опять в десятке Gavrila, дорешавший пропущенные задачи второго этапа, - задач 138, время 19.721.
Одна задача до третьего этапа осталась =Maxim=(137, 22.934), который вошел в двадцатку.
Вернулся на исходные позиции - к решению 138 задачи - EffEct (137, 88.004).

 

§ Продолжили свое восхождение к вершине:
mslava (127, 10.601)
bloom (124, 14.142)
Goga_3040 (124, 46.780)
Дайнин (109, 71.675)
Strider5 (107, 3.335)

§ На этой неделе сертифицированы:
pH (A06006528) [BK] (г.Каменец-Подольский, Украина)

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

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

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

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

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

No Person Number of
Sel_ex
Last_Sel Number of
DML_ex
Scores Days Days_2 Days_3 S_3 LastSolved LastVisit
1 Карасёва Н.В. (vlksm) 141 141 20 333 176 27.838 2.710 11 29 Oct 2006 03 Nov 2006
2 Агапов В. (KERBEROS) 140 140 20 329 52 5.819 .907 7 14 Oct 2006 03 Nov 2006
3 Мурашкин И.В. (lepton) 140 140 20 329 199 13.712 3.581 7 08 Oct 2006 03 Nov 2006
4 Васьков Е.В. (Johan) 140 140 20 329 85 12.705 11.402 7 12 Oct 2006 27 Oct 2006
5 Голубин Р.С. (Roman S. Golubin) 140 139 20 329 425 44.826 23.652 7 17 Oct 2006 03 Nov 2006
6 Войнов П.Е. (pаparome) 139 140 20 326 407 2.687 .000 4 05 Oct 2006 03 Nov 2006
7 Юлдашев М.Р. (Snowbear) 139 139 20 325 441 4.106 .000 3 02 Oct 2006 31 Oct 2006
8 Держальцев В.А. (MadVet) 139 139 20 325 540 34.249 3.085 3 08 Oct 2006 19 Oct 2006
9 Кувалкин К.С. (Cyrilus) 138 107 20 322 691 9.892 .000 0 16 Oct 2006 03 Nov 2006
10 Тарасов Д.Б. (Gavrila) 138 87 20 322 432 19.721 .000 0 01 Nov 2006 03 Nov 2006
11 Валуев Д.И. (Fiolent) 138 138 20 322 1125 54.696 .000 0 03 Oct 2006 03 Nov 2006
12 Slobodcicov A.N. (Testo) 137 138 20 320 337 7.171 .000 0 25 Aug 2006 01 Nov 2006
13 Иванов А.Н. (Goapsy) 137 138 20 320 270 18.911 .000 0 07 Aug 2006 09 Oct 2006
14 Зверев Д.Л. (dimzv) 137 137 20 318 1070 3.663 .000 0 09 Oct 2006 09 Oct 2006
15 Абашин П.И. (Dizil) 137 107 20 318 420 3.961 .000 0 18 Oct 2006 18 Oct 2006
16 Палий С.А. (PS_Sergey) 137 137 20 318 166 10.215 .000 0 16 Oct 2006 23 Oct 2006
17 Крижевич С.А. (yaff) 137 107 20 318 481 14.998 .000 0 24 Oct 2006 25 Oct 2006
18 Мальцев А.В. (Палкин) 137 137 20 318 56 15.229 .000 0 12 Oct 2006 23 Oct 2006
19 Вязовецков А.С. (alex_v) 137 137 20 318 141 22.788 .000 0 20 Oct 2006 20 Oct 2006
20 >Утёнков М.Н. (=Maxim=) 137 137 20 318 184 22.934 .000 0 03 Nov 2006 03 Nov 2006

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

No surname n_sel sel_all sel_scores dml_scores scores rating last_visit
1 >Точилин (TC) 66 66 123 32 155 320 03 Nov 2006
2 >Мирошников М.И. (MaksIsMogikan) 53 53 96 23 119 668 03 Nov 2006
3 >Абубакиров М. (airka) 47 47 80 3 83 1301 03 Nov 2006
4 Белов Е. (Егор) 43 43 71 11 82 1323 02 Nov 2006
5 >Волощенко О.А. (volga) 44 44 78 0 78 1411 03 Nov 2006
6 Сафина Д.Б. (dina) 19 71 43 32 75 266 02 Nov 2006
7 >Jozwik A.B. (adam_bolek) 39 39 66 9 75 1500 03 Nov 2006
8 Пушников А.А. (Kron0S) 36 36 61 9 70 1661 03 Nov 2006
9 >Stelmakh O. (Oleksa Stelmakh) 13 58 30 31 61 426 03 Nov 2006
10 >Мриль С.М. (PROC) 38 38 60 0 60 1977 03 Nov 2006
11 >kudalkar M.B. (BabuBhai) 33 33 57 0 57 2106 03 Nov 2006
12 >Пупкин (Лентяй) 30 30 55 0 55 2193 03 Nov 2006
13 Корж А.А. (Dweorg) 23 40 52 0 52 1574 02 Nov 2006
14 >kute K.K. (Joni-home) 29 29 52 0 52 2312 03 Nov 2006
15 Nikolaev P.K. (kpn) 33 33 49 0 49 2460 03 Nov 2006
16 >Абрамов И.И. (Lite) 11 51 20 27 47 623 03 Nov 2006
17 Груздев (gfhfaby) 23 43 46 0 46 1478 02 Nov 2006
18 >Хамето С.Н. (Rabbit) 30 30 43 3 46 2592 03 Nov 2006
19 Ломтев С.А. (Ахилл) 26 26 43 0 43 2735 02 Nov 2006
20 Brunet M. (ZooKeepr) 17 32 41 1 42 1763 02 Nov 2006
21 >Кудряшов А.А. (Lexus) 18 40 41 0 41 1630 03 Nov 2006
22 >Нещерет С. (Vetkaist_311) 29 30 41 0 41 2796 03 Nov 2006

Изучаем SQL

Добавьте специфики в вашу базу данных Model на SQL Server

Arthur Fuller (оригинал: Add some curves to your SQL Server Model database)
Перевод Моисеенко С.И.

Аннотация

Узнайте, почему Артур Фаллер полагает, что база данных Model является самым пропускаемым в объяснениях и малоиспользуемым объектом SQL Server. Он представляет типичный пример того, как Вы могли бы использовать базу данных Model.

Каждая инсталляция SQL Server устанавливает несколько системных баз данных. Согласно предписаниям покойного доктора Э. Ф. Кодда, информация о базе данных должна быть доступна с использованием тех же самых команд, с помощью которых вы запрашиваете данные из собственных баз данных. Может ли быть лучший способ выполнить это назначение, чем хранить системную информацию в некоторой базе данных?

SQL Server устанавливает следующие системные базы данных:

· Master: Хранит описание всех других баз данных, плюс логины базы данных и собственные системные таблицы.

· Model: Служит снимком каждой новой базы данных, которую Вы создаете.

· Msdb: Служит для размещения кода и данных, которые поддерживают SQL Server Agent и SQL Server Management Studio (и ранее Enterprise Manager).

· Tempdb: Всякий раз, когда Вы создаете временную таблицу (то есть таблицу, имя которой начинается "#" или "##"), она создается в этой базе данных. Кроме того, SQL Server использует эту базу данных, чтобы размещать в ней свои собственные временные таблицы (например, когда Вы используете ORDER BY, SQL Server сортирует результаты именно здесь). Вы модифицируете эту базу данных множество раз в течение часа, и даже минуты.

· Mssqlresourcedb: Хранит системные объекты. Если Вы не заходите с черного хода, эта база данных скрыта и является доступной только для чтения. Это внутренность SQL Server.

Если Вы используете репликацию, SQL Server может также установить такую базу данных:

· Distribution: Хранит информацию об издателях, подписчиках, адресатах сервера, и т.д.

(Примечание. Вы никогда не должны модифицировать базы данных Master, MSDB и Mssqlresourcedb.)

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

Предположим, что Вы - независимый консультант, который создает YAFOES (еще одна дружественная система ввода заказов). Специфика может различаться, но вообще-то они все похожи, как копилки: Клиенты, Заказы, Детали, Продукция, Платежи, и так далее. Итак, почему бы не добавить эти таблицы в Model?

Я создал резервную копию для базы Модели, после чего создал несколько типовых таблиц в Model, исходя из предположения, что я - разработчик программ YAFOES. (Примечание. Перед последующими экспериментами я настоятельно прошу Вас сделать резервную копию Model!)

Теперь выполните скрипт в Листинге А, чтобы создать несколько простых таблиц в Модели. Я также добавил представление, пользовательскую функцию (UDF) и хранимую процедуру, а также описания таблиц и столбцов и одно или два значения по умолчанию.

Теперь создайте новую базу данных, которая содержит все новые объекты базы данных, точно такие, как я определил их. По различным причинам, создают отдельные базы данных X, Y и Z (продажи, маркетинг, продукция), однако, все они должны, в конечном счете, приводиться к единому представлению о предприятии, используя SSIS или Cognos или еще что-нибудь на ваш вкус. Я считаю, что начинать такое согласование нужно в базе данных Model. Как только Вы настроите базу данных Model описанным выше способом (с учетом вашей специфики), каждая база данных, которую Вы создаете, будет содержать в точности те же самые определения таблиц и столбцов.

Это лишь примитивный пример, но я полагаю, что его значение далеко выходит за рамки примера. Я предполагаю, что независимое положение администратора базы данных позволит построить этот образец, но и надеюсь, что перспектива заключается также в единой организации.

Эти эксперименты привели меня к убеждению, что база данных Model является самым пропускаемым в объяснениях и малоиспользуемым объектом SQL Server.

16/10/2006

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

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

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

Контакты

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

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

В избранное