Анимация
JavaScript
|
Главная Библионтека Microsoft SQLServeis L-; RJaEW2(S0LEerefS.DJ фС1 DatabasftDevices 1 J Dump Devices В Dilefaaifr: Ч g Liito aliofe a Qj Publics iom. в (2j Groups/UBf*-. S auto тоЫе.рамегщс!, car (dbo) Щ Ьоф [dbol cuslomer (cbo) О fym [dboj !- fLJcLoi! Idbo] i- mcdei (dbc) :-Ш o-deL sale fdbo] Й О Views Tl i J StofedPiocedme Рис. 6.27. Приведем правила SQL Server для присвоения идентификаторов полей: 1. 2. 3. 4. 5. Названия должны быть длиной от 1 до 30 символов. Первым символом может быть буква или знаки "#". Идентификаторы, которые начинаются с зарезервированы для локальных переменных, а идентификаторы, которые начинаются с "#", зарезервированы для временных объектов. Остальными символами могут быть буквы, цифры, знаки "#" или "$". Пробелы внутри названий не допускаются. Названия полей должны быть уникальными для одного и того же пользователя в одной и той же таблице. Названия колонок должны быть уникальными внутри одной таблицы. Самое время сделать несколько замечаний относительно использования русского языка в названиях таблиц и полей. Естественно, что все рассматриваемые СУБД, работающие под управлением Windows 95, прекрасно поддерживают эту возможность. Оказывается, такой на порядок более серьезный продукт, как SQL Server, также позволяет создавать таблицы с русскими полями, более того, имя таблицы также может быть русским. Не возникает проблем и при наращивании БД (upsizing) с русскими названиями полей и таблиц в архитектуру клиент-сервер. Например: CREATE TABLE Таблица с русскими полями (код smallint IDENTITY(1,1) PRIMARY KEY CLUSTERED, наименование varchar(20) NOT NULL, время timestamp) На рис. 6.28 приведен результат выполнения данного примера. После создания таблиц необходимо позаботиться о привилегиях доступа пользователей к той или иной таблице или полю. Привилегии доступа выделяются пользователям или группам посредством оператора GRANT и изымаются с помощью оператора REVOKE. Эти привилегии, как
Рис. 6.28. Применительно к таблицам и представлениям можно управлять следующими правами доступа: • SELECT - право на выборку данных; • INSERT - право на добавление данных; • DELETE - право на удаление данных; • UPDATE - право на обновление данных (можно указать определенные столбцы, разрешенные для обновления); • REFERENCES - право на использование внешних ключей, ссылающихся на данную таблицу (можно указать определенные столбцы). Допустим, что у нас в системе два пользователя, Karina и Lena, которые входят в одно подразделение Piter group, и нам необходимо предоставить полномочия, указанные в табл. 6.6. Таблица 6.6. Образец назначения привилегий доступа для пользователей Таблицы Поля SELECT INSERT DELETE UPDATE Country Firm
Для назначения указанных полномочий создаем группу Piter group: sp addgroup piter group Последовательно создаем процедуры регистрации с именами login lev1, login lev2 и соответствующими им паролями lev1, lev2 для БД Auto Store: sp addlogin login lev1, lev1, auto store sp addlogin login lev2, lev2, auto store Созданные процедуры регистрации появляются в списке, который можно просмотреть в Server Manager, как это показано на рис. 6.29. правило, присваивает владелец соответствующих объектов (он же - администратор базы данных).
, SOL EKec:m:ve Й Database devices ф-Е] Dump Devices Й- -zJ Databases +; auloslofie :+: imasler nnEdb +i lenftpdb S-fe Logins ggin te\y2 -5 Icigin lev3 login Sevi ftj lQgin lev5 5 repl pubisfiei repi iubscriber Й g) SOL to Рис. 6.29. Список Logins - результат выполнения хранимой процедуры sp addlogin Создаем пользователей с именами Karina и Lena для группы Piter group: sp adduser login lev1, karina, piter group sp adduser login lev2, lena, piter group Пользователей в новой группе вы можете увидеть в соответствующем списке Server Manager, как это показано на рис. 6.30. Появились новые пользователи, что является результатом хранимых процедур sp addgroup, sp adduser. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 [ 62 ] 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |