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

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


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

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

http://www.sql-ex.ru

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

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

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

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

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


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

§ По предложению man2 внесено уточнение в формулировку задачи 79.

§ Дошли, наконец, руки, добавить данные для проверки задачи 136. Уже давно было замечено (burakov58 и Roman S. Golubin), что система принимает учитывающие не все варианты решения. Задача далекая, потому и не спешил :-).

§ Первый сертификат отправлен в Канаду.

§ Как это ни печально, опять пришлось применять жесткие меры. Удалена учетная запись Петрова А.И. (Lord Alex), так как его решения были заимствованы у Стройнова Д.С. (Voland3D).

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

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

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

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

Лучшие результаты (ТОР 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 19 Oct 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 11 Nov 2005
4 Голубин Р.С. (Roman S. Golubin) 137 137 20 312 48 6.480 05 Oct 2005 11 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 08 Nov 2005
8 Бураков С.Г. (burakov58) 137 137 20 312 164 12.100 12 Jul 2005 09 Sep 2005
9 Крижевич С.А. (yaff) 137 137 20 312 134 14.340 11 Nov 2005 11 Nov 2005
10 Валуев Д.И. (Fiolent) 137 137 20 312 662 26.627 27 Jun 2005 11 Nov 2005
11 Страшников А.С. (EffEct) 137 137 20 312 164 54.939 26 Oct 2005 03 Nov 2005
12 Галиаскаров Э.Г. (Galogen) 137 137 20 312 221 61.437 01 Jul 2005 31 Oct 2005
13 Мельникова И.А. (Iris_m) 137 137 20 312 478 91.764 02 Sep 2005 10 Oct 2005
14 Gershovich (VIG) 136 136 20 308 895 13.954 23 Aug 2005 11 Nov 2005
15 Колосов А.С. (KAS) 134 137 20 306 25 3.398 11 Mar 2005 30 Oct 2005
16 Алалыкин В.М. (BOBAH) 135 135 20 305 101 28.244 01 Sep 2005 04 Nov 2005
17 Сныткин В.Л. (Ded I) 134 136 20 304 252 7.456 12 May 2005 09 Sep 2005
18 Рахманов И.Е. (bloom) 134 136 20 304 148 14.171 11 May 2005 09 Oct 2005
19 Hakobyan H.H. (hamlet) 134 136 20 304 220 37.869 07 May 2005 15 Oct 2005
20 Шипунов И. (IAS) 134 136 20 304 334 82.080 13 May 2005 26 May 2005

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

No surname n_sel sel_all sel_scores dml_scores scores rating last_visit
1 Филиппова О.А. (Olena) 46 58 93 3 96 455 11 Nov 2005
2 Lamaev V.M. (Heromantor) 51 51 87 5 92 604 09 Nov 2005
3 Babanskiy D. (Dymm.) 46 58 79 5 84 449 11 Nov 2005
4 >Дрис А.И. (Lexx) 46 46 73 3 76 787 12 Nov 2005
5 Волкова (Глаша) 40 40 72 3 75 801 11 Nov 2005
6 Гурьев Н.О. (Николай) 36 40 67 2 69 825 11 Nov 2005
7 Львова Л.В. (LvovaLuVict) 44 44 68 0 68 903 11 Nov 2005
8 Суханов С.С. (Серёга) 30 48 57 9 66 627 11 Nov 2005
9 Popov (Sam Stialy) 37 37 65 0 65 945 09 Nov 2005
10 Ivanov I.G. (dNA) 26 49 52 8 60 584 11 Nov 2005
11 Vahrusheva T.E. (TanjaV) 26 46 51 9 60 655 12 Nov 2005
12 Бутов Н.Н. (User_Name) 10 65 22 32 54 178 11 Nov 2005
13 B (_volod_) 29 29 52 0 52 1217 10 Nov 2005
14 Крылов (Black_Scorpion) 27 48 51 0 51 699 11 Nov 2005
15 Артемьева И. (Irq) 36 36 51 0 51 1239 10 Nov 2005
16 Surname (Pathfinder) 32 32 51 0 51 1244 11 Nov 2005
17 Огарок Д.А. (ogarok_dima) 23 92 49 0 49 96 11 Nov 2005
18 Васильева (Нина) 17 64 38 11 49 313 11 Nov 2005
19 Багиров М.Н. (psix666) 24 43 40 9 49 823 09 Nov 2005
20 >Иванов А.Н. (Goapsy) 28 28 49 0 49 1290 11 Nov 2005
21 Протасов Д. (pro_dimon) 20 27 40 7 47 1191 11 Nov 2005
22 Ивануна А. (tango) 10 58 26 20 46 301 11 Nov 2005
23 Добрынина И. (Ирина&Оля) 13 56 34 9 43 446 11 Nov 2005
24 Старосельцев В.Б. (Sotlef) 26 26 43 0 43 1423 09 Nov 2005
25 Яковлев Я.Е. (Envious) 24 24 37 3 40 1520 11 Nov 2005

Изучаем SQL

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

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

Пользователи и фиксированные роли баз данных

Обычно пользователи получают доступ к SQL Server, чтобы работать с одной или несколькими базами данных. Для этой цели SQL сервер имеет механизм приведения в соответствие логинов с базами данных. Так же как SQL сервер может иметь один или больше логинов, каждый логин может иметь одну или больше учетных записей, с ним ассоциированных. Однако одна учетная запись соответствует только одному логину (за двумя исключениями). Документация SQL сервера определяет учетные записи как пользователей баз данных (или пользователей - users). Каждый пользователь базы данных имеет доступ к этой базе данных.

SQL сервер может предоставить пользователям баз данных право владения базой данных и разрешения на использование объектов базы данных. SQL сервер обеспечивает назначение разрешений внутри базы данных на двух независимых уровнях. На первом уровне Вы можете назначить один или несколько кластеров разрешений пользователю. Документация SQL сервера определяет эти кластеры как фиксированные роли базы данных. Я назвал их кластерами разрешений, поскольку они могут объединять в себе разрешения на многие объекты базы данных. Например, одна фиксированная роль (db_datareader) позволяет Вам читать данные из любой таблицы базы данных-не только из какой-то одной или двух определенных таблиц. На втором уровне Вы можете назначать разрешения на уровне конкретных объектов базы данных. SQL сервер позволяет сочетать оба способа: пользователь может быть членом одной или нескольких фиксированных ролей базы данных а также иметь специфические разрешения на конкретные объекты базы данных. Я расскажу об управлении разрешениями на конкретные объекты базы данных в следующем разделе.

Два специальных пользователя могут ассоциироваться с более чем одним логином. Это пользователи dbo и guest. Пользователь dbo является членом фиксированной серверной роли sysadmin, и может создавать объекты на сервере, такие как базы данных или таблицы базы данных. Пользователь, логин которого не принадлежит фиксированной серверной роли sysadmin, также может создавать объекты баз данных, такие, как таблицы.

Видимость объектов в Окне базы данных проекта ADP зависит от того, принадлежит ли логин проекта фиксированной серверной роли sysadmin. Если логин проекта ADP является членом роли sysadmin, в Окне базы данных показываются все объекты, владельцем которых является пользователь dbo, без круглых скобок после их имен. Для пользователей dbo все объекты, владельцами которых являются другие пользователи, кроме dbo, показываются с именем пользователя, заключенного в круглые скобки после имени объекта базы данных. В случае если логин проекта ADP не принадлежит роли sysadmin, имена объектов, владельцем которых является этот пользователь, показываются в окне базы данных без круглых скобок. Имена объектов, владелец которых пользователь dbo показываются с суффиксом (dbo). Объекты, владельцы которых не являются пользователями логина проекта ADP или пользователя dbo, не показываются в Окне базы данных.

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

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

Один из наиболее быстрых и простых способов предоставления пользователю прав на выполнение функций в базе данных это назначение пользователя членом фиксированных ролей баз данных. Существует девять фиксированных ролей баз данных на SQL сервере, они одинаковы для SQL Server 7.0 и SQL Server 2000. Имена и краткое описание фиксированных ролей баз данных приведены в следующей таблице. Выполнив системную хранимую процедуру sp_helpdbfixedrole можно получить список имен фиксированных ролей баз данных. Вызов системной хранимой процедуры sp_dbfixedrolepermission вернет табличный набор со специфическими разрешениями для каждой фиксированной роли базы данных.

Имя фиксированной роли базы данных Описание фиксированной роли базы данных
db_owner Неограниченные полномочия в базе данных.
db_accessadmin Для добавления и удаления пользователей базы данных.
db_datareader Для чтения из таблиц и представлений (views) базы данных.
db_datawriter Для добавления (insert), редактирования (update) и удаления (delete) записей таблиц и представлений базы данных.
db_ddladmin Для выполнения любого оператора SQL Data Definition Language (или выполнения этих функций с помощью графического интерфейса) в базе данных.
db_securityadmin Для управления членством пользователей в ролях, разрешением доступа к объектам и владением базой данных.
db_backupoperator Для создания резервных копий (backing) и восстановления из них (restoring) базы данных.
db_denydatareader Для запрета (или отмены) разрешения на любую выборку (SELECT) из конкретного объекта базы данных.
db_denydatawriter Для запрета (или отмены) разрешения на любой оператор INSERT, UPDATE или DELETE, выполняемый с конкретным объектом базы данных.

Назначение пользователям фиксированных ролей базы данных сказывается на функциях, которые пользователи смогут выполнять. Есть возможность изменять влияние членства пользователя в фиксированной роли баз данных назначением разрешений пользователю на конкретные объекты базы данных. Для простоты, в этом разделе об этом не говорится, однако следующий раздел посвящен назначению разрешений на конкретные объекты и определенным пользователем (user-defined) ролям базы данных. В Окне базы данных не показываются никакие таблицы, пока пользователь для логина проекта ADP не является членом фиксированной роли базы данных db_datareader. Пользователь без членства в роли db_backupoperator не может выполнять команды меню: Архивировать (Backup) или Восстановить (Restore) (меню Сервис (Tools), подменю Служебные программы (Database Utilities)). Соответственно, не могут создавать таблицы или другие объекты в базе данных пользователи без членства в фиксированной роли базы данных db_ddladmin. Средствами Окна базы данных, пользователь без членства в роли db_ddladmin может редактировать объекты сервера, такие как таблицы и представления, или создавать новые, однако, отредактированные и созданные объекты не будут сохранены в базе данных.

Члены фиксированной роли db_owner базы данных могут выполнять все функции предоставляемые членством в любой другой роли базы данных. Так как логины этой роли могут создавать базы данных без членства в фиксированной серверной роли sysadmin, члены группы db_owner не обязаны быть пользователями dbo. В дальнейшем, члены фиксированной серверной роли sysadmin могут выполнять любые функции в базе данных, которые может выполнить член группы db_owner. Дополнительно, таблицы и представления, созданные пользователем dbo, обладают улучшенной видимостью по сравнению с таблицами и представлениями, созданным членами роли db_owner, которые в то же время не являются членами фиксированной серверной роли sysadmin.

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

Контакты

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

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

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

В избранное