7 основных типов баз данных
В базах данных (БД) содержится упорядоченная информация, которой удобно пользоваться. Они делятся на разные типы — чтобы выбрать нужный, важно учесть, какие именно данные будут там храниться и по какому принципу будет удобнее всего работать с ними.
В целом нельзя сказать, что какие-то БД лучше других, — просто каждая из них подходит для решения каких-то определённых задач. Есть базы данных с открытым кодом, с возможностью масштабирования и с другими преимуществами. Лучше выбирать такие БД, которые вы сможете использовать именно так, как они задуманы. Подробнее
👉 @database_info
В базах данных (БД) содержится упорядоченная информация, которой удобно пользоваться. Они делятся на разные типы — чтобы выбрать нужный, важно учесть, какие именно данные будут там храниться и по какому принципу будет удобнее всего работать с ними.
В целом нельзя сказать, что какие-то БД лучше других, — просто каждая из них подходит для решения каких-то определённых задач. Есть базы данных с открытым кодом, с возможностью масштабирования и с другими преимуществами. Лучше выбирать такие БД, которые вы сможете использовать именно так, как они задуманы. Подробнее
👉 @database_info
👍1
Three Ways to Import Data With Postgres (Три способа импорта данных с помощью Postgres) https://arctype.com/blog/import-data-postgres/
#Postgres
👉 @database_info
#Postgres
👉 @database_info
Курс молодого бойца PostgreSQL
Хочу поделиться полезными приемами работы с PostgreSQL (другие СУБД имеют схожий функционал, но могут иметь иной синтаксис).
Постараюсь охватить множество тем и приемов, которые помогут при работе с данными, стараясь не углубляться в подробное описание того или иного функционала. Я любил подобные статьи, когда обучался самостоятельно. Пришло время отдать должное бесплатному интернет самообразованию и написать собственную статью.
Данный материал будет полезен тем, кто полностью освоил базовые навыки SQL и желает учиться дальше. Советую выполнять и экспериментировать с примерами в pgAdmin'e, я сделал все SQL-запросы выполнимыми без разворачивания каких-либо дампов.
#Postgres
👉 @database_info
Хочу поделиться полезными приемами работы с PostgreSQL (другие СУБД имеют схожий функционал, но могут иметь иной синтаксис).
Постараюсь охватить множество тем и приемов, которые помогут при работе с данными, стараясь не углубляться в подробное описание того или иного функционала. Я любил подобные статьи, когда обучался самостоятельно. Пришло время отдать должное бесплатному интернет самообразованию и написать собственную статью.
Данный материал будет полезен тем, кто полностью освоил базовые навыки SQL и желает учиться дальше. Советую выполнять и экспериментировать с примерами в pgAdmin'e, я сделал все SQL-запросы выполнимыми без разворачивания каких-либо дампов.
#Postgres
👉 @database_info
👍3
Что такое Self JOIN?
Self JOIN - это выражение используется для того, чтобы таблица объединилась сама с собой, словно это две разные таблицы. Чтобы такое реализовать, одна из таких «таблиц» временно переименовывается.
Например, следующий SQL-запрос объединяет клиентов из одного города:
👉 @database_info
Self JOIN - это выражение используется для того, чтобы таблица объединилась сама с собой, словно это две разные таблицы. Чтобы такое реализовать, одна из таких «таблиц» временно переименовывается.
Например, следующий SQL-запрос объединяет клиентов из одного города:
SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City
FROM Customers A, Customers B
WHERE A.CustomerID <> B.CustomerID
AND A.City = B.City
ORDER BY A.City;👉 @database_info
Задачи и решения для бойца PostgreSQL
В интернете я редко встречал статьи, которые охватывают разные рабочие моменты и тонкости, связанные с обработкой данных в SQL.
Мне нравится, когда из одной статьи можно почерпнуть сразу много всего, пусть даже в общих чертах.
Поэтому решил написал свою статью, содержащую различные задачи и ответы с пояснениями к ним.
Подойдет для тех, кто хорошо освоил все базовые навыки и хочет развиваться дальше.
#Postgres
👉 @database_info
В интернете я редко встречал статьи, которые охватывают разные рабочие моменты и тонкости, связанные с обработкой данных в SQL.
Мне нравится, когда из одной статьи можно почерпнуть сразу много всего, пусть даже в общих чертах.
Поэтому решил написал свою статью, содержащую различные задачи и ответы с пояснениями к ним.
Подойдет для тех, кто хорошо освоил все базовые навыки и хочет развиваться дальше.
#Postgres
👉 @database_info
👍4
15 полезных команд PostgreSQL
В сети много руководств по PostgreSQL, которые описывают основные команды. Но при погружении глубже в работу возникают такие практические вопросы, для которых требуются продвинутые команды.
Такие команды, или сниппеты, редко описаны в документации. Рассмотрим несколько на примерах, полезных как для разработчиков, так и для администраторов баз данных.
#Postgres #PostgreSQL #sql
👉 @database_info
В сети много руководств по PostgreSQL, которые описывают основные команды. Но при погружении глубже в работу возникают такие практические вопросы, для которых требуются продвинутые команды.
Такие команды, или сниппеты, редко описаны в документации. Рассмотрим несколько на примерах, полезных как для разработчиков, так и для администраторов баз данных.
#Postgres #PostgreSQL #sql
👉 @database_info
👍3
Когда используется PRIMARY KEY?
PRIMARY KEY — это первичный ключ, который используется в качестве основного ключа и может быть использован для связи с дочерней таблицей, содержащей внешний ключ.
#key
👉 @database_info
PRIMARY KEY — это первичный ключ, который используется в качестве основного ключа и может быть использован для связи с дочерней таблицей, содержащей внешний ключ.
#key
👉 @database_info
👍8🤯1
COALESCE() для перезаписи NULL
При помощи функции COALESCE() можно перезаписать NULL на другое значение:
👉 @database_info
При помощи функции COALESCE() можно перезаписать NULL на другое значение:
SELECT
id,
null_var,
COALESCE(null_var, 'missing') AS recode_null_var
FROM
current_table
ORDER BY id
Запрос вернёт значение ‘missing‘ для всех строк таблицы, где null_var IS NULL 👉 @database_info
👍7
LIMIT
При помощи LIMIT можно указать максимальное число строк, которые должны попасть в результат.
Это бывает полезно при работе с большими наборами данных. Если данных много, запрос может обрабатываться слишком долго. Но когда будет достигнут лимит результатов, обработка прекратится.
👉 @database_info
При помощи LIMIT можно указать максимальное число строк, которые должны попасть в результат.
Это бывает полезно при работе с большими наборами данных. Если данных много, запрос может обрабатываться слишком долго. Но когда будет достигнут лимит результатов, обработка прекратится.
👉 @database_info
👍1
Объединить значения из нескольких строк таблицы в одну, группируя по определённому параметру.
Например, есть таблица:
id name value
1 A 4
1 B 8
2 C 9
В результате нужно получить следующее:
id column
1 A:4, B:8
2 C:9
В SQL Server 2017, Azure можно использовать функцию STRING_AGG:
STRING_AGG(
CONCAT(name,’:’,[value], ‘, ‘)
👉 @database_info
Например, есть таблица:
id name value
1 A 4
1 B 8
2 C 9
В результате нужно получить следующее:
id column
1 A:4, B:8
2 C:9
В SQL Server 2017, Azure можно использовать функцию STRING_AGG:
SELECT
id,STRING_AGG(
CONCAT(name,’:’,[value], ‘, ‘)
FROM table
GROUP BY id 👉 @database_info
👍6👎1
Есть три типа индексов, а именно:
1) Уникальный индекс (Unique Index): этот индекс не позволяет полю иметь повторяющиеся значения, если столбец индексируется уникально. Если первичный ключ определен, уникальный индекс может быть применен автоматически.
2) Кластеризованный индекс (Clustered Index): этот индекс меняет физический порядок таблицы и выполняет поиск на основе значений ключа. Каждая таблица может иметь только один кластеризованный индекс.
3) Некластеризованный индекс (Non-Clustered Index): не изменяет физический порядок таблицы и поддерживает логический порядок данных. Каждая таблица может иметь много некластеризованных индексов.
👉 @database_info
1) Уникальный индекс (Unique Index): этот индекс не позволяет полю иметь повторяющиеся значения, если столбец индексируется уникально. Если первичный ключ определен, уникальный индекс может быть применен автоматически.
2) Кластеризованный индекс (Clustered Index): этот индекс меняет физический порядок таблицы и выполняет поиск на основе значений ключа. Каждая таблица может иметь только один кластеризованный индекс.
3) Некластеризованный индекс (Non-Clustered Index): не изменяет физический порядок таблицы и поддерживает логический порядок данных. Каждая таблица может иметь много некластеризованных индексов.
👉 @database_info
👍4
Игнорирование одиночной кавычки в SQL Server.
Рассмотрим ситуацию, когда в таблицу требуется вставить текст, содержащий одиночную кавычку, например: It‘s Friday today.
Запрос
Решение #1: продублировать одиночную кавычку в тексте:
Рассмотрим ситуацию, когда в таблицу требуется вставить текст, содержащий одиночную кавычку, например: It‘s Friday today.
Запрос
INSERT INTO table VALUES (‘It’s Friday today.’) выдаст ошибку. Решение #1: продублировать одиночную кавычку в тексте:
INSERT INTO table VALUES (‘It’’s Friday today.’)
Решение #2: использовать char(39):INSERT INTO table VALUES (‘It’ + char (39) + ’s Friday today.’)
👉 @database_info👍5👎1
MySQL: РАЗМЕР БЛОКА MYISAM (MYISAM BLOCK SIZE)
Одной из наиболее покрытых мраком настроек является размер блока индексов для таблиц MyISAM. Значение параметра
Большинство файловых систем использует блоки большего размера. А мы знаем, что запись одиночного блока индекса потребует сначала чтения, а затем записи. Операционная система не будет вести запись на основной диск, пока размер блока индекса равен или больше размера блока файловой системы.
#mysql
👉 @database_info
Одной из наиболее покрытых мраком настроек является размер блока индексов для таблиц MyISAM. Значение параметра
myisam_block_size находится в. MYI-файлах в буфере ключей, а также на диске. Стандартное значение составляет 1 килобайт, что слишком мало для современных систем.Большинство файловых систем использует блоки большего размера. А мы знаем, что запись одиночного блока индекса потребует сначала чтения, а затем записи. Операционная система не будет вести запись на основной диск, пока размер блока индекса равен или больше размера блока файловой системы.
#mysql
👉 @database_info
👍2
2 лайфхака: альтернативы классическому поиску в Microsoft SQL Server
В данной статье разбирается два практических примера использования полнотекстового поиска:
- Поиск по «бесконечным» строкам (напр., Комментарии) в противовес обычному поиску через LIKE;
- Поиск по номерам документов с префиксами. Там, где обычно полнотекстовый поиск применять нельзя: ему мешают постоянные префиксы. Разбирается 2 подхода: предварительная обработка номера документа и добавление собственной библиотеки-word breaker’а.
#mssql
👉 @database_info
В данной статье разбирается два практических примера использования полнотекстового поиска:
- Поиск по «бесконечным» строкам (напр., Комментарии) в противовес обычному поиску через LIKE;
- Поиск по номерам документов с префиксами. Там, где обычно полнотекстовый поиск применять нельзя: ему мешают постоянные префиксы. Разбирается 2 подхода: предварительная обработка номера документа и добавление собственной библиотеки-word breaker’а.
#mssql
👉 @database_info
👍5
MySQL: ВКЛЮЧЕНИЕ DELAY_KEY_WRITE
По умолчанию, опция delay_key_write отключена. Это сделано потому, что при возникновении сбоя в проекте, использующем MyISAM, вы получите поврежденную базу данных. Итак, зачем может понадобиться включать эту функцию? Все просто. Потому что включение delay_key_write гарантирует, что база данных не будет удалять файл ключей MyISAM после каждой операции записи.
По этой причине, если вы в ближайшее время собираетесь производить запись, то сэкономите массу времени. Способ включения delay_key_write зависит от версии. Чтобы узнать об особенности включения данной опции в вашей версии MySQL, воспользуйтесь справкой на официальном сайте.
#mysql
👉 @database_info
По умолчанию, опция delay_key_write отключена. Это сделано потому, что при возникновении сбоя в проекте, использующем MyISAM, вы получите поврежденную базу данных. Итак, зачем может понадобиться включать эту функцию? Все просто. Потому что включение delay_key_write гарантирует, что база данных не будет удалять файл ключей MyISAM после каждой операции записи.
По этой причине, если вы в ближайшее время собираетесь производить запись, то сэкономите массу времени. Способ включения delay_key_write зависит от версии. Чтобы узнать об особенности включения данной опции в вашей версии MySQL, воспользуйтесь справкой на официальном сайте.
#mysql
👉 @database_info
👍2
Базы данных для программиста -
Обзор баз данных для программиста
Как работают NoSQL базы: документ-ориентированные типа MongoDB
Реляционные базы данных
Описание модели организации данных на основе графов
Базы данных log based
Базы данных LSM tree
Базы данных B-tree
#sql #MongoDB #NoSQL
👉 @database_info
Обзор баз данных для программиста
Как работают NoSQL базы: документ-ориентированные типа MongoDB
Реляционные базы данных
Описание модели организации данных на основе графов
Базы данных log based
Базы данных LSM tree
Базы данных B-tree
#sql #MongoDB #NoSQL
👉 @database_info
👍5👎1