Skip to content

Типы данных в PostgreSQL: изучаем PostgreSQL с Grant Fritchey

Пересказ статьи Grant Fritchey. Data Types in PostgreSQL: Learning PostgreSQL with Grant


Когда я решил, что следующая статья должна быть посвящена типам данных, я мало представлял себе, во что ввязываюсь. Согласно официальной документации PostgreSQL, имеется двадцать категорий типов данных. В SQL Server есть всего 35 типов данных. Я думал о том, как изучить эти типы данных и написать об этом статью. Я решил, что статья будет посвящена только категориям типов данных, а затем каким-либо интересным моментам в этих категориях. Поэтому я не собираюсь сейчас углубляться в конкретные типы данных. Это просто слишком обширная тема. Продолжить чтение "Типы данных в PostgreSQL: изучаем PostgreSQL с Grant Fritchey"

Создание резервных копий и восстановление в PostgreSQL: Изучение PostgreSQL с Grant Fritchey

Пересказ статьи Grant Fritchey. How to back up and restore in PostgreSQL: Learning PostgreSQL with Grant


Когда я знакомлюсь с новой системой, я, в первую очередь, смотрю на состояние резервных копий. Я не вижу ничего такого в PostgreSQL, что привело бы меня к другому выводу. Однако я не подозревал, сколько неожиданного я открою, занимаясь резервным копированием и восстановлением.

Вместо того, чтобы сразу говорить о создании резервных копий, давайте поговорим о восстановлении. Продолжить чтение "Создание резервных копий и восстановление в PostgreSQL: Изучение PostgreSQL с Grant Fritchey"

Новости за 2022-08-06 - 2022-08-12

§ Популярные темы недели на форуме


Топик		Сообщений
59 (Learn) 3
6 (Learn) 3
56 (Learn) 2
57 (SELECT) 2
228 (SELECT) 2

§ Авторы недели на форуме


Автор		Сообщений
_dimon_ 3
ValNick 3
Delan 2
chatlanin 2
selber 2
Продолжить чтение "Новости за 2022-08-06 - 2022-08-12"

Создание базы данных и таблиц в PostgreSQL: Изучение PostgreSQL с Grant Fritchey

Пересказ статьи Grant Fritchey. Creating a Database and Tables in PostgreSQL: Learning PostgreSQL with Grant


У вас есть локально работающий экземпляр PostgreSQL. Что дальше? Создание резервных копий. Но прежде мне нужно создать базу данных и пару таблиц, чтобы было что архивировать.

Как и в любой системе управления данными, имеется много способов это сделать. Вы можете делать все в командной строке или же использовать графический интерфейс пользователя (GUI), который позволяет вам работать с PostgreSQL. Команды SQL доступны сразу, как только вы подключились к PostgreSQL. Здесь я, в первую очередь, буду работать с Azure Data Studio (ADS). Это обусловлено тем, что:

  1. Мне нравится Azure Data Studio. С ней легко работать. Она быстрая. Она чистая. Она имеет плагины для выполнения различных вещей.

  2. Например, она очень хорошо подключается к GitHub, поэтому вы можете легко держать разрабатываемые коды на GitHub.

  3. Мне просто более комфортно работать над кодом с выделенным инструментом, а не просто выполняя его из командной строки.

  4. Я не хочу описывать каждый отдельный имеющийся метод, поэтому я должен был выбрать один. И я его выбрал.


Итак, начнем. Продолжить чтение "Создание базы данных и таблиц в PostgreSQL: Изучение PostgreSQL с Grant Fritchey"

Обзор соединений в PostgreSQL

Пересказ статьи Everett Berry. Inspecting Joins in PostgreSQL


PostgreSQL использует различные алгоритмы для реализации JOIN в зависимости от запроса. Мы можем исследовать план запроса, чтобы выяснить, какой тип был использован.

Введение


Реляционные базы данных распределяют свои данные по многим таблицам в соответствии с правилами нормализации или бизнес-сущностями. Это упрощает поддержку растущей схемы базы данных. Реальные запросы зачастую обращаются к нескольким таблицам, что неизбежно приводит к соединению этих таблиц.

PostgreSQL использует много алгоритмов соединения таблиц. В этой статье мы рассмотрим, как соединения работают за сценой с точки зрения планировщика, и поймем, как их оптимизировать. Продолжить чтение "Обзор соединений в PostgreSQL"

Тривиальные планы выполнения в SQL Server

Пересказ статьи Esat Erkec. SQL Server Trivial Execution Plans


Введение


SQL является непроцедурным языком программирования; это подразумевает, что пользователи базы данных пишут в коде только то, что они хотят сделать, но не описывают шаги процесса как это сделать. После получения запроса внутренние компоненты ядра реляционной базы данных делают синтаксический разбор и компилируют запрос, а затем выполняют поставленную задачу. По окончанию этих задач они предоставляют результат полученного запроса.
Продолжить чтение "Тривиальные планы выполнения в SQL Server"

Разница между суррогатным и естественным ключом, и их использование в SQL Server

Пересказ статьи Ben Snaidero. Surrogate Key vs Natural Key Differences and When to Use in SQL Server


Если опросить нескольких профессионалов в базах данных SQL Server, задав им вопрос: "Что лучше при определении первичного ключа - суррогатный ключ или столбец (столбцы) естественного ключа?", я предположу, что ответ будет близок к 50/50. Единственный определенный ответ, который вы получите по этому вопросу и с которым согласится большинство, будет тот, что при работе с хранилищами данных вы должны использовать суррогатные ключи для таблиц измерений и фактов. Это связано с тем, что реляционная база данных OLTP источника может измениться в любой момент из-за бизнес-требований, и ваше хранилище данных должно быть способно обработать эти изменения без необходимости обновления. Здесь мы рассмотрим некоторые соображения за и против каждого типа первичного ключа, чтобы вы могли принять лучшее решение для применения в ваших проектах. Продолжить чтение "Разница между суррогатным и естественным ключом, и их использование в SQL Server"
Категории: T-SQL

Ограничения страницы данных

Пересказ статьи Klaus Aschenbrenner. Data Page Restrictions


Сегодня поговорим об ограничениях, которые связаны со страницами данных, и почему есть ограничения, которые вам понравятся, хотя другие вы будете ненавидеть. Как вы знаете, страница данных всегда имеет размер 8 Кб, и вы можете сохранить на ней 8060 байтов данных. И размер ваших записей определяет, как много вы их можете сохранить на одной странице. Когда вы имеете дело с типами данных фиксированной длины (например, CHAR, INT, DATETIME и др.), имеется ограничение, что длина записи не может превосходить 8060 байтов, включая внутренние накладные расходы, которые использует SQL Server.

Продолжить чтение "Ограничения страницы данных"
Категории: T-SQL

Типы данных varchar в SQL Server, Oracle и PostgreSQL

Пересказ статьи Andrea Gnemmi. Varchar Data Types in SQL Server, Oracle and PostgreSQL


Здесь мы рассмотрим как сохранить максимальное число символов в столбце переменной длины и различия между тремя системами баз данных. В частности, будут рассмотрены различные процедуры, используемые для хранения больших строк в столбце с целью обработки большого текста или структурированных данных типа JSON (будет отдельная статья). Продолжить чтение "Типы данных varchar в SQL Server, Oracle и PostgreSQL"

Когда использовать CHAR, VARCHAR или VARCHAR(MAX)

Пересказ статьи Greg Larsen. When to use CHAR, VARCHAR, or VARCHAR(MAX)


В каждой базе данных имеются различные виды данных, которые нужно хранить. Некоторые данные строго числовые, в то время как другие данные состоят только из букв или комбинации букв, чисел и даже специальных символов. Даже при простом хранении данных в памяти или на диске требуется, чтобы каждая часть данных имела тип. Выбор правильного типа зависит от характеристик сохраняемых данных. В этой статье объясняется разница между CHAR, VARCHAR и VARCHAR(MAX). Продолжить чтение "Когда использовать CHAR, VARCHAR или VARCHAR(MAX)"
Категории: T-SQL

Столбцы, включенные в уникальный некластеризованный индекс, не являются частью ограничения UNIQUE

Пересказ статьи Greg Dodd. Included Columns on Unique Non-Clustered Indexes are not part of the Unique Constraint


Сегодня мне потребовалось добавить в таблицу ограничение уникальности (UNIQUE). Мы могли бы просто добавить ограничение, но данные, для которых я хочу добавить ограничение, уже были проиндексированы. Могу я просто сделать уникальный индекс, и покончить с этим? Давайте выясним это при помощи следующей таблицы: Продолжить чтение "Столбцы, включенные в уникальный некластеризованный индекс, не являются частью ограничения UNIQUE"