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

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


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

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

http://www.sql-ex.ru

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

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

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

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


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

§ Немного усилил проверку задачи 37. Возможно некоторые решения перестанут проходить.

§ Слетела проверка 124 задачи. Поправил возвращением куда-то пропавших данных из проверочной базы :-). Проверьте свои решения; затрудняюсь сказать, когда это случилось.

§ Добавлены данные под 125 задачу. Учтены отмеченные на форуме случаи. Некоторые опубликованные решения не проходят проверку.

§ Внесены уточнения в формулировки задач 96, 77 и 111 (редакция Fiolent).

§ Для тех, кто использует MS Access, выложены все учебные базы в одном файле .mdb: Access_sql.zip

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

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

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

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

No Person Number of
Sel_ex
Last_Sel Number of
DML_ex
Scores Days Days_2 LastSolved LastVisit
1 Духин А. (Shark) 137 137 20 312 30 2.635 10 Aug 2005 30 Aug 2005
2 Зверев Д.Л. (dimzv) 137 137 20 312 643 2.900 08 Aug 2005 01 Sep 2005
3 Кувалкин К.С. (Cyrilus) 137 112 20 312 224 5.129 06 Jul 2005 02 Sep 2005
4 Носков Н.В. (niko2) 137 137 20 312 47 7.855 22 Aug 2005 22 Aug 2005
5 Гонтовой В.А. (noname) 137 112 20 312 105 9.808 29 Jun 2005 26 Aug 2005
6 Леденев С.А. (Shurgenz) 137 112 20 312 313 9.900 27 Jun 2005 24 Aug 2005
7 Бураков С.Г. (burakov58) 137 137 20 312 164 12.100 12 Jul 2005 31 Jul 2005
8 Валуев Д.И. (Fiolent) 137 112 20 312 662 26.627 27 Jun 2005 02 Sep 2005
9 Галиаскаров Э.Г. (Galogen) 137 112 20 312 221 61.437 01 Jul 2005 24 Aug 2005
10 >Мельникова И.А. (Iris_m) 137 112 20 312 478 91.764 02 Sep 2005 02 Sep 2005
11 Gershovich (VIG) 136 136 20 308 895 13.954 23 Aug 2005 02 Sep 2005
12 Колосов А.С. (KAS) 134 137 20 306 25 3.398 11 Mar 2005 14 Jun 2005
13 Алалыкин В.М. (BOBAH) 135 135 20 305 101 28.244 01 Sep 2005 02 Sep 2005
14 Сныткин В.Л. (Ded I) 134 136 20 304 252 7.456 12 May 2005 01 Sep 2005
15 Рахманов И.Е. (bloom) 134 136 20 304 148 14.171 11 May 2005 15 Jun 2005
16 Hakobyan H.H. (hamlet) 134 136 20 304 220 37.869 07 May 2005 03 Jun 2005
17 Шипунов И. (IAS) 134 136 20 304 334 82.080 13 May 2005 26 May 2005
18 Иткин И.Л. (joseph_itkin) 132 136 20 299 375 2.849 07 Mar 2005 13 Apr 2005
19 Spirin (spirin) 131 136 19 296 158 13.461 21 Jan 2005 25 Aug 2005
20 Михайлов В.Г. (mslava) 132 136 17 293 648 10.504 25 Mar 2005 25 Mar 2005

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

No surname n_sel sel_all sel_scores dml_scores scores rating last_visit
1 R (LexusR) 40 59 82 32 114 199 02 Sep 2005
2 >DP (pasha_701) 42 42 75 23 98 474 02 Sep 2005
3 Гричанок А.В. (Seen) 48 48 85 2 87 572 01 Sep 2005
4 >Абашин П.И. (Dizil) 29 65 55 21 76 147 02 Sep 2005
5 >Воробьева (Элизабет) 34 34 57 15 72 749 02 Sep 2005
6 Авакимян С.А. (xax) 16 59 40 27 67 204 02 Sep 2005
7 >Тарасов Д.Б. (Gavrila) 23 59 43 19 62 266 02 Sep 2005
8 >Потапов А.В. (Culiver) 36 36 62 0 62 889 02 Sep 2005
9 Венгров В.В. (Виталий) 26 51 50 8 58 393 31 Aug 2005
10 Pestovsky E.N. (Claudine) 32 32 55 0 55 1005 31 Aug 2005
11 Chen (Murron) 26 26 44 11 55 1010 02 Sep 2005
12 Maximenko A. (Sc0rpio) 11 59 28 23 51 198 31 Aug 2005
13 Utasehva O.A. (Oksana_86) 28 28 49 0 49 1117 31 Aug 2005
14 Лалетина О.В. (LoL) 33 33 42 5 47 1165 01 Sep 2005
15 >Обросов А.И. (AlexIO) 12 66 23 23 46 141 02 Sep 2005
16 Войнов П.Е. (Войнов П.Е.) 21 68 43 0 43 134 01 Sep 2005
17 >Герасименко А.С. (Alex Cooler) 26 26 43 0 43 1232 02 Sep 2005
18 >Романов Д. (Романов Дмитрий) 5 65 10 32 42 149 02 Sep 2005
19 Yaroshenko R. (ProgramCreator) 25 25 40 0 40 1285 31 Aug 2005
20 >Бектуров Р.Б. (Бектуров) 25 25 39 0 39 1327 02 Sep 2005
21 Petrinin (Borio) 17 40 38 0 38 708 02 Sep 2005
22 Романенков Н. (Fred) 24 24 37 0 37 1374 01 Sep 2005
23 >Melnikoff M.V. (MMVB) 24 24 37 0 37 1384 02 Sep 2005
24 Голубин Р.С. (Roman S. Golubin) 14 111 35 0 35 41 02 Sep 2005
25 Гладков Д.А. (carbon) 12 97 25 9 34 61 02 Sep 2005
26 flopezg (flopezg) 14 14 25 9 34 1498 30 Aug 2005
27 >Каминский К.В. (kaminskij) 22 22 32 0 32 1564 01 Sep 2005

Изучаем SQL

SQL Server и коллация

Muthusamy Anantha Kumar (оригинал: SQL Server and Collation)
Перевод Моисеенко С.И.

Что такое collation?

Collation (сопоставление) определяет ряд правил, согласно которым сортируются и сравниваются данные. Символьные данные сортируются, используя правила, которые определяют правильную последовательность символов, в зависимости от регистра, надстрочных знаков, символьных типов kana и ширины символов.

Чувствительность к регистру

Если A и a, B и b, и т.д. считаются одинаковыми, это называется независимостью (нечувствительностью) от регистра. Компьютер считает A и a различными символами, поскольку им соответствуют различные коды ASCII, позволяющие различать ввод. ASCII-значение буквы A есть 65, в то время как a - 97. ASCII-значение B - 66, а b - 98.

Чувствительность к акценту (надстрочным знакам)

Если a и á, o и ó трактуются одинаковыми, это называется нечувствительностью к акценту. Компьютер считает a и á разными, поскольку для них используются различные коды ASCII. ASCII значением символа a является 97, в то время как для á используется 225. Коды ASCII для o - 111, а ó - 243.

Чувствительность Kana

Когда японские kana символы, Hiragana и Katakana, считаются разными, это называют Kana чувствительностью.

Чувствительность к ширине

Когда однобайтный символ (полуширина) и тот же самый символ, представленный двумя байтами (полная ширина), считаются разными, это называется чувствительностью к ширине.

База данных, таблицы и столбцы с различной коллацией

SQL Server 2000 разрешает пользователям создавать базы данных, таблицы и столбцы с различной коллацией.

Базы данных с различной коллацией

use master
go
create database BIN collate Latin1_General_BIN
go
create database CI_AI_KS collate Latin1_General_CI_AI_KS
go
create database CS_AS_KS_WS collate Latin1_General_CS_AS_KS_WS
go

Таблицы и столбцы с различной коллацией

Create table Mytable (
[colu] char(10) COLLATE Albanian_CI_AI_KS_WS NULL,
[Maydate] [char] (8) COLLATE Korean_Wansung_Unicode_CS_AS_KS NOT NULL,
[Risk_Rating] [char] (2) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
)

Сравнение символов в базах данных с различной коллацией

Когда мы запускаем нижеприведенный код на базах CI_AI_KS и CS_AS_KS_WS, результаты будут совершенно различными.

declare @Accentvar1 char(1)
declare @Accentvar2 char(1)
declare @Casevar1 char(1)
declare @Casevar2 char(1)
set @casevar1 ='A'
set @casevar2 ='a'
set @Accentvar1 ='a'
set @Accentvar2 ='á'

if @casevar1 = @casevar2
begin
print "A и a считаются одинаковыми"
end
else
begin
print "A и a считаются разными"
end

if Accentvar1 = @Accentvar2
begin
print "A и á считаются одинаковыми"
end
else
begin
print " A и á считаются разными"
end

Когда мы выполнить эти операторы на базе данных CI_AI_KS, то получим следующие результаты:

A и a считаются одинаковыми
A и á считаются одинаковыми

Когда мы выполняем эти операторы на базе данных CS_AS_KS_WS, результаты будут такими:

A и a считаются разными
A и á считаются разными

Имитация чувствительности к регистру в случае нечувствительной к регистру базы данных

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

Use CI_AI_KS
go
declare @var1 varchar(10)
declare @var2 varchar(10)
set @var1 ='A'
set @var2 ='a'
if ASCII(@var1) = ASCII(@var2)
print " A и a считаются одинаковыми "
else
print " A и a считаются разными"

(окончание следует...)

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

Конкурс

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

Контакты

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

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

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.db.sqlex
Отписаться
Вспомнить пароль

В избранное