IT Kniga
Интернет-магазин компьютерной литературы

SQL - habr.ru

RSS-материал Хабр
SQL – формальный непроцедурный язык программирования
Обновлено: 8 часа 46 минуты назад

[Перевод] Потенциальные проблемы с автоинкрементным ключом. MySQL <8.0, PostgreSQL

Пнд, 15/04/2024 - 09:42

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

Читать далее
Категории: Базы данных

Spark. План запросов на примерах

Пнд, 15/04/2024 - 06:12

Всем привет!

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

Читать далее
Категории: Базы данных

Фреймворк DBGridChart и OLAP-приложение Экспресс_обработка.exe для ведения баз данных и анализа данных

Ср, 10/04/2024 - 13:21

В статье рассматриваются назначение, основные особенности и возможности Фреймворка “DBGridChart”  и OLAP – приложения “Экспресс_обработка.exe” (разработчик – Плещев В.В., http://vipuskniki.usue.ru/Docum.html - DLL, исходные тексты, описание и демонстрационные примеры).

Фреймворк ориентирован на автоматизацию разработки программ на C# по формированию входных табличных и ленточных документов для ведения баз данных c СУБД SQL Server, PostgeSQL, MySQL, Access  в режиме непостоянного соединения ADO .NET и немедленного (без промежуточного накопления изменений) добавления, удаления или изменения записей с соблюдением целостности базы данных, а также для формирования заранее нерегламентированных аналитических таблиц и диаграмм для анализа данных, по унифицированной технологии (с использованием управляющих элементов  dataGridView и Chart в C#) с много функциональным, унифицированным, адаптивным и комфортным для пользователей готовым интерфейсом.

OLAP-приложение  “Экспресс_обработка.exe” позволяет: вынести описания запросов  Select из исходных текстов программ в отдельный текстовый файл, что исключает необходимость в разработке оригинальных программ для ведения баз данных с различными СУБД и формирования аналитических таблиц и диаграмм. Для формирования запросов разработан специальный визуальный конструктор.

Информация о таблицах, запросах Select и их полях берется автоматически конструктором из базы данных. Не выходя из приложения, пользователь может оперативно визуальным конструктором запросов формировать, сохранять и использовать запросы  для анализа данных и ведения базы данных. Само приложение реализовано средствами Фреймворка “DBGridChart”. 

Читать далее
Категории: Базы данных

Отладка в SQL Developer

Ср, 10/04/2024 - 10:31

Привет! Меня зовут Алексей Маряхин, я разработчик на Oracle. В этой статье продолжим знакомиться с темой отладки PL/SQL-кода.

 В предыдущей статье мы изучили возможности отладки в PL/SQL Developer. В этой предлагаю рассмотреть ещё один инструмент — SQL Developer (версия 21.2.0.187 Build 187.1842). Также обозначим плюсы и минусы этих инструментов в сравнении.

Как оказалось, информации на русском языке на эту тему не так много, а документация по SQL Developer не отвечает на многие вопросы. В статье постараюсь осветить основные моменты касательно использования SQL Developer для отладки. Если тема для вас актуальна, велком!

Читать далее →
Категории: Базы данных

Книга «SQL. Pocket guide, 4-е изд.»

Втр, 09/04/2024 - 15:33
Привет, Хаброжители!

Если вы аналитик или инженер по обработке данных и используете SQL, популярный карманный справочник станет для вас идеальным помощником. Найдите множество примеров, раскрывающих все сложности языка, а также ключевые аспекты SQL при его использовании в Microsoft SQL Server, MySQL, Oracle Database, PostgreSQL и SQLite.

В обновленном издании Элис Жао описывает, как в этих СУБД используется SQL для формирования запросов и внесения изменений в базу. Получите подробную информацию о типах данных и их преобразованиях, синтаксисе регулярных выражений, оконных функциях, операторах PIVOT и UNPIVOT и многом другом. Читать дальше →
Категории: Базы данных

Разработка автоматизированной очереди для сдачи лабораторных работ

Втр, 09/04/2024 - 13:06

Учеба в политехе заключается в сдаче лабораторных работ. Буквально. Очень редко бывает такое, что на парах мы чему-то учимся, зачастую все завязано на самообучении. Грубо говоря, вот вам методичка, разбирайтесь сами, через неделю дедлайн.

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

В связи с этим я задумался над созданием автоматизированной очереди. В качестве стека основных технологий выбрал HTML5+CSS3 для фронтенда, PHP для бэкенда. В качестве СУБД был выбран phpMyAdmin (SQL-DB). В первую очередь, конечно, необходимо было продумать структуру базы данных. Предметная область информационной системы уже была сформулирована: "Очередь на сдачу лабораторных работ с возможностью записи по отдельным дисциплинам, удаления своей записи. Учет истории создания записи, удаления записей, включая время записи. Возможность смены пароля, просмотра профиля." Даталогическая модель БД была построена в MySQL Workbench 8.0 CE в нотации IDEF1X.

Читать далее
Категории: Базы данных

Дашборд управления бизнесом (P&L) в Metabase за 5 дней

Втр, 09/04/2024 - 12:09

Один из важнейших инструментов в моей работе — дашборд с данными о прибылях и убытках компании P&L (он же БДР, он же отчет о финансовых результатах). Он помогает контролировать рентабельность бизнеса, эффективность отделов компании, прогнозировать прибыль и строить гипотезы для развития. В этой статье расскажу, как его настроить и использовать при помощи Open-Source BI-системы Metabase.

Читать далее
Категории: Базы данных

Интеграция Grist и Metabase

Втр, 09/04/2024 - 12:09

Привет! Меня зовут Александр Ежков, я Backend-разработчик в AGIMA. Занимаюсь созданием и поддержкой внутренних сервисов для компании. А конкретно сейчас — нашей DWH-системой. Мы построили ее из Open-source продуктов. В этой статье расскажу, какие продукты мы используем, какие хитрости придумали для работы с ними как вся система работает вместе.

Читать далее
Категории: Базы данных

Анализ навыков data-специализаций в вакансиях HH.ru

Пнд, 08/04/2024 - 13:30

Всем привет!

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Читать далее
Категории: Базы данных

Статический анализ структуры базы данных (часть 2)

Вс, 07/04/2024 - 11:39

Продолжим разбор проверок структуры базы данных, на примере PostgeSQL. Данная статья будет посвящена проверкам связанным с ограниением FOREIGN KEY (FK). Часть проверок целесообразно выполнять на регулярной основе, а некоторые позволяют лучше понять структуру проекта при первом знакомстве и применяются только один раз.

Читать далее
Категории: Базы данных

Курс «PostgreSQL для начинающих»: #4 — Анализ запросов (ч.1 — как и зачем читать планы)

Втр, 02/04/2024 - 09:50

Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".

В этой лекции мы узнаем, что такое план выполнения запроса, как и зачем его читать (и почему это совсем непросто), и о каких проблемах с производительностью базы он может сигнализировать. Разберем, что такое Seq Scan, Bitmap Heap Scan, Index Scan и почему Index Only Scan бывает нехорош, чем отличается Materialize от Memoize, а Gather Merge от "просто" Gather.

Как обычно, для предпочитающих смотреть и слушать, а не читать - доступна видеозапись (часть 1, часть 2).

Читать далее
Категории: Базы данных

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

Пт, 29/03/2024 - 20:31


Весна уже в разгаре, а мы вспомним горячие новости самого зимнего, январского коммитфеста. И сразу начнем с козырей.


Предыдущие статьи о 17-й версии: 2023-07, 2023-09, 2023-11.

Читать дальше →
Категории: Базы данных

Медленное выполнение команды TRUNCATE: анализ проблемы блокировок спинлока в SQL Server

Ср, 27/03/2024 - 16:58

Приветствую всех читателей Хабра! Меня зовут Михаил, я администратор DBA в компании «Автомакон». На данный момент работаю на проекте для «ВкусВилл».

Решил затронуть одну из насущных проблем, связанную с работой SQL Server, а именно со спинлоками в нем. Да, даже такой зрелый и стабильный продукт как Microsoft SQL Server иногда подкидывает неожиданные задачи. Этот кейс хорошо демонстрирует, насколько увлекательные и интересные задачи решают администраторы баз данных. 

Читать далее
Категории: Базы данных

Развитие баз данных

Ср, 27/03/2024 - 10:15

В 60-х годах прошлого века возникла потребность в надежной модели хранения и обработки данных, особенно важной для банков и финансовых организаций. В то время отсутствовали единые стандарты работы с данными и моделями, и вся работа сводилась к ручной упорядоченной организации информации. Банкам удавалось записывать информацию о транзакциях в виде файлов в заранее подготовленную структуру, причем у каждой организации было собственное представление о том, как это должно выглядеть и функционировать. Также отсутствовали понятия консистентности (согласованности данных) и целостности данных. В таких файлах часто встречались дубликаты клиентов и их транзакций, которые приходилось уточнять и приводить в порядок вручную.

Данная статья захватывает ключевые моменты в развитии систем управления базами данных, от первых иерархических моделей до современных реляционных, NoSQL и NewSQL систем.

Читать далее
Категории: Базы данных

Автоматизация или как я избегала общения с коллегами. Часть 1

Втр, 26/03/2024 - 18:21

Хочу написать небольшую серию постов о том, как я автоматизировала или ставила на конвейер какие‑то процессы, с разной степенью успешности, из личного и рабочего опыта. По функционалу это Python, SQL с привлечением Airflow, гитлаба и других стандартных инструментов.

Не поймите меня не правильно, я люблю людей, и своих коллег тоже (да, они тоже люди). Но когда им резко что‑то надо именно сейчас (ad‑hoc), и таких нуждающихся 30 человек‑ то я люблю их чуть меньше.

«Давай игнорировать ошибки» — бодро предложила я, и моя коллега меня поддержала. «Будет весело» — говорили они.

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

Что же я там выдумала
Категории: Базы данных

Как развернуть mysql в phpmyadmin с помощью docker

Пнд, 25/03/2024 - 09:30

Как развернуть базу данных mysql в phpmyadmin с помощью docker.

Так как я не нашёл на русском нормальный материал, то решил написать самостоятельно.

Читать далее
Категории: Базы данных

Как пишут SQL-запросы гуманитарии

Пнд, 25/03/2024 - 08:21

Когда говорят «мы ускорили выполнение нашего запроса в N раз» это значит, что сначала сделали плохо а потом начали думать как улучшить.

Так я думал раньше.

Читать далее
Категории: Базы данных

Статический анализ структуры базы данных (часть 1)

Пнд, 25/03/2024 - 07:50

Статический анализ структуры базы данных — это процесс выявления ошибок, нерекомендуемых практик и потенциальных проблем в базе данных только на основе структуры, типов данных, свойствах объектов. Статиеский анализ структуры не задействует ни пользовательские данные, ни статистику по таким данным.

Рассмотрим подробнее статический анализ структуры базы данных — что это, какие задачи решает, как интегрировать статический анализ в CI.

Читать далее
Категории: Базы данных

Как мы лечили раздвоение встреч в конференциях на базе Jitsi

Пт, 22/03/2024 - 09:25

Привет! Меня зовут Дима. Я из команды бэкенда Яндекс Телемоста — сервиса для проведения видеовстреч, который входит в Яндекс 360. Перед нами стоит задача не просто предоставить сервис, а предоставить отказоустойчивый и надёжный сервис, который работает 24/7 и обслуживает весь мир.

Телемост создан на основе open source решения Jitsi meet — оно постоянно развивается благодаря вкладу комьюнити, но при этом имеет свои ограничения. В статье расскажу, как мы встретили один редкий, но интересный плавающий баг. И конечно, как его лечили.

Читать далее
Категории: Базы данных

Альтернативный вариант к подходу хранения SQL-кода в репозитории и его разработке

Чт, 21/03/2024 - 20:26

Приветствую, current_user()!

Хочется тебе показать, как можно хранить sql-скрипты объектов БД так, чтобы было удобно и разработчику, и ревьюеру, а так-же рассказать о плюсах и минусах такого подхода.

Так-же хотелось-бы узнать твоё мнение о таком подходе и обсудить, возможно стоит что-нибудь добавить в нём.

Ознакомиться с альтернативным подходом...
Категории: Базы данных

Большая распродажа компьютерной литературы

Полный список здесь