В этом учебном пособии вы узнаете, как создать схему в Oracle с описанием и примерами.
Описание
Создание схемы в Oracle, поначалу может показаться немного запутанной. Вы можете подумать, что оператор CREATE SCHEMA создаст вашу схему, но это не так. Оператор CREATE SCHEMA используется только для создания объектов (т.е. таблиц, представлений и т.д.) в вашей схеме в одном SQL - предложении, но фактически не создает саму схему.
Чтобы создать схему в Oracle, вам необходимо выполнить следующие действия:
1. Создать нового пользователя в Oracle.
По сути, схема создается в Oracle при создании пользователя. (Изучите синтаксис оператора CREATE USER).
Мы можем создать нового пользователя с оператором CREATE USER следующим образом:
1 2 3 4 5 |
CREATE USER samvel IDENTIFIED BY pass4samvel DEFAULT TABLESPACE tbs_01 TEMPORARY TABLESPACE tbs_01 QUOTA 20M on tbs_01; |
Этот оператор CREATE USER создаст нового пользователя samvel в базе данных Oracle, чей пароль pass4samvel, табличное пространство по умолчанию будет tbs_01 с квотой в 20 МБ, а временным табличным пространством будет tbs_01.
Если у вас еще нет табличных пространств, узнайте, как создавать стандартные и временные табличные пространства.
2. Назначение привилегий SYSTEM новому пользователю в Oracle
Следующим шагом в настройке вашей схемы является назначение «системных привилегий» новому пользователю samvel.
Эти «системные привилегии» позволят нашему новому пользователю создавать сессию в Oracle, а также создавать таблицы, представления, триггеры, процедуры, последовательности и синонимы в новой схеме. Вот пример того, как мы можем предоставить эти системные привилегии:
1 2 3 4 5 6 7 |
GRANT create session TO samvel; GRANT create table TO samvel; GRANT create view TO samvel; GRANT create any trigger TO samvel; GRANT create any procedure TO samvel; GRANT create sequence TO samvel; GRANT create synonym TO samvel; |
Эти новые привилегии теперь предоставляются пользователю, называемому samvel.
3. Создание объектов в схеме
Теперь, когда схема (называемая samvel) была создана с необходимыми привилегиями, вы можете создавать объекты в схеме. Это можно сделать одним из двух способов:
- Выполнение отдельных операторов SQL для создания каждого объекта. Это будет сделано с помощью операторов CREATE TABLE и CREATE VIEW.
- Выполнение оператора CREATE SCHEMA для создания нескольких объектов в одном выражении SQL.
4. Привилегии Grant объекта
После того, как вы создали свои объекты в схеме, вам необходимо предоставить привилегии, чтобы другие схемы/пользователи могли обращаться к вашим объектам базы данных (т.е. таблицам).
5. Создание синонимов для объектов
В качестве последнего шага вам может понадобиться создать синонимы, чтобы другие схемы могли обращаться к новым объектам базы данных (т.е. таблицам) без необходимости префикса имен объектов с именем схемы.
Например, если бы вы были другим пользователем с именем samvel и хотели выбрать из таблицы suppliers в схеме new_schema, вам нужно было бы запустить следующий оператор SELECT (до создания любых синонимов):
1 2 |
SELECT * FROM new_schema.suppliers; |
Если вы затем создали синоним таблицы suppliers следующим образом:
1 2 |
CREATE PUBLIC SYNONYM suppliers FOR new_schema.suppliers; |
Вы можете выполнить оператор SELECT следующим образом:
1 2 |
SELECT * FROM suppliers; |
Префикс имени таблицы с именем схемы больше не нужен.