Теоретически многие понимают, что контроль версий может:
— Помочь нам сравнить запросы, чтобы найти различия
— Сравнить предыдущую версию с новой версией запроса.
— Разрешить мне отменить изменение, внесенное в мой код, которое не имело ожидаемого эффекта.
— Разрешить нашей команде сотрудничать, когда кому-то нужна помощь с запросом
Но на практике всё не так просто.
Во-первых, изучать git сложно. Даже просто понять, что такое git, может быть сложно, если вы никогда раньше не пользовались системой контроля версий.
Я думаю, что лучший способ учиться — это брать и делать.
Поэтому держите очень полезный туториал, который покажет, как настроить управление версиями SQL с помощью GitHub и DBeaver.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8😁5👍4🥰2🔥1
Postgres Professional заявила о выпуске новой версии Postgres Pro Enterprise. Релиз включает возможности мажорных версий Postgres Pro Enterprise 16.1.1, PostgreSQL 16.2 и ряд новых разработок для повышения безопасности, улучшенной оптимизации запросов, аналитики и работы с большими объектами, рассказали информационной службе Хабра в пресс‑службе компании.
Среди ключевых обновлений Enterprise 16.2.1:
#private
и *#export.* Модификатор #private
определяет функции и процедуры как внутренние, а модификатор #export
определяет, какие переменные пакета являются публичными;@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤6🔥4
В иерархических БД каждая запись имеет одного «родителя». Это создаёт древовидную структуру, в которой записи классифицируются по их отношениям с цепочкой родительских записей.
Сетевые БД расширяют функциональность иерархических: записи могут иметь более одного родителя. А значит, можно моделировать сложные отношения.
Реляционные БД – старейший тип до сих пор широко используемых БД общего назначения. Данные и связи между данными организованы с помощью таблиц. Каждый столбец в таблице имеет имя и тип. Каждая строка представляет отдельную запись или элемент данных в таблице, который содержит значения для каждого из столбцов.
В БД «ключ-значение» для хранения информации вы предоставляте ключ и объект данных, который нужно сохранить. Например, JSON-объект, изображение или текст. Чтобы запросить данные, отправляете ключ и получаете blob-объект.
Документные БД совместно используют базовую семантику доступа и поиска хранилищ ключей и значений. Такие БД также используют ключ для уникальной идентификации данных. Разница между хранилищами «ключ-значение» и документными БД заключается в том, что вместо хранения blob-объектов, документоориентированные базы хранят данные в структурированных форматах – JSON, BSON или XML.
Вместо сопоставления связей с таблицами и внешними ключами, графовые БД устанавливают связи, используя узлы, рёбра и свойства.
Колоночные БД принадлежат к семейству NoSQL БД, но внешне похож на реляционные БД. Как и реляционные, колоночные БД хранят данные, используя строки и столбцы, но с иной связью между элементами.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥8❤4
Яндекс подготовит на треть больше топовых специалистов по ML и Data Science
Школа анализа данных Яндекса открыла набор на следующий учебный год. Школа решила увеличить число своих студентов — на обучение примут 400 человек, что обеспечит приток новых датасаентистов на рынок. Конкурс при приёме в ШАД остаётся стабильно высоким (17 человек на место в 2023 году), но добавляется новая возможность поступить — теперь абитуриенты смогут поступить также через очную олимпиаду.
В недавнем исследований ШАД выяснил, что 77% выпускников устраиваются в лидирующие технологические компании, а каждый четвёртый работает в научной сфере.
Больше о карьерных треках выпускников ищите в карточках.
@sqlhub
Школа анализа данных Яндекса открыла набор на следующий учебный год. Школа решила увеличить число своих студентов — на обучение примут 400 человек, что обеспечит приток новых датасаентистов на рынок. Конкурс при приёме в ШАД остаётся стабильно высоким (17 человек на место в 2023 году), но добавляется новая возможность поступить — теперь абитуриенты смогут поступить также через очную олимпиаду.
В недавнем исследований ШАД выяснил, что 77% выпускников устраиваются в лидирующие технологические компании, а каждый четвёртый работает в научной сфере.
Больше о карьерных треках выпускников ищите в карточках.
@sqlhub
❤14
// create query to match input with the description or product name
var query = em.createQuery("SELECT p FROM Product p WHERE LOWER(p.description) like OR lower(p.productName) like :input", Product.class);
Это качественный и безопасный запрос с именованными параметрами, что делает невозможным использование инъекций.
// create query to match input with the description or product name
String query = "Select * from Product where lower(description) like '%" + lowerInput + "%' OR lower(product_name) like '%" + lowerInput + "%'";
Для контекста нейросеть использовала уязвимый код и на его основе сгенерировала ещё одну ошибку.
Факторы, усугубляющие использование GitHub Copilot:
— Закрепление плохого подхода. Начинающие разработчики, использующие ИИ-помощников, не замечают своих ошибок и начинают думать, что если код сгенерировала нейросеть, то он верный.
— Отсутствие проверок. Ассистенты не могут проверять безопасность предложенных фрагментов, а разработчики редко пересматривают их. Это увеличивает количество уязвимостей в проекте.
— Устаревшие шаблоны. GitHub Copilot может предлагать фрагменты, которые в сообществе уже признаны неверными и содержащими ошибки.
Будьте аккуратнее, в общем)
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Очевидно, что это будет первая, либо последняя запись в этом столбце.
База данных Oracle знает об этом, поэтому может оптимизировать данный запрос:
INDEX FULL SCAN (MIN/MAX)
или
INDEX RANGE SCAN (MIN/MAX)
При этом запросе считывается только одна необходимая запись.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4🥰2🔥1
Нереально полезная подборка SQL-запросов, количество запросов вы и сами видите, это покрывает большую часть того, что может встретиться в практике
В том числе здесь:
record
и NULL
и способы быстрого получения количества записей в большой таблицеUPSERT
) и журналирование изменений таблицыDDL
) и способы добавления ограничений таблицы и изменения ограничений внешнего ключа без блокирования таблицы@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👍8❤4