Data Science. SQL hub
36K subscribers
904 photos
46 videos
37 files
962 links
По всем вопросам- @workakkk

@itchannels_telegram - 🔥лучшие ит-каналы

@ai_machinelearning_big_data - Machine learning

@pythonl - Python

@pythonlbooks- python книги📚

@datascienceiot - ml книги📚

РКН: https://vk.cc/cIi9vo
Download Telegram
💻Поговорим немного о автогенерации первичного ключа

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

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

Автогенерацию первичного ключа часто называют автоинкрементом (autoincrement). Что переводится как автоматическое увеличение и напоминает операцию инкремента из программирования ++.

До определенного момента механизм автоинкремента был реализован по-своему в каждой СУБД разными способами. Это создавало проблемы при переходе от одной СУБД к другой и усложняло реализацию программного слоя доступа к базе данных.

Эта функциональность добавлена в стандарт SQL:2003, то есть очень давно. И только в 2018 году PostgreSQL в версии 10 стал его поддерживать. Такой автоинкремент известен под именем GENERATED AS IDENTITY:
CREATE TABLE colors (
-- Одновременное использование и первичного ключа и автогенерации
id bigint PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
name varchar(255)
);

INSERT INTO colors (name) VALUES ('Red'), ('Blue');

SELECT * FROM colors;

-- id name
-- 1 Red
-- 2 Blue

Если удалить запись с id равным двум и вставить еще одну запись, то значением поля id будет 3. Автогенерация не связана с данными в таблице. Это отдельный счетчик, который всегда увеличивается. Так избегаются вероятные коллизии и ошибки, когда один и тот же идентификатор принадлежит сначала одной записи, а потом другой.

Вот его структура из документации:
column_name type GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY[ ( sequence_option ) ]


@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥5👍2👎2🥰2
💻Сложные SELECT в PostgreSQL

Отличная статья, в которой обсуждаются:
Операции над множествами (UNION, INTERSECT, EXCEPT)
Common Table Expression, CTE (WITH)
Оконные функции (WINDOW / OVER)
Расширенные возможности агрегатных функций (GROUP BY)
Функции в исходной выборке (FROM)
Соединения (JOIN) и выражения подзапросов
Управление порядком выполнения

📎 Статья

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍205🔥3🎉1
💻DDL лог в PostgreSQL. Описание и пример создания журнала DDL операций

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

Структура статьи
Что такое DDL лог и зачем он нужен

Как создать DDL Log в PostgreSQL

Триггеры событий в PostgreSQL
— Типы событий
— Команды DDL, на которые срабатывают триггеры событий
— Функции для триггеров событий
— Функции для получения информации в событийных триггерах
— Команда CREATE EVENT TRIGGER

Пример создания DDL лога в PostgreSQL
— Таблица для хранения информации
— Функция, которая будет вызываться при наступлении события
— Создание событийных триггеров
— Пример работы DDL лога

📎 Статья

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍114🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Вы можете присваивать столбцу значение по УМОЛЧАНИЮ при добавлении или изменении строк с помощью ключевого слова DEFAULT



INSERT INTO ... VALUES ( DEFAULT, ... )

UPDATE ... SET ... = DEFAULT


#SQL #ORACLE

@sqlhub
👍255🔥2
💻Держите подборку самых актуальных команд для администрирования PostgreSQL

В первую очередь команды ориентированы на PostgreSQL v.11.13, но большинство из них исправно работает в более старых и новых версиях.
Особенности работы комманды в других версиях указаны в сноске*.
Команды установки приведены для Ubuntu 20.04, но работать будут практически аналогично и в других средах.

📎 Полная шпаргалка (на скринах только часть)

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍42
💻Microsoft запустила общедоступную предварительную версию Copilot в базе данных SQL Azure

Microsoft выпустила ограниченную общедоступную предварительную версию Copilot в базе данных SQL Azure. ИИ-помощник интегрирует данные и формулирует применимые ответы с использованием общедоступной документации, динамических представлений управления, хранилища запросов, представлений каталога и диагностики поддерживаемости Azure.

Новое расширение Copilot будет включать два интерфейса:
преобразование естественного языка в SQL. Эта функция в редакторе запросов портала Azure для базы данных SQL Azure преобразует запросы на естественном языке в SQL, делая взаимодействие с базой данных более интуитивным;
интеграцию Azure Copilot. Она позволит клиентам самостоятельно управлять своими базами данных и решать проблемы с ними.

Доступ к функции естественного языка можно получить, перейдя в базу данных SQL Azure и нажав «Launch inline copilot» на панели инструментов редактора запросов. Оттуда можно ввести свой вопрос. После этого нужно кликнуть «Создать запрос», и появится новый оператор присваивания кода T-SQL. Его можно выполнить или отклонить и ввести новое приглашение на естественном языке, которое создаст новый оператор кода, но не заменит предыдущий.

Интеграция предоставляет пользователям базы данных SQL Azure доступ к Microsoft Copilot для Azure.

Чтобы опробовать предварительную версию, нужно перейти на эту веб-страницу и зарегистрироваться в программе. Пока неизвестно, как долго продлится её тестирование.

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥53😢1
🖥 Не забывайте обновлять Postgres!

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

Кроме того, с postgresql_cluster этот процесс полностью автоматизирован

Github

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍113🔥2
🖥 Sqlelf

Инструмент, использующий функциональность виртуальной таблиц Sqlite, позволяющий исследовать объекты Linux ELF с помощью SQL.

ELF (англ. Executable and Linking Format — это формат исполнимых и компонуемых файлов) — формат исполняемых двоичных файлов, используемый во многих современных UNIX-подобных операционных системах, таких как FreeBSD, Linux, Solaris и др.

Традиционно изучение файлов ELF ограничивалось такими инструментами, как objdump или readelf. Несмотря на то, что эти инструменты обладают широкими возможностями синтаксического анализа, формат вывода и возможность задавать исследовательские функции инструментов довольно ограничены.

Github

Аналитика данных
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥1
💎 Яндекс выкатит линейку нейросетей YandexGPT 3

Самая первая языковая модель из третьего поколения уже доступна на Yandex Cloud. Это YandexGPT 3 Pro, которую можно встроить в продукты бизнеса через API и дообучить в сервисе ML-разработки Yandex DataSphere для потребностей компании, а именно — загрузить файл с примерами запросов и эталонными ответами на них.

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

Цена на использование нейросети снизилась почти в два раза. Плюс её можно попробовать в демо-режиме.

@sqlhub
👍84👎3🔥3