Базы данных (Data Base) – Telegram
Базы данных (Data Base)
8.21K subscribers
567 photos
468 videos
19 files
546 links
Базы данных (Data Base). По всем вопросам @evgenycarter
Download Telegram
Потенциальные проблемы с автоинкрементным ключом. MySQL <8.0, PostgreSQL

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

https://habr.com/ru/articles/807751/

original https://samwho.dev/blog/practical-problems-with-auto-increment/

#db

👉 @database_info
👍1
Learning Snowflake SQL and Scripting: Generate, Retrieve, and Automate Snowflake Data
Автор: Alan Beaulieu (2023)

Чтобы помочь вам стать профессионалом в области Snowflake, в этом кратком, но исчерпывающем руководстве рассматриваются основы и лучшие практики использования языков SQL и Scripting в Snowflake. Разработчики и специалисты по работе с данными узнают, как генерировать, модифицировать и запрашивать данные в реляционной системе управления базами данных Snowflake, а также как применять аналитические функции для создания отчетов. Автор также покажет, как создавать сценарии, хранимые функции и хранимые процедуры для возврата наборов данных с помощью Snowflake Scripting. Эта книга идеально подходит для тех, кто только начинает работать с базами данных и нуждается в выполнении запросов и отчетов на базе данных Snowflake или переходит с таких баз данных, как Oracle, SQL Server или MySQL, на облачные платформы.

#db

👉 @database_info
👍3
NULL-значения в PostgreSQL: правила и исключения

Навскидку многим кажется, что они знакомы с поведением NULL-значений в PostgreSQL, однако иногда неопределённые значения преподносят сюрпризы. Мы с коллегами написали статью на основе моего доклада с PGConf.Russia 2022 — он был полностью посвящён особенностям обработки NULL-значений в Postgres.

https://habr.com/ru/companies/postgrespro/articles/697300/

#db

👉 @database_info
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Шпаргалка по SQL (postgres), которая выручает меня на собесах

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

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

https://habr.com/ru/articles/745948/

#db

👉 @database_info
👍5
Курс по T-SQL

Создание таблиц
Заполнение таблиц
Блоки запроса: select, from, where, group by
Условие отбора. Использование LIKE, BETWEEN, AND, OR
NULL и как с этим работат
Изменение данных: DELETE WHERE, UPDATE WHERE
Псевдонимы столбцов и как убрать дубликаты строк при выводе на экран
Таблицы: постоянные, в виде подзапроса, временные #, представления view
Связи между таблицами:inner join, left join, right join, cross join, full join
Рекурсивные соединения таблиц или как соединить одинаковые таблицы

источник

#db

👉 @database_info
👍5
Какие типы СУБД в соответствии с моделями данных вы знаете?

Этот вопрос по SQL предполагает не просто назвать, но и дать краткое описание каждому типу.

Существует несколько типов СУБД:

Реляционные, которые поддерживают установку связей между таблицами с помощью первичных и внешних ключей. Пример — MySQL.

Flat File — базы данных с двумерными файлами, в которых содержатся записи одного типа и отсутствует связь с другими файлами, как в реляционных. Пример — Excel.

Иерархические подразумевают наличие записей, связанных друг с другом по принципу отношений один-к-одному или один-ко-многим. А вот для отношений многие-ко-многим следует использовать реляционную модель. Пример — Adabas.

Сетевые похожи на иерархические, но в этом случае «ребёнок» может иметь несколько «родителей» и наоборот. Примеры — IDS и IDMS.

Объектно-ориентированные СУБД работают с базами данных, которые состоят из объектов, используемых в ООП. Объекты группируются в классы и называются экземплярами, а классы в свою очередь взаимодействуют через методы. Пример — Versant.

Объектно-реляционные обладают преимуществами реляционной и объектно-ориентированной моделей. Пример — IBM Db2.

Многомерная модель является разновидностью реляционной и использует многомерные структуры. Часто представляется в виде кубов данных. Пример — Oracle Essbase.

Гибридные состоят из двух и более типов баз данных. Используются в том случае, если одного типа недостаточно для обработки всех запросов. Пример — Altibase HDВ.


#db

👉 @database_info
👍84
SQL Cookbook: Query Solutions and Techniques for All SQL Users
Автор: Anthony Molinaro, Robert de Graaf (2020)

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

Второе издание включает:
✔️Полностью переработанные рецепты;
✔️Дополнительные рецепты, отражающие широкое распространение общих табличных выражений для более читаемых и простых в реализации решений;
✔️Новые рецепты, которые сделают SQL более полезным для людей, не являющихся экспертами по базам данных, включая специалистов по данным.

#db

👉 @database_info
👍3🔥1
На грани ИИ: пример поиска и обработки векторов в PostgreSQL + pgvector

На Хабре было много упоминаний pgvector в обзорах Postgresso. И каждый раз новость была про место которое где‑то за границей и далеко. Многие коммерческие решения для хранения и поиска векторов в базе данных нынче не доступны, а pgvector доступен любому, тем более в самой популярной базе в России. Применим pgvector для задачи поиска похожих домов по инфраструктуре для детей в Москве.

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

https://habr.com/ru/articles/777734/

#db

👉 @database_info
4👍1
Шардинг как паттерн архитектуры базы данных

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

https://lab.scub.net/architecture-patterns-sharding-09f759150d3d

#db

👉 @database_info
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 DrawDB

Бесплатный, простой и интуитивно понятный инструмент для проектирования баз данных и генератор SQL.

https://github.com/drawdb-io/drawdb

#db

👉 @database_info
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Media is too big
VIEW IN TELEGRAM
🖥 Основы SQL за час - бесплатно и проще некуда

Содержание:
00:00 - подготавливаем базу
04:36 - выбираем данные SELECT
08:30 - указываем текущую базу данных
09:58 - чувствительность к регистру
12:14 - выбор определенных колонок
15:28 - фильтрация с помощью WHERE
20:59 - фильтрация с И и ИЛИ
26:38 - поиск строки по шаблону
29:18 - свой среди чужих
31:26 - NULL когда данные отсутствуют
34:27 - сортировка данных в SQL
38:37 - добавление записей с помощью SQL запроса
45:36 - обновление данных с помощью SQL
52:32 - удаляем данные из базы с помощью SQL

источник

#db

👉 @database_info
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🎉1
Media is too big
VIEW IN TELEGRAM
Продвинутый курс SQL за час - проще некуда

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

Содержание:
00:00 - Поехали
01:14 - Сортировка по номеру
03:23 - Ограничение вывода limit
06:30 - Уникальность данных distinct
08:18 - Сложение колонок
11:00 - Псевдонимы
15:35 - join - связи таблиц
27:45 - Left join
29:38 - Right join
35:00 - Быть или не быть (exists)
39:32 - Объединения union
41:42 - Глобальный поиск
43:45 - Агрегатные функции
54:00 - Группировка данных group by

источник

#db

👉 @database_info
👍5🔥2