Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Базы данных. Практический курс. В 2 частях. Ч.1. Объектно-реляционные базы данных на примере PostgreSQL 9.5. Учебное пособие.pdf
X
- •Введение
- •Контрольные вопросы
- •Создание базы данных
- •Создание таблиц
- •Создание последовательностей
- •Ввод данных
- •Оператор CREATE TABLE
- •Оператор ALTER TABLE
- •Операторы DROP TABLE и DROP
- •Создание индексов
- •Контрольные вопросы
- •Средства определения данных языка SQL
- •Средства запроса данных языка SQL
- •Чтение заданных столбцов из одиночной таблицы
- •Чтение заданных строк из одиночной таблицы
- •Чтение заданных строк и столбцов из одиночной таблицы
- •Сортировка результатов
- •Агрегатные функции и группировка
- •Оконные функции
- •Чтение данных из нескольких таблиц с применением вложенных запросов
- •Чтение данных из нескольких таблиц с помощью операции соединения
- •Объединения
- •Средства модификации данных языка SQL
- •Вставка данных, оператор INSERT
- •Изменение данных, оператор UPDATE
- •Удаление данных, оператор DELETE
- •Транзакции
- •SQL-представления
- •Использование представлений для скрытия столбцов и строк
- •Использование представлений для отображения вычисляемых столбцов
- •Использование представлений для скрытия сложного синтаксиса
- •SQL-запросы в прикладных программах
- •Хранимые процедуры
- •Триггеры
- •Использование триггеров для проверки допустимости вводимых данных
- •Триггер, обновляющий представление
- •Триггер, обеспечивающий ссылочную целостность
- •Модуль TABLEFUNC
- •Словарь метаданных
- •Контрольные вопросы
- •Функция ROW_NUMBER
- •Функция COALESCE
- •Числовые функции
- •Тригонометрические функции
- •Контрольные вопросы
- •Заключение
- •Библиографический список

Глава 1. Установка POSTGRESQL 1.1. Установка POSTGRESQL для WINDOWS
Рис. 1.6. Диалоговое окно определения локали кластера базы данных
Рис. 1.7. Диалоговое окно «Диспетчера Задач»
После определения указанных параметров начинается процесс копирования файлов в определенный ранее каталог установки
PostgreSQL. Необходимо обратить внимание на слова в процессе
установки СУБД: «Initialising database cluster» (инициализация кластера баз данных), означающие, что копирование файлов закончено и создается кластер баз данных, содержащий базу данных,
которая будет использоваться как шаблон для вновь созданных баз.
Через некоторое время эта надпись сменяется на «starting database
11

1.2. Установка POSTGRESQL для LINUX Глава 1. Установка POSTGRESQL
server» (запуск сервера баз данных), что означает запуск службы
сервера PostgreSQL. Если запустить «Диспетчер Задач» и перейти
на вкладку «Службы», можно убедиться, что PostgreSQL работает
(рис. 1.7).
1.2 Установка PostgreSQL 9.5 для Linux
В данном подразделе представлена подробная инструкция по
установке PostgreSQL 9.5 в операционной системе GNU/Linux на
примере дистрибутивов Ubuntu 16.04 и Fedora 24. Более подробно
процесс установки и настройки СУБД PostgreSQL для дистрибутивов Ubuntu и Fedora описан в [1] и [2] соответственно. Для дистрибутивов Debian 9 и Linux Mint 18 процесс установки и настройки
будет аналогичен Ubuntu.
На первом шаге устанавливаем PostgreSQL 9.5 из основного
репозитория:
1. Для установки пакета требуются соответствующие права.
В некоторых дистрибутивах Linux для получения прав администратора системы используется команда sudo, исполняющая
команды пользователя с правами суперпользователя root. При
вызове данной команды в качестве пароля указывается пароль
текущего пользователя.
Если команда sudo недоступна либо не работает должным образом, можно воспользоваться командой su, которая запустит
интерпретатор командной строки от имени суперпользователя
root. При этом в строке приглашения вида user@localhost:~$
символ $ будет заменен на символ # и строка приглашения будет иметь вид user@localh ost:/home/user#. При вызове команды
su в качестве пароля указывается пароль суперпользователя
root. Для выход из оболочки в режиме суперпользователя воспользуйтесь командой exit.
2. Для осуществления корректной установки СУБД PostgreSQL
необходимо обновить определения пакетной базы:
Ubuntu 16.04
$ sudo apt update
Fedora 24
# dnf update
12

Глава 1. Установка POSTGRESQL 1.2. Установка POSTGRESQL для LINUX
3. Для установки СУБД PostgreSQL следует выполнить команду:
Ubuntu 16.04
$ sudo apt install postgresql
Fedora 24
# dnf install postgresql-server
После чего менеджер пакетов скачает и установит все необходимые пакеты в автоматическом режиме.
В дистрибутиве Fedora необходимо выполнить процедуру на-
стройки установленного экземпляра СУБД PostgreSQL:
1. Включение автозапуска демона (службы) СУБД PostgreSQL
осуществляется командой
# systemctl enable postgresql
2. Для инициализации кластера баз данных СУБД PostgreSQL используется команда
# postgresql-setup initdb
3. Запуск демона (службы) СУБД PostgreSQL производится командой
# systemctl start postgresql
В дистрибутиве Ubuntu процедура настройки экземпляра
СУБД PostgreSQL осуществляется автоматически в процессе установки.
После установки экземпляра СУБД PostgreSQL файлы баз
данных будут располагаться в каталогах /var/lib/postgresql/9.5/main
и /var/lib/pgsql/data для дистрибутивов Ubuntu и Fedora соответственно, а конфигурационные файлы СУБД в каталогах
/etc/postgresql/9.5/main и /var/lib/pgsql/data.
В самой СУБД PostgreSQL есть специальный пользователь –
суперпользователь postgres, который имеет максимальные права
внутри СУБД, т. е. может создавать, модифицировать или удалять
любые базы данных и учетные записи любых пользователей.
Следующим шагом необходимо задать пароль для суперпользователя postgres:
Ubuntu 16.04
$ sudo psql -U postgres
# \password postgres
13

1.3. Утилита PGADMIN III Глава 1. Установка POSTGRESQL
Fedora 24
# su - postgres
$ psql
# \password postgres
После ввода пароля выход в командную оболочку осуществляется
вводом команды \q.
Далее следует изменить метод аутентификации для супер-
пользователя postgres:
Ubuntu 16.04
$ sudo nano /etc/postgresql/9.5/main/pg_hba.conf
Fedora 24
# nano /var/lib/pgsql/data/pg_hba.conf
В данном примере для редактирования файла pg_hba.conf используется текстовый редактор nano. В открывшемся файле необходимо
заменить строку
local all postgres peer
на
local all postgres md5
После чего требуется перезапустить демон (службу) СУБД
PostgreSQL:
Ubuntu 16.04
$ sudo systemctl restart postgresql
Fedora 24
# systemctl restart postgresql
1.3 Утилита pgAdmin III — графическое средство
для администрирования СУБД PostgreSQL
Администрирование СУБД PostgreSQL может осуществляться
через графическое приложение pgAdmin III. Использование подобных средств облегчает администрирование за счет наличия привычного для неподготовленного пользователя графического интерфейса.
Основное окно pgAdmin представлено на рисунке 1.8 и содержит несколько областей:
14

Глава 1. Установка POSTGRESQL 1.3. Утилита PGADMIN III
• Браузер объектов – древовидная структура, содержащая основные объекты сервера СУБД PostgreSQL. Браузер объектов
позволяет просматривать, создавать, редактировать и удалять
различные объекты: базы данных, таблицы, последовательности и т. д. Возможности этого средства достаточно широки,
причем большинство операций выполняются визуально, а от
пользователя не требуется знание языка SQL;
• Панель SQL – отображает представление выбранного объекта
СУБД PostgreSQL в виде SQL-запроса для повышения наглядности. Например, данный SQL-запрос может быть использован
для создания точной копии структуры выбранной таблицы в
новой базе данных;
• Область отчетов – отображает различные виды отчетов о выбранном объекте СУБД PostgreSQL.
Рис. 1.8. Основное окно pgAdmin III
15

1.3. Утилита PGADMIN III Глава 1. Установка POSTGRESQL
Рис. 1.9. Диалог для добавления подключения к серверу PostgreSQL
Рис. 1.10. Диалог для выполнения SQL-запросов к базе данных
16

Глава 1. Установка POSTGRESQL 1.4. Утилита PSQL
Для начала работы с pgAdmin требуется создать новое подключение к серверу PostgreSQL. При выборе пункта меню Файл Ñ
Добавить сервер откроется диалог для добавления подключения к
серверу (рис. 1.9).
Параметры для подключения к локальному серверу
PostgreSQL, процесс установки которого описан ранее в данной
главе, могут быть представлены следующими значениями:
• Имя – любое значение, например, localhost или myserver;
• Хост – localhost или 127.0.0.1;
• Порт – 5432;
• Имя пользователя – postgres;
• Пароль – пароль, указанный в процессе установки СУБД
PostgreSQL.
На рисунке 1.10 представлен диалог для выполнения
SQL-запросов к базе данных (пункт меню Инструменты Ñ
Инструмент запросов). Данное средство позволяет выполнять
запросы, введенные вручную либо загруженные из файла, при
этом в панели вывода отобразится результат выполнения запроса
в виде отношения.
1.4 Утилита psql – интерактивный терминал
для администрирования СУБД PostgreSQL
Администрирование СУБД PostgreSQL может осуществляться через интерактивный терминал psql. Использование подобных
средств облегчает администрирование за счет наличия широкого
набора команд, предоставляющих пользователю всю гибкость и
мощь командных оболочек. При этом все преимущества использования psql будут доступны пользователю только после понимания
принципов работы с командными оболочками и изучения необходимых команд.
Для запуска psql в операционной системе семейства
Windows NT можно использовать ярлык, расположенный по адресу
Пуск Ñ PostgreSQL 9.5 Ñ SQL Shell (psql). В открывшемся окне
требуется указать соответствующие параметры:
• Server (адрес сервера) – localhost или 127.0.0.1;
17

1.4. Утилита PSQL Глава 1. Установка POSTGRESQL
• Database (название базы данных) – postgres;
• Port (номер порта) – 5432;
• Username (имя пользователя) – postgres;
• Password (пароль пользователя) – пароль, указанный в процессе
установки СУБД PostgreSQL.
В операционной системе семейства GNU/Linux для запуска
psql требуется выполнить следующую команду:
$ psql -h localhost -U postgres -p 5432 -d postgres
Данная команда содержит основные параметры для подключения
к базе данных:
• -h – адрес сервера;
• -U – имя пользователя;
• -p – номер порта;
• -d – название базы данных.
Расшифровка значений параметров представлена выше.
После запуска psql будет открыта командная оболочка (рис.
1.11), в которой можно выполнять SQL-запросы, также данная оболочка имеет набор встроенных команд. Рассмотрим команды для
работы с буфером запросов (query buffer commands) и списком объектов (listing commands). Более подробная информация о командах
psql представлена в [3].
Рис. 1.11. Основное окно psql
18

Глава 1. Установка POSTGRESQL 1.4. Утилита PSQL
Таблица 1.1 содержит основные команды для работы с буфером запросов.
Как видно из таблицы 1.1, команды для работы с буфером позволяют загружать запросы из внешних файлов, сохранять содержимое буфера во внешний файл, использовать внешний текстовый редактор для модификации содержимого буфера. При использовании
psql вместе с инструментами командной оболочки появляется возможность динамической генерации сценариев (цепочки запросов)
в зависимости от различных входных параметров, что позволяет автоматизировать многие рутинные операции по администрированию
СУБД PostgreSQL.
Таблица 1.1
Основные команды psql для работы с буфером запросов
Функция Команда Аргумент
Вывод содержимого буфера \p
Выполнить запрос в буфере \g или ; файл или запрос
Выйти из psql \q
Очистить буфер \r
Редактировать содержимое буфера во внешнем
редакторе
Вывести описание внутренних команд psql \?
Вывести описание для SQL-операторов \h SQL-оператор
Загрузить содержимое внешнего файла в буфер \i файл
Записать содержимое буфера во внешний файл \w файл
Показать/сохранить историю запросов \s файл
\e файл
Таблица 1.2 содержит основные команды для работы со списком объектов.
Как видно из таблицы 1.2, данные команды предоставляют информацию о таблицах, индексах, функциях и других объектах базы
данных. Многие команды для работы со списком объектов имеют
необязательный параметр название, который может быть задан регулярным выражением. Например, команда \dt art выведет список
всех таблиц, имена которых начинаются с art, а команда \dt .*a.*
выведет список всех таблиц, имена которых содержат символ a.
При использовании команды \dd выводится информация об
описаниях, заданных для типов данных и функций. PostgreSQL име-
19

1.5. Контрольные вопросы Глава 1. Установка POSTGRESQL
ет множество предопределенных описаний, однако пользователь, с
помощью SQL-оператора COMMENT, может задавать свои собственные
описания.
Многие из представленных в таблице 1.2 команд имеют возможность выводить дополнительную информацию, для этого необходимо добавить к команде символ +. Например, команда \dT выводит список типов данных, а команда \dT+, помимо этого, также
содержит размер каждого типа.
Таблица 1.2
Основные команды psql для работы со списком объектов
Тип объекта Команда Аргумент
Таблицы, индексы, представления,
последовательности
Таблицы \dt название
Индексы \di название
Представления \dv название
Последовательности \ds название
Права доступа \z или \dp название
Системные таблицы \dS название
Большие объекты \dl название
Типы данных \dT название
Функции \df название
Операторы \do название
Агрегатные функции \da название
Описания объектов \dd название
Базы данных \l
\d название
1.5 Контрольные вопросы
1. Перечислите основные параметры команды утилиты psql для
подключения к базе данных.
2. Перечислите основные команды утилиты psql для работы с
буфером запросов.
3. Перечислите основные команды утилиты psql для работы со
списком объектов.
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
