Создание и удаление бд и её элементов
Перед выполнением SQL-команд, которые будут встречаться в данном разделе и последующих необходимо:
– запустить утилиту pgAdmin III;
– подключиться к серверу;
– выбрать БД (в нашем случае это zakazy);
– открыть «Инструмент запросов», в котором и будут выполняться все SQL-команды.
Базы данных
Создание БД.
В PostgreSQL перед созданием любой базы данных необходимо инициализировать область памяти базы данных на диске. Эта область памяти называется кластером базы данных. Кластер базы данных – это коллекция баз данных, управляемых одним экземпляром работающего сервера базы данных (другими словами, процессом postmaster). В терминах файловой системы, кластер базы данных – это общий каталог, в котором хранятся все данные. Обычно в качестве владельца сервера и его данных используется одна учетная запись пользователя, которая называется учетная запись Postgres. Для выполнения многих операций (например, для запуска сервера) требуется, чтобы вы вошли в систему с учетной записи этого пользователя.
После инициализации кластер базы данных содержит базу данных postgres, которая по умолчанию используется утилитами, пользователями и сторонними приложениями. Кроме того, создается еще одна база данных (называемая template1), которая используется в качестве шаблона для создания новых баз данных. При установке СУБД мы установили флажок «Инициализировать кластер базы данных», поэтому этот шаг мы пропускаем.
Команда SQL CREATE DATABASE создает новую БД и имеет следующий синтаксис:
CREATE DATABASE имя_БД
[WITH [TEMPLATE = шаблон ] [ ENCODING = копировка] ]
Параметр имя_БДопределяет имя создаваемой базы данных. Имена баз данных должны начинаться с алфавитного символа, а их длина не должна превышать 31 символа. PostgreSQL позволяет создать в заданном каталоге любое количество баз данных (естественно, при наличии свободного места на диске).
За необязательным ключевым словом WITH можно указать дополнительные атрибуты:
– TEMPLATE = шаблон. Шаблон, используемый в качестве прототипа для создания новой базы данных. Все объекты, присутствующие в шаблоне, воспроизводятся в созданной базе. Если шаблон не задан, PostgreSQL создает новую базу данных на основе шаблона templatel. Если вы хотите создать пустую базу данных, не содержащую объектов из templatel, укажите шаблон template0.
– ENCODING = кодировка. Значение параметра определяется либо в виде строковой константы, описывающей тип кодировки (UTF8, win1251 и т. д.), либо в виде эквивалентной числовой константы PostgreSQL. Если ключевое слово ENCODING не задано, PostgreSQL создает базу данных в кодировке по умолчанию, которую указывали при установке.
Пример создания новой БД
После подключения к серверу необходимо выбрать БД postgres, которая создается при установке СУБД. Нажимаем по пиктограмме «Выполнить пользовательские SQL запросы».
Ввести и выполнить слудующую SQL-команду:
CREATE DATABASE uch_DB
WITH OWNER = postgres
ENCODING = 'WIN1251'
| Рис. 3. Создание базы данных uch_DB с помощью диалога uch_DB
| При этом если обновить браузер объектов, появится новая БД – zakazy.
Для создания базы данных можно также воспользоваться визуальным средствами pgAdmin III.
| Рис. 4. Создание базы данных с помощью визуального средства
|
Удаление БД
Команда DROP DATABASE– удалят БД. Ее синтаксис:
DROP DATABASE имя_БД
Параметр данной команды определяет имя базы данных, удаляемой из системы. Учтите, что удаление базы данных возможно лишь при отсутствии подключившихся пользователей, в противном случае команда завершается неудачей.
Схемы в PostgreSQL
База данных могут содержать одну или более именованных схем, которые содержат таблицы. Схемы также содержат и другие виды именованных объектов, включая типы данных, функции и операторы. То же самое имя объекта может без какого-либо конфликта использоваться в других схемах, например, схемы schema1 и myschema могут содержат таблицы с именем mytable. В отличие от баз данных, схемы жёстко не разделяются: пользователь может получить доступ к объектам в любой схеме в пределах базы данных, к которой он подключён, если у него есть соответствующие привилегии.
Существует несколько причин для использования схемы:
– для разрешения нескольким пользователям использовать одну базу данных, не смешивая их данные.
– для организации объектов базы данных в логические группы, чтобы сделать их более прозрачными в управлении.
– разные приложения могут быть размещены в отдельных схемах, чтобы не было конфликтов в использовании имён объектов.
Схемы являются аналогами каталогов в операционной системе, за исключением того, что схемы не могут быть вложенными.
Схема PUBLIC
В следующих разделах мы будем создавать таблицы и другие элементы БД. Если не указывать имя схемы, то по умолчанию, такие таблицы (и другие элементы) автоматически помещаются в схему с именем «public». Каждая новая база данных содержит такую схему. Таким образом, следующие примеры эквивалентны:
CREATE TABLE sluzhashie (...);
CREATE TABLE public.sluzhashie (...);
Команда CREATE SСHEMA
Для создания схемы, используем команду SQL CREATE SCHEMA имя_схемы. Например:
CREATE SCHEMA zakazy;
Чтобы создать объект в схеме или получить к нему доступ, необходимо указать полное имя, которое состоит из имени схемы и имени таблицы, которые отделяются друг от друга точкой: схема.таблица.
Это работает везде, где необходимо указывать имя таблицы, включая команды модификации таблиц и команды доступа к данными. (Для краткости мы будем говорить только о таблицах, хотя те же самые идеи применимы и к другим видам объектов, таким как типы данных, представления, функции и т.д.)
Можно также использовать более общий синтаксис:
база.схема.таблица,
но его наличие необходимо только для соответствия стандарту SQL. Если вы указываете имя базы данных, оно должно совпадать с той базой данных, к которой вы подключились.
Иногда возникает необходимость создать схему, владельцем которой является кто-то другой. Для ограничения активности ваших пользователей в пределах назначенных им пространств имён необходимо указать владельца схемы.
Для этого необходимо выполнить следующую команду SQL, которую можно выполнить с помощью инструмента выполнения запросов SQL:
CREATE SCHEMA имя_схемы AUTHORIZATION имя_пользователя;
Для создания схемы можно также воспользоваться графическим интерфейсом pgAdmin III. Для этого выберите в дереве базы данных на левой панели главного окна узел схемы и в контекстном меню выберите пункт «Новая схема… ». Далее в окне «Новая схема» введите данные как показано на Рис. 5.
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|