Поиск
Архивы
Админ
Архив рубрики "Разработка"
Предоставление привилегий с помощью WITH GRANT OPTION sql
Иногда создателю таблицы хочется, чтобы другие пользователи могли получить привилегии в его таблице. Обычно это делается в системах, где один или более людей создают несколько (или все) базовые таблицы в базе данных, а затем передают ответственность за них тем, кто будет фактически с ними работать. SQL позволяет делать это с помощью предложения WITH GRANT OPTION. Если... ДАЛЕЕ...
Использование аргументов ALL и PUBLIC sql
SQL поддерживает два аргумента для команды GRANT, которые имеют специальное значение: ALL PRIVILEGES (ВСЕ ПРИВИЛЕГИИ) или просто ALL и PUBLIC (ОБЩИЕ). ALL используется вместо имен привилегий в команде GRANT, чтобы отдать все привилегии в таблице. Например, Diane может дать Stephen весь набор привилегий в таблице Заказчиков с помощью такой команды: GRANT ALL ON Customers TO Stephen; (привилегии UPDATE... ДАЛЕЕ...
Группы привилегий, группы пользователей sql
Вы не должны ограничивать себя предоставлением одиночной привилегии отдельному пользователю командой GRANT. Списки привилегий или пользователей, отделяемых запятыми, являются совершенно приемлемыми. Stephen может предоставить и SELECT и INSERT в таблице Заказов для Adrian GRANT SELECT, INSERT ON Orders TO Adrian; или и для Adrian и для Diane GRANT SELECT, INSERT ON Orders TO Adrian, Diane; Когда привилегии и пользователи... ДАЛЕЕ...
Кто что может делать в базе данных sql
Пользователи Каждый пользователь в среде SQL имеет специальное идентификационное имя или номер. Терминология везде разная, но мы выбрали (следуя ANSI) ссылку на имя или номер как на Идентификатор (ID) доступа. Команда, посланная серверу базы данных, ассоциируется с определенным пользователем, или, иначе, специальным Идентификатором доступа. Поскольку это относится... ДАЛЕЕ...
Проверка представлений, которые базируются на других представлениях sql
Еще одно надо упомянуть относительно предложения WITH CHECK OPTION в ANSI: оно не делает каскадированного изменения: Оно применяется только в представлениях, в которых оно определено, но не в представлениях основанных на этом представлении. Например, в предыдущем примере CREATE VIEW Highratings AS SELECT cnum, rating FROM Customers WHERE rating = 300 WITH CHECK OPTION; попытка вставить или модифицировать значение... ДАЛЕЕ...
Предикаты и исключенные поля sql
Похожая проблема, которую вы должны знать, включает в себя вставку строк в представление с предикатом, базирующемся не на всех полях таблицы. Например, может показаться разумным создать Londonstaff подобно этому: CREATE VIEW Londonstaff AS SELECT snum, sname, comm FROM Salespeople WHERE city = 'London'; В конце концов, зачем включать значение city, если все значения city будут одинаковыми. А как будет выглядеть... ДАЛЕЕ...
Проверка значений, помещаемых в представление sql
Другой вывод о модифицируемости представления тот, что вы можете вводить значения которые "проглатываются" (swallowed) в базовой таблице. Рассмотрим такое представление: CREATE VIEW Highratings AS SELECT cnum, rating FROM Customers WHERE rating = 300; Это — представление модифицируемое. Оно просто ограничивает ваш доступ к определенным строкам и столбцам в таблице. Предположим, что вы вставляете... ДАЛЕЕ...
Что является модифицируемым представлением sql
Имеются некоторые примеры модифицируемых представлений и представлений "только чтение": CREATE VIEW Dateorders (odate, ocount) AS SELECT odate, COUNT (*) FROM Orders GROUP BY odate; Это — представление "только чтение" из-за присутствия в нем агрегатной функции и GROUP BY. CREATE VIEW Londoncust AS SELECT * FROM Customers WHERE city = 'London'; А это — представление модифицируемое. CREATE VIEW SJsales (name, number, percentage) AS SELECT sname, snum, comm 100 FROM Salespeople WHERE... ДАЛЕЕ...
Определение модифицируемости представления sql
Если команды модификации могут выполняться в представлении, представление как сообщалось, будет модифицируемым; в противном случае оно предназначено только для чтения при запросе. Не противореча этой терминологии, мы будем использовать выражение "модифицируемое представление" (updating a view), что означает возможность выполнения в представлении любой из трех... ДАЛЕЕ...
Модифицирование представления sql
Один из наиболее трудных и неоднозначных аспектов представлений — непосредственное их использование с командами модификации DML. Как упомянуто в предыдущей главе, эти команды фактически воздействуют на значения в базовой таблице представления. Это является некоторым противоречием. Представление состоит из результатов запроса, и когда вы модифицируете... ДАЛЕЕ...