Please enable JavaScript.
Coggle requires JavaScript to display documents.
2023_12_21 PostgreSQL PGAdmin часть 1 - Coggle Diagram
2023_12_21 PostgreSQL PGAdmin часть 1
Файлы баз данных
СУБД часто работает на
*nix
Часто используются без GUi, из консоли
Один физический файл = одна табличка (чаще всего, применимо для Postgres)
Плюс часть дополнительной информации хранится в сопутствующих отдельных файлах, например индексы
Также существуют конфигурационные файлы (настройки СУ БД)
Терминология
Индекс
- средство ускорения операций поиска
Чаще всего поиск идет по ключу (id)
Создается бинарное дерево поиска
Процессы
- куски кода, непосредственно работающие с данными
Схема
- средство логического разделения данных
Процессы баз данных
Запускаются автоматически, параллельно, часто фоном
в
*nix
возможен доступ к данным БД из консоли путем запуска необходимых процессов
Работа с БД: CRUD
Create
Для БД (
database
) - только название
Для таблицы (
table
) - имя и структура (перечисление имен столбцов и типов данных в них)
Последовательность
sequence
- объект БД, генерирующий набор чисел по заданному закону
Функция пользователя (
function
) - дополнительное расширение для обработки данных
Именованная выборка (
view
) - слепок актуальных данных по заданному запросу
Read (
select
)
Что - Имя колонки (параметр)
*
=
All
= все
from
= сущность (например таблица), откуда выбираем
where
- условие выбора
limit
- ограничение выдачи нескольких первых значений
К выдаче может быть применена функция
count()
=количество строк
distinct()
=уникальные значения в колонке
Вложенные запросы -
join
- объединение данных из нескольких таблиц
в запросе перед колонками указываются псевдонимы таблиц, из которых их надо искать, после слова join определяется нужная связь между таблицами
Update
Изменение данных =
update
SET
= ключевое слово изменения
Нужно не для всех БД
Можно указать условие (
where
), для которого будет срабатывать изменение (то есть часть полей поменяем а часть сохраним)
указывается какому параметру мы присваиваем данные и значение присваиваемых данных
Чаще всего, во избежание ошибочного изменения данных за счет наличия дубликатов в условии поиска, ищут по колонке
id
Вставка =
insert
into
= имя таблицы (с перечислением непосредственно дополняемых колонок) куда вставим данные
например, автогенерируемые ключи указывать не надо
values
- перечень вставляемых данных
значения для одной строки через запятую в порядке указания колонок
Delete
= удаление
с указанием условия
Восстановить можно только из резервной копии
pg_dump
из консоли
Должна быть определенная стратегия резервного копирования
Часть данных после последнего бэкапа невосстановима
Данная операция доступна с определенными правами пользователя
Транзакция
Фиксируется только целиком, либо целиком отменяется
Может выполняться последовательно несколько процессов с проверкой промежуточных результатов
Решение о фиксации результатов или отмене может приниматься на основе результатов проверки
Начало -
begin transaction
(через
*nix
консоль
Следующие действия проводятся "в песочнице"
изменения в другом клиенте БД будут видны только после окончания транзакции
commit
= применить
rollback
= отменить
Произвольное количество действий
Типы данных
Поле таблицы = имя + тип данных
Serial
- автосчетчик (для primary id)
varchar
- короткая (заданной максимальной длины) запись текста с эффективным выделением памяти под хранение каждого значения