Как стать автором
Обновить
14.15
Рейтинг

SQL *

Формальный непроцедурный язык программирования

Сначала показывать
Порог рейтинга

Импорт и экспорт данных в PostgreSQL, гайд для начинающих

PostgreSQL *SQL *
Из песочницы

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

В своё время, столкнувшись с импортом и экспортом данных, обнаружилось, что какой-то более-менее структурированной инфы мало: этот момент обходят на всяких там курсах по аналитике, подразумевая, что это очень простые моменты, которым не следует уделять внимание.

В данной статье приведены примеры импорта в PostgreSQL непосредственно самой базы данных в формате sql, а также импорта и экспорта данных в наиболее простом и распространенном формате .csv, в котором в настоящее время хранятся множество существующих датасетов. Формат .json хоть и является также очень распространенным, рассмотрен не будет, поскольку, по моему скромному мнению, с ним все-таки лучше работать на Python, чем в SQL.

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 4.8K
Комментарии 7

Новости

SQL HowTo: разные варианты работы с EAV

Блог компании Тензор PostgreSQL *SQL *Администрирование баз данных *ERP-системы *

Соблазн использовать модель EAV (Entity-Attribute-Value) при организации структуры БД весьма велик, особенно когда предметная область заранее плохо известна (или разработчик просто не хочет в нее углубляться). Это ведь так удобно - создать "универсальный" способ описания характеристик объектов, который больше не потребует доработок базы ни при появлении новых типов объектов, ни при возникновении новых атрибутов...

Однако, за любую универсальность приходится платить сложностью и производительностью запросов - так что json[b] может оказаться более эффективной заменой. Но если уж такая модификация невозможна - давайте попробуем выжать максимум производительности из доставшегося нам legacy на самом простом примере.

Читать далее
Всего голосов 24: ↑23 и ↓1 +22
Просмотры 3K
Комментарии 7

TRY / CATCH в PostgreSQL

PostgreSQL *SQL *
Tutorial

Во встроенном процедурном языке PL/pgSQL для СУБД PostgreSQL отсутствуют привычные операторы TRY / CATCH для для перехвата исключений возникающих в коде во время выполнения. Аналогом является оператор EXCEPTION.

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 2.8K
Комментарии 6

Подсчет количества пар товаров в продуктовых чеках с помощью трех инструментов: Python, Spark, SQL

Python *SQL *Big Data *

Добрый день, уважаемые читатели! Не открою для большинства секрета, если скажу, что большая часть задач в материалах к учебным курсам сформулирована шаблонно. Какие-то вопросы в принципе могут представлять интерес, но очень оторваны от реальных потребностей бизнеса. Какие-то моменты выдернуты из книг, поэтому лучше знакомиться с ними, читая первоисточник. Но есть кейсы, которые на первый взгляд хоть и кажутся простыми и стереотипными, но, если присмотреться к ним более пристально, могут дать пищу для размышления. Вот на одной из таких полезных задач мне хотелось бы заострить внимание в данной заметке. Формулируется вопрос следующим образом: «Необходимо определить количество пар товаров в продуктовых чеках. Вывести 10 самых частых сочетаний». Пример, чек 1 содержит товар 1, товар 2, товар 3, а чек 2 -  товар 1, товар 2, товар 5. Следовательно, комбинация «товар 1, товар 2» встречается 2 раза, «товар 1 , товар 3» один раз и т.д.

В исходнике решать данный кейс предлагалось силами Python. Но реальная жизнь может потребовать от аналитика данных умения выполнять данное упражнение как с помощью SQL, так и Spark. Следовательно, рассмотрим три подхода, оставив за скобками разговора четвертый вариант – расчеты на платформах BI.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 2.7K
Комментарии 4

Материализованные представления и ReplacingMergeTree в ClickHouse

SQL *

В этой статье будут описаны подводные камни, на которые я натыкался при использовании одновременно материализованных представлений и движка ReplacingMergeTree в ClickHouse (далее CH). Для опытных пользователей CH эта информация возможно будет уже не новой, но надеюсь, что смогу сэкономить много времени тем, кто недавно начал свое знакомство или только готовится начать.

Это первая часть, в которой опишу основные термины: что такое материализованные представления и ReplacingMergeTree, как работают и какие есть особенности.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 1.6K
Комментарии 2

Получите работу в Альфа-Инвестициях за 24 часа! Приглашаем SQL-разработчиков на One Day Offer 26 марта

Блог компании Альфа-Банк SQL *Карьера в IT-индустрии

Расширяем команду SQL-разработчиков в Альфа-Инвестициях, одном из приоритетных проектов Альфа-Банка. В ближайших планах – комплексная работа над сервисами взаимодействия инвесторов, брокеров, биржи и ЦБ. Нам нужны опытные разработчики, которые умеют создавать масштабируемые высокодоступные решения для бизнеса.

Читать далее
Всего голосов 22: ↑10 и ↓12 -2
Просмотры 1.5K
Комментарии 4

Введение в соединения

SQL *Microsoft SQL Server *
Перевод

По материалам статьи Craig Freedman: Introduction to Joins

Соединение (JOIN) - одна из самых важных операций, выполняемых реляционными системами управления базами данных (РСУБД). РСУБД используют соединения для того, чтобы сопоставить строки одной таблицы строкам другой таблицы. Например, соединения можно использовать для сопоставления продаж - клиентам или книг - авторам. Без соединений, имелись бы раздельные списки продаж и клиентов или книг и авторов, но невозможно было бы определить, какие клиенты что купили, или какой из авторов был заказан.

Можно соединить две таблицы явно, перечислив обе таблицы в предложении FROM запроса. Также можно соединить две таблицы, используя для этого всё разнообразие подзапросов. Наконец, SQL Server во время оптимизации может добавить соединение в план запроса, преследуя свои цели.

Это первая из серии статей, которые я планирую посвятить соединениям. Эту статью я собираюсь посвятить азам соединений, описав назначение логических операторов соединениё, поддерживаемых SQL Server. Вот они:

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 3.4K
Комментарии 13

Массовая загрузка, обработка и выгрузка изображений в Битрикс на Python3

PHP *Python *SQL *1С-Битрикс
Из песочницы

В этой статье мы популярно объясняем на собственном опыте как организовать массовую выгрузку, обработку и загрузку фотографий товаров из Bitrix, используя Python и минимальное количество SQL. Для прочтения будет полезно людям, выполняющим схожие задачи, не будучи при этом знакомыми с Битриксом.

Читать далее
Всего голосов 7: ↑4 и ↓3 +1
Просмотры 3.2K
Комментарии 13

Облегчаем работу с SQL в go и при этом не отстреливаем себе ноги

Блог компании FirstVDS Программирование *SQL *Go *

Продолжаю серию статей по программированию на Golang, в которой буду рассказывать о том, как упростить себе жизнь. В то же время я уделю достаточно большое количество внимания тому, как при этом не утонуть в бесконечном количестве ненужных делу фреймворков.
Читать дальше →
Всего голосов 17: ↑14 и ↓3 +11
Просмотры 5.5K
Комментарии 19

Школа аналитиков данных

Блог компании X5 Group SQL *Big Data *Машинное обучение *IT-компании

X5 Tech приглашает студентов и выпускников вузов пройти бесплатное обучение по профессии Data Analyst. Уже через три месяца обучения можно будет пройти оплачиваемую стажировку в Х5 Group.

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 3.5K
Комментарии 22

Database Mail. SQL Server. Остановка «спама»

Спам и антиспам .NET *SQL *Microsoft SQL Server *

Недавно столкнулся с проблемой "спама" в MSSQL и чтобы не забыть как решать эту проблему, написал эту статью.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 2K
Комментарии 4

7 распространенных ошибок в SQL-запросах, которые делал каждый (почти)

MySQL *PostgreSQL *Программирование *SQL *Microsoft SQL Server *
Tutorial

Сегодня SQL используют уже буквально все на свете: и аналитики, и программисты, и тестировщики, и т.д. Отчасти это связано с тем, что базовые возможности этого языка легко освоить. 

Однако работая с большим количеством junior-ов, мы раз от раза находим в их решениях одни и те же ошибки. Реально — иногда просто создается ощущение, что они копируют друг у друга код. 

Кстати, иногда такая же участь постигает и специалистов более высокого полета. 

Сегодня мы решили собрать 7 таких ошибок в одном месте, чтобы как можно меньше людей их совершали.

Читать далее
Всего голосов 44: ↑38 и ↓6 +32
Просмотры 30K
Комментарии 90

БДСМ с БД ПМО или как я работал с госданными

SQL *Открытые данные *Хранение данных *Читальный зал
Из песочницы

Росстат ежегодно публикует порядка 4 тысяч показателей государственной статистики. Они доступны всем без каких-либо ограничений по статусу, правам доступа и т.п. Но публикуя данные, Росстат прежде всего ориентируется на то, что пользователи будут работать с ними вручную (глазами и руками), хотя последние 20 лет, мягко говоря, это не совсем тренд.

Меня зовут Веденьков Максим, я работаю в ЦПУР (Центр перспективных управленческих решений), некоммерческой организации, которая проводит исследования на государственных данных с целью повышения информированности общества о происходящих в стране процессах. Также мы собираем, обогащаем и публикуем датасеты с государственными данными, как ранее опубликованными, так и теми, которые раньше не публиковались.

В этой статье хочу рассказать об одном из таких наборов данных. Большом, сложном, важном, но при этом доступном в крайне неудобном для исследователей формате — базе данных показателей муниципальных образований (БД ПМО).

Читать далее
Всего голосов 33: ↑32 и ↓1 +31
Просмотры 7.4K
Комментарии 14

PostgreSQL Antipatterns: рекурсивные грабли на ровном месте, или Сказка о потерянном времени

Блог компании Тензор Ненормальное программирование *PostgreSQL *SQL *Администрирование баз данных *

В моей практике ускорения SQL-запросов для PostgreSQL, в большинстве случаев, все сводится к применению типовых методик - их не особенно-то и много, и прочитать про большинство из них можно в моем профиле.

Но иногда обнаруживаются очень странные вещи в поведении этой, безусловно, отличной СУБД.

Все началось с запроса, который мне показали с диагнозом "необъяснимо тормозит"...

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 6K
Комментарии 7

20 часов оптимизаций, вживую

Программирование *.NET *SQL *Microsoft SQL Server *C# *

Всем привет.

Я пишу код, временами мне это нравится, а иногда даже получается. Пока по миру не шарахнул карантин я временами выступал на каком-нибудь офлайновом мероприятии, меня слушали, а мне это нравилось. Но вот уже два года как планета погрузилась в карантинный строй; я привык думать, что мои коллеги не люди, а кружочки вписанные в прямоугольник в окне одной из коммерческих звонилок. 

А славы и света софитов хочется-то! 

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

И я попробовал.

За последние три месяца записал 10 двухчасовых стримов на темы которые разобрал за время своей карьеры. Получалось по-разному, стрим такой формат, где очень много  может пойти не так, а я его еще и усложнил для себя лайвкодингом. Временами что-то шло не так, но, если честно, я даже удивлен, что за 20 часов эфира у меня не случилось ничего действительно катастрофического, после чего я бы стал искать кнопку “удалить канал” и гуглить смену фамилии.

Под катом немного об идеях с которыми я делал видео и немного текста про каждую из тем.

Читать далее
Всего голосов 17: ↑16 и ↓1 +15
Просмотры 7.6K
Комментарии 8

SQL и тайны коридоров Хогвартса

SQL *
Перевод


Практически невозможно найти двух людей, которые отформатировали бы даже самый простой SQL-запрос одинаково. Причем каждый будет абсолютно уверен, что именно его стиль наиболее понятный и правильный. Что приводит к спорам и баталиям на code review, а самое главное к трудностям при чтении чужих запросов. Не существует и какого-нибудь большого авторитетного style-guide для SQL, какие существуют для других языков. И все решается в основном делом вкуса, о котором как известно не спорят. Возможно проблема в отсутствии теоретической основы, некого физического обоснования почему стоит придерживаться каких либо определенных правил при оформлении SQL кода. Давайте попробуем разобраться.

Читать дальше →
Всего голосов 20: ↑16 и ↓4 +12
Просмотры 18K
Комментарии 57

PostgreSQL 15: Часть 4 или Коммитфест 2022-01

Блог компании Postgres Professional PostgreSQL *SQL *
Первые три коммитфеста 15-й версии (2021-07, 2021-09, 2021-11) не баловали нас крупными изменениями. Не стал исключением и четвертый, январский коммитфест. Но всё-таки найдется о чем рассказать.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 3K
Комментарии 6

SQL HowTo: «простое» прогнозирование

Блог компании Тензор Ненормальное программирование *PostgreSQL *SQL *ERP-системы *

В "Тензоре" мы разрабатываем множество сервисов для управления бизнесом. А в бизнесе очень часто возникает желание немного "заглянуть в будущее" - спрогнозировать и увидеть на графике значение каких-то величин, которые мы можем только предполагать на основании данных предыдущих периодов. Например, на какую примерно выручку мы сможем рассчитывать в следующем месяце или сколько продуктов стоит закупить в столовую на следующую неделю.

Для решения этой задачи можно строить сложные математические модели и проверять их на "кластерах с бигдатой", но мы попробуем найти вариант попроще - когда есть всего одна метрика, SQL и немного житейской логики.

Читать далее
Всего голосов 17: ↑16 и ↓1 +15
Просмотры 6.6K
Комментарии 5

Как подключиться к базе данных с помощью CSS

Блог компании SkillFactory Ненормальное программирование *CSS *SQL *SQLite *
Перевод

К старту курса по Fullstack-разработке на Python делимся материалом о том, как при помощи современных возможностей CSS и JS — ворклетов и API Houdini — подключиться к базе данных и выполнять запросы к ней. За подробностями приглашаем под кат.

Читать далее
Всего голосов 20: ↑13 и ↓7 +6
Просмотры 25K
Комментарии 8

Сравнение типов данных VARCHAR(max) и VARCHAR(n) в SQL Server

Блог компании OTUS SQL *Microsoft SQL Server *
Перевод

Тип varchar(max) часто используется как в обычных, так и во временных таблицах. Да, с ним можно не беспокоиться о длине строк или появления ошибки "Произойдет усечение строковых или двоичных данных" (String or binary data would be truncated).

Но стоит ли использовать varchar(max) повсюду?

Подробнее о varchar(n) вы можете прочитать здесь, а в этой статье мы сравним типы varchar(max) и varchar(n).

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 4.2K
Комментарии 3

Вклад авторов