Все выпуски  

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


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

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

http://www.sql-ex.ru

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

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

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

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


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

§ Немного усилил проверку задачи 39.

§ Было замечено, что не скачиваются скрипты баз данных "Аэропорт" и "Окраска" с http://msi77.narod.ru/downld.html. Оказалось, что "народ" стал чувствителен к регистру :-). Прямо в тему последних статей рассылки (статья этого и следующего номеров). Исправил.

§ В ближайшем будущем мы вынуждены будем поднять стоимость сертификатов процентов на 10-15. Это связано с увеличением оплаты за хостинг и почтовых расходов.

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

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

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

Лучшие результаты (ТОР 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 08 Sep 2005
2 Зверев Д.Л. (dimzv) 137 137 20 312 643 2.900 08 Aug 2005 01 Sep 2005
3 Кувалкин К.С. (Cyrilus) 137 137 20 312 224 5.129 06 Jul 2005 09 Sep 2005
4 Носков Н.В. (niko2) 137 137 20 312 47 7.855 22 Aug 2005 22 Aug 2005
5 Гонтовой В.А. (noname) 137 137 20 312 105 9.808 29 Jun 2005 26 Aug 2005
6 Леденев С.А. (Shurgenz) 137 137 20 312 313 9.900 27 Jun 2005 05 Sep 2005
7 Бураков С.Г. (burakov58) 137 137 20 312 164 12.100 12 Jul 2005 09 Sep 2005
8 Валуев Д.И. (Fiolent) 137 137 20 312 662 26.627 27 Jun 2005 09 Sep 2005
9 Галиаскаров Э.Г. (Galogen) 137 137 20 312 221 61.437 01 Jul 2005 24 Aug 2005
10 Мельникова И.А. (Iris_m) 137 137 20 312 478 91.764 02 Sep 2005 02 Sep 2005
11 Gershovich (VIG) 136 136 20 308 895 13.954 23 Aug 2005 09 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 09 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 Урвачев И.Ю. (Robert Tappan Moris) 41 58 84 23 107 260 06 Sep 2005
2 >Lielmanis E. (elfz) 54 54 96 9 105 422 09 Sep 2005
3 Кащев В.А. (Vakas) 53 53 93 0 93 523 07 Sep 2005
4 >Фроленков И.В. (Ghost) 38 38 52 21 73 736 09 Sep 2005
5 Славутинский (Vasilko) 39 39 71 0 71 771 05 Sep 2005
6 >DP (pasha_701) 30 72 61 9 70 133 09 Sep 2005
7 Clot (Clot) 38 44 64 0 64 781 08 Sep 2005
8 Манжай И. (Дайнин) 38 38 63 0 63 884 09 Sep 2005
9 >ika (ika) 33 34 57 0 57 980 09 Sep 2005
10 >Гричанок А.В. (Seen) 14 62 25 30 55 178 07 Sep 2005
11 >Касьянов О.В. (Hilge) 29 29 52 0 52 1066 09 Sep 2005
12 Гилязетдинов В.Н. (Giovanni) 31 31 50 0 50 1103 06 Sep 2005
13 >Долгова Л.Н. (Lessie) 28 28 49 0 49 1138 09 Sep 2005
14 >Daneykin A. (danko) 21 38 48 0 48 795 09 Sep 2005
15 >R (LexusR) 21 80 46 0 46 110 09 Sep 2005
16 >Daniloff S.V. (Kpoxa) 24 59 46 0 46 412 01 Sep 2005
17 Крижевич С.А. (yaff) 19 59 35 9 44 205 09 Sep 2005
18 Valaitis T. (tomasv) 15 55 38 6 44 416 09 Sep 2005
19 >Абашин П.И. (Dizil) 19 84 43 0 43 97 09 Sep 2005
20 >Голубицкий Д.А. (golubitsky) 13 58 25 18 43 279 09 Sep 2005
21 Потапов А.В. (Culiver) 22 58 43 0 43 437 08 Sep 2005
22 Козленков В.В. (Vito) 18 34 40 1 41 934 09 Sep 2005
23 >Обросов А.И. (AlexIO) 18 84 40 0 40 99 09 Sep 2005

Изучаем SQL

SQL Server и коллация (окончание, начало в вып.51)

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

Однако, функция ASCII не может использоваться для слов. Чтобы достичь тех же самых функциональных возможностей моделирования чувствительности к регистру, мы можем использовать тип данных varbinary.

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

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

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

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

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

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

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

Опять таки функция ASCII не может использоваться для слов. Чтобы достичь аналогичных функциональных, как и при моделировании чувствительности к регистру, мы можем использовать тип данных varbinary:

Use CI_AI_KS
go
declare @var1 varchar(10)
declare @var2 varchar(10)
set @var1 ='Gold'
set @var2 ='Góld'
if cast(@var1 as varbinary) = cast(@var2 as varbinary)
print " Gold и Góld считаются одинаковыми"
else
print " Gold и Góld считаются разными"

Изменение коллации

В SQL Server 7.0 Collation может быть установлена только на уровне сервера в процессе инсталляции. Чтобы изменить коллацию, Вам необходимо перестроить базу данных master. Она находится в каталоге Program Files\Microsoft SQL Server\80\Tools\Binn.

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

Create database testNorwegian collate Danish_Norwegian_CI_AI_KS
go
Alter database testNorwegian collate Danish_Norwegian_CI_AI
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
)
go
Alter table Mytable alter column [colu] char(10) COLLATE Korean_Wansung_Unicode_CS_AS_KS NULL
go

Определение коллации текущего сервера

select SERVERPROPERTY ('collation')

Определение коллации указанной базы данных

select convert(sysname,DatabasePropertyEx('CS_AS_KS_WS','Collation'))

Определение коллации текущей базы данных

select convert(sysname,DatabasePropertyEx(db_name(),'Collation'))

Определение коллации всех столбцов в таблице

select name, collation from syscolumns where [id]=object_id('Mytable')

Определение всех коллаций, имеющихся в SQL Server

select * from ::fn_helpcollations()

Заключение

В этой статье объясняется фундаментальное понятие коллации и ее использование. Вы можете создать функции для моделирования нечувствительности к акценту в чувствительной базе данных, сопоставляя a и á. Kana чувствительность и чувствительность к ширине используются, главным образом, в азиатских языках.

28.01.2004

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

Конкурс

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

Контакты

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

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

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

В избранное