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

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


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

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

http://www.sql-ex.ru

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

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

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

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

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


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

§ Опять проблемы с 66 задачей. В результате дискуссии pаparome и Lady родился новый вариант проверочных данных.

§ Произошли изменения в десятке. Вошли в нее, решив все задачи, Gavrila (позиция - 8, результат - 10.512) и yaff (10, 14.340).
На подходе еще два реальных кандидата: paparone (задач - 136, результат - 1.655) и dizil (131, 3.049). При этом paparone должен занять первое место в рейтинге, если решит 137 задачу до того момента, когда появятся новые, т.к. его худший до этого результат укладывается в расстояние до нынешнего лидера.
Шансы на десятку сохраняют empacher (118, 4.211) и Ogarok_dima (111, 3.283). Я упоминаю только тех участников, которые проявляли активность в течение последних дней. Список кандидатов значительно шире, но многие из них пока затаились :-).
Новые участники появились и в сотне: Pushkin (101, 3.301), Нина (96, 7.284) и SergeyTich (93, 1.786).

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

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

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

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

Лучшие результаты (ТОР 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 23 Nov 2005
2 Зверев Д.Л. (dimzv) 137 137 20 312 643 2.900 08 Aug 2005 23 Nov 2005
3 Кувалкин К.С. (Cyrilus) 137 137 20 312 224 5.129 06 Jul 2005 25 Nov 2005
4 Голубин Р.С. (Roman S. Golubin) 137 137 20 312 48 6.480 05 Oct 2005 24 Nov 2005
5 Носков Н.В. (niko2) 137 137 20 312 47 7.855 22 Aug 2005 27 Oct 2005
6 Гонтовой В.А. (noname) 137 137 20 312 105 9.808 29 Jun 2005 10 Nov 2005
7 Леденев С.А. (Shurgenz) 137 137 20 312 313 9.900 27 Jun 2005 25 Nov 2005
8 >Тарасов Д.Б. (Gavrila) 137 137 20 312 91 10.512 25 Nov 2005 25 Nov 2005
9 Бураков С.Г. (burakov58) 137 137 20 312 164 12.100 12 Jul 2005 17 Nov 2005
10 Крижевич С.А. (yaff) 137 137 20 312 134 14.340 11 Nov 2005 22 Nov 2005
11 Валуев Д.И. (Fiolent) 137 137 20 312 662 26.627 27 Jun 2005 25 Nov 2005
12 Страшников А.С. (EffEct) 137 137 20 312 164 54.939 26 Oct 2005 23 Nov 2005
13 Галиаскаров Э.Г. (Galogen) 137 137 20 312 221 61.437 01 Jul 2005 31 Oct 2005
14 Мельникова И.А. (Iris_m) 137 137 20 312 478 91.764 02 Sep 2005 10 Oct 2005
15 Войнов П.Е. (pаparome) 136 136 20 308 92 1.655 24 Nov 2005 25 Nov 2005
16 Gershovich (VIG) 136 136 20 308 895 13.954 23 Aug 2005 25 Nov 2005
17 Колосов А.С. (KAS) 134 137 20 306 25 3.398 11 Mar 2005 30 Oct 2005
18 Алалыкин В.М. (BOBAH) 135 135 20 305 101 28.244 01 Sep 2005 16 Nov 2005
19 Сныткин В.Л. (Ded I) 134 136 20 304 252 7.456 12 May 2005 16 Nov 2005
20 Рахманов И.Е. (bloom) 134 136 20 304 148 14.171 11 May 2005 09 Oct 2005

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

No surname n_sel sel_all sel_scores dml_scores scores rating last_visit
1 >Тихонравов С.В. (SergeyTikh) 53 93 107 32 139 98 25 Nov 2005
2 >Подлесных С. (serg-p) 47 53 87 9 96 550 25 Nov 2005
3 Ха (Николай Ха) 42 42 72 0 72 876 23 Nov 2005
4 >Тимофеева (ote) 42 42 66 3 69 909 25 Nov 2005
5 Пушкин А.С. (Pushkin) 32 101 67 0 67 74 24 Nov 2005
6 Полянский А.Н. (Pessimist) 30 30 55 0 55 1180 22 Nov 2005
7 Sostavin (sst666) 30 30 55 0 55 1181 23 Nov 2005
8 >Башкирцева И. (Irane) 32 32 54 0 54 1209 25 Nov 2005
9 >Самохвалов В. (ValdemarES) 8 70 21 32 53 157 25 Nov 2005
10 Иванов А.Н. (Goapsy) 23 87 51 0 51 113 25 Nov 2005
11 >Lapina N. (Adariya) 33 33 42 0 42 1476 25 Nov 2005
12 Ananina V. (Tina) 7 57 20 20 40 332 25 Nov 2005
13 >Старосельцев В.Б. (Sotlef) 20 46 33 7 40 718 25 Nov 2005
14 >Дрис А.И. (Lexx) 7 60 19 19 38 220 25 Nov 2005
15 >Васильева Н. (Нина) 18 96 37 0 37 86 25 Nov 2005
16 >Кунилов А.В. (Shrek) 5 60 11 23 34 295 25 Nov 2005
17 ivanova T. (ivanova) 18 59 34 0 34 471 24 Nov 2005
18 Ширшов Р.С. (MrZuke) 12 44 25 8 33 723 23 Nov 2005
19 Jones (raimille) 13 43 23 9 32 736 23 Nov 2005
20 Тарасова О.Н. (Olya) 22 22 32 0 32 1867 24 Nov 2005
21 >Ильинская (Анимаг) 22 22 32 0 32 1868 25 Nov 2005
22 Chaplits V. (Ziavra) 22 22 31 0 31 1915 24 Nov 2005
23 >dolenjashvili Z. (dole) 22 22 31 0 31 1945 25 Nov 2005
24 >Суханов С.С. (Серёга) 8 56 22 8 30 368 25 Nov 2005

Изучаем SQL

Управление безопасностью SQL Server средствами Microsoft Access (продолжение, начало в вып.60-62)

Rick Dobson, Ph.D. (оригинал: Managing Microsoft SQL Server Security with Microsoft Access )
Выборочный перевод Леденева С. А.

Подключение к SQL серверу

Подобно тому, как вы можете подключиться к SQL Server двумя способами, используя диалог Свойства соединения в проекте ADP, Вы можете подключиться к SQL Server двумя способами через SQL-DMO. Один способ соответствует аутентификации средствами SQL Server. Используя этот способ, Ваш код должен посылать имя сервера, логин, и пароль через SQL-DMO на сервер. Вы можете использовать параметр "имя сервера" для указания различных экземпляров SQL Server на локальной рабочей станции или на другой рабочей станции в сети. SQL-DMO также позволяет Вам соединяться, указав только имя сервера. В этом случае, SQL-DMO посылает идентификатор авторизованного в Windows пользователя на экземпляр SQL сервера. Для того чтобы использовать этот способ, следует установить свойство LoginSecure сервера в значение True.

На следующем листинге показана пара процедур, демонстрирующих синтаксис подключения к экземпляру SQL Server, используя логин SQL Server. Первая процедура определяет три строковых параметра для имени сервера (srvname), логина (suid) и пароля (pwd). Далее она посылает их второй процедуре, которая начинается инициализацией объекта SQLServer. Этот объект представляет экземпляр сервера. Затем вторая процедура вызывает метод Connect объекта SQLServer. Этот метод принимает на вход три параметра. Демонстрируется синтаксис передачи переменных имени сервера, логина и пароля.

Sub CallSQLDMOSQLServerLogin()
    Dim srvname As String
     Dim suid As String
     Dim pwd As String

     'Определение аргументов для логина SQL сервера
     srvname = "YOUR_SERVER_NAME"
     suid = "your_login_name"
     pwd = "your_password"

     'Вызов процедуры подключения способом логина SQL сервера
     SQLDMOSQLServerLogin srvname, suid, pwd

End Sub

Sub SQLDMOSQLServerLogin(srvname As String, _
     suid As String, pwd As String)
     Dim srv1 As SQLDMO.SQLServer
     'Экземпляр сервера
     Set srv1 = New SQLDMO.SQLServer

     'Вызов метода Connect для подключения способом логина SQL сервера
     srv1.Connect srvname, suid, pwd

     'Очистка переменных
     srv1.Disconnect
     Set srv1 = Nothing

End Sub

Следующий пример кода демонстрирует синтаксис подключения к экземпляру SQL Server, используя логин Windows, основанный на идентификаторе пользователя Windows. В этом втором способе подключения к серверу не требуется указывать ни логин, ни пароль. SQL-DMO автоматически принимает идентификатор пользователя Windows и подключает пользователя к серверу с логином для идентификатора пользователя. Установите свойство LoginSecure в True перед вызовом метода Connect. По умолчанию значение этого свойства равно False.

Sub CallSQLDMOWindowsLogin()
     Dim srvname As String
     'Устанавливаем аргумент для логина Windows
     srvname = "YOUR_SERVER_NAME"

     SQLDMOWindowsLogin srvname

End Sub

Sub SQLDMOWindowsLogin(srvname As String)
     Dim srv1 As SQLDMO.SQLServer

     'Экземпляр сервера
     Set srv1 = New SQLDMO.SQLServer

     'Устанавливаем свойство LoginSecure перед вызовом
     'метода Connect с именем сервера в качестве аргумента
     srv1.LoginSecure = True
     srv1.Connect srvname

     'Очистка переменных
     srv1.Disconnect
     Set srv1 = Nothing

End Sub

Изменение режима аутентификации

Одним из основных преимуществ, которое дает SQL-DMO программистам, работающим с MSDE и MSDE 2000, является реализация этой возможности, которая иначе была бы им недоступна. Вызвано это тем, что Enterprise Manager не включен в установочный пакет MSDE или MSDE 2000. К примеру, клиентский компонент SQL Server Enterprise Manager дает возможность администраторам графическими средствами изменить режим аутентификации сервера:Windows аутентификация или смешанный режим. Проект ADP не предоставляет такой возможности. Однако следующая пара процедур позволит Вам изменить режим аутентификации сервера, даже не имея возможности использовать Enterprise Manager.

Первая процедура определяет значение одного параметра и посылает его второй процедуре. Этот параметр определяет один из двух режимов аутентификации. В комментариях к процедуре показаны имена двух предопределенных констант в соответствии с режимом аутентификации. Смешанный режим аутентификации является режимом по умолчанию. SQL-DMO позволяет установить режим аутентификации, который недоступен даже в Enterprise Manager. Другими словами, Вы можете использовать SQL-DMO для указания серверу принимать только логины SQL Server.

Вторая процедура выполняет подключение к серверу с использованием идентификатора пользователя Windows. Затем она устанавливает свойство SecurityMode объекта IntegratedSecurity для сервера в значение параметра, переданного ей из первой процедуры. Если значение этого свойства меняет режим аутентификации, режим не сменится, пока Вы не остановите и не перезапустите сервер. Однако вызов метода Stop объекта сервера не может моментально остановить сервер. Вы должны подождать, пока сервер не остановится. При помощи свойства Status объекта сервера Ваша программа может следить за сообщением, что сервер остановился. Процедура использует цикл, ожидая смены значения Status на SQLDMOSvc_Stopped. Далее процедура выполняет метод Start объекта SQLServer. Вызов этого метода установит новый режим аутентификации для сервера.

Sub CallChangeServerAuthenticationMode()
     Dim constAuth As Byte

     'Устанавливаем constAuth в:
     ' SQLDMOSecurity_Integrated для изменения на режим
     ' аутентификации Windows
     ' SQLDMOSecurity_Mixed для изменения на смешанный режим аутентификации

     'Установка значения по умолчанию для constAuth
     constAuth = SQLDMOSecurity_Mixed

     'вызов процедуры для изменения режима аутентификации
     ChangeServerAuthenticationMode constAuth

End Sub

Sub ChangeSeverAuthenticationMode(constAuth As Byte)
     Dim srv1 As SQLDMO.SQLServer

     'Устанавливаем имя сервера;
     'по умолчанию YOUR_SERVER_NAME
     srvname = "YOUR_SERVER_NAME"

     'экземпляр объекта SQLServer для соединения
     'используем Windows аутентификацию
     Set srv1 = New SQLDMO.SQLServer
     srv1.LoginSecure = True
     srv1.Connect srvname

     'Устанавливаем свойство SecurityMode для Windows
     'или смешанной аутентификации
     srv1.IntegratedSecurity.SecurityMode = constAuth
     srv1.Disconnect

     'Вызываем команду на останов и ждем
     'пока не остановится
     srv1.Stop
     Do Until srv1.Status = SQLDMOSvc_Stopped
     Loop

     'Рестартуем сервер со смешанным типом аутентификации
     srv1.Start True, srvname

     'Clean up
     srv1.Disconnect
     Set srv1 = Nothing

End Sub

(Продолжение следует...)

Контакты

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

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

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

В избранное