Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала
- Название:Oracle SQL. 100 шагов от новичка до профессионала
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:11
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала краткое содержание
Более 500 практических заданий.
Более 1000 разобранных примеров.
Учебник справочник по языку SQL.
Oracle SQL. 100 шагов от новичка до профессионала - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
GRANT SELECT ON USER2.t2 TO USER1;
На оператор UPDATE для USER1 для таблицы USER2.t2:
GRANT UPDATE ON USER2.t2 TO USER;
На INSERT с возможностью пользователя передавать другим эту привилегию для таблицы USER2.t2:
GRANT INSERT, UPDATE, SELECT ON USER2.t2 TO USER1 WITH GRANT OPTION;
Системные привилегии
Системные права позволяют пользователю выполнить конкретное действие в базе данных либо действие с любым объектом схемы конкретного типа.
Перечень системных привилегий:
CREATE TABLESPACE — права на создание табличного пространства.
CREATE USER — права на создание пользователя.
DROP USER — права на удаление пользователя.
ALTER USER — права на изменение пользователя.
GRANT ANY PRIVILEGE — права на назначение любой привилегии.
INSERT ANY TABLE — права на вставку в любую таблицу.
DELETE ANY TABLE — права на удаление.
CREATE PROCEDURE — права на создание в схеме пользователя хранимой процедуры, функции или пакета.
CREATE VIEW — права на создание в схеме пользователя представления.
CREATE SEQUENCE — права на создание в схеме пользователя последовательности.
CREATE TABLE — права на создание пользователя таблицы.
CREATE SESSION — права на создание соединения с базой данных.
CREATE DATABASE LINK — права на создание в схеме пользователя таблицы.
Пример
GRANT CREATE TABLE TO USER1; — права на создание таблицы USER1
GRANT CREATE SEQUENCE TO USER1; — права на создание последовательности USER1
GRANT CREATE VIEW TO USER1; — права на создание представления USER1
GRANT CREATE USER TO USER1; — права на создание пользователя USER1
Роли
Роль включает набор прав и системных привилегий. Роль может быть назначена указанным пользователям.
Создание ролей: CREATE ROLE NEWROLE;
Предоставление привилегий роли: GRANT CREATE TABLE, CREATE PROCEDURE, CREATE TRIGGER, CREATE VIEW, CREATE SEQUENCE.
TO NEWROLE;
Связь роли с пользователем: GRANT NEWROLE TO USER1;
Вопросы учеников
Для чего все же нужны роли?
Роль позволяет предварительно задать наборы прав для определенных групп бизнес-пользователей. После чего назначать этим пользователям не права по отдельности, а готовые бизнес-роли.
Можно ли создать схему без создания пользователя?
Нельзя, но можно создать пользователя без прав соединения, в этом случае будет создана схема.
Контрольные вопросы и задания для самостоятельного выполнения
1. Объясните отличия системных привилегий от объектных привилегий.
2. Напишите команду, которая бы предоставила пользователю USER2 права на создание таблиц и представлений.
3. Создайте новую роль с правами на создание последовательности (SEQUENCE) и создание таблиц, назначьте эту роль пользователю USER2.
4. Дайте права на чтение из таблицы USER1.t1 пользователю t2.
Шаг 93. Системные представления. Сведения об объектах схемы
Введение
В ORACLE существуют специальные таблицы и представления, из которых можно получить сведения о структуре базы данных и структуре объектов базы данных. Эти сущности являются системными представлениями и системными таблицами словаря данных.
Теория и практика
Основные системные таблицы и представления, доступные пользователю без специальных разрешений:
ALL_OBJECTS — сведения об основных объектах, доступных этому пользователю; это таблицы, представления, функции, процедуры, и это наиболее важное из всех системных представлений.
Системное представление ALL_OBJECTS содержит следующую значимую информацию:
Запрос к системному представлению ALL_OBJECTS:
ALL_SEQUENCES — сведения об описании последовательностей, доступных пользователю.
Содержит следующую важную информацию:
Запрос к системному представлению ALL_SEQUENCES:
Рисунок 222. Все последовательности SQ
ALL_SOURCE — исходный текст кода объектов, доступных пользователю. Это может быть текст функций, процедур, триггеров.
ALL_SOURCE содержит следующую важную информацию:
Запрос к ALL_SOURCE:
Рисунок 223. Запрос к ALL_SOURCE
ALL_SYNONYMS — сведения о синонимах, доступных пользователю.
ALL_SYNONYMS содержит следующую важную информацию:
Запрос к ALL_SYNONYMS:
Рисунок 224. Запрос к ALL_SYNONIMS
USER_TABLES (ALL_TABLE) — подробные данные о каждой таблице пользователя.
USER_TABLES содержит следующую важную информацию:
Запрос к USER_TABLES:
Рисунок 225. Запрос к USER_TABLES
USER_TAB_COLUMNS — описание колонок всех таблиц пользователя, подробное описание.
USER_TAB_COLUMNS содержит следующую важную информацию:
Запрос к USER_TAB_COLUMNS для таблицы AUTO:
Рисунок 226. Запрос к USER_TAB_COLUMNS
USER_TAB_COMMENTS — комментарии к таблицам и представлениям, принадлежащим пользователю.
USER_TAB_COMMENTS содержит следующую важную информацию:
Важные замечания
USER_TABLES является синонимом для ALL_TABLES.
USER_ COLUMN является синонимом для ALL_COLUMN.
Вопросы учеников
Как посмотреть состояние всех последовательностей для текущего пользователя?
Попробуйте выполнить запрос:
Колонка LAST_NUMBER — это последнее число последовательности.
Контрольные вопросы и задания для самостоятельного выполнения
1. Повторите материалы данного шага.
2. Каким запросом найти последнее время изменения объекта?
3. Каким запросом найти все представления данной схемы, данного пользователя?
4. Каким запросом найти тип колонки MARK для таблицы AUTO?
Шаг 94. Системные представления. Сведения об объектах базы данных
Введение
Для данного шага требуется установка дополнительного программного обеспечения ORACLEExpress, SQLDEVELOPER. Как это сделать, подробно описано в шаге 51.
Cуществуют специальные системные таблицы и представления, из которых можно получить сведения о структуре базы данных и структуре объектов базы данных, текущих сессиях и процессах в базе данных. На работу с данными представлениями необходимо специальное разрешение.
Для просмотра информации из представлений необходимо соединиться с базой данных под пользователем SYS с ролью SYSDBA.
Разберем каждое из этих представлений подробнее.
Теория и практика
Ниже рассматриваются наиболее важные системные представления, наиболее часто используемые во время практической работы.
V$DATABASE показывает информацию о базе данных из CONTROL-файла. Для того чтобы посмотреть информацию о базе данных из CONTROL-файла, основные параметры базы данных, используется представление V$DATABASE.
Запрос к V$DATABASE на просмотр информации о базе:
Рисунок 227. Просмотр информации о базе
V$VERSION показывает номер версии ядра библиотеки в ORACLE DATABASE.
Это представление используется для получения исчерпывающей подробной информации о базе данных и экземпляре.
Интервал:
Закладка: