TGViewer
Channel Public Channel
Базы данных (Data Base)

Базы данных (Data Base)

@database_info

Базы данных (Data Base). По всем вопросам @evgenycarter
Subscribers
8.05K
Photos
669
Videos
479
Links
688

Showing posts older than #1337 · Back to latest

Older Posts 6 shown
Post #1335 1.72K
Совет по работе с базой данных ⚡️

Иногда требуется получить, например, три последних заказа для *каждого* клиента. Обычные объединения не могут этого сделать. Приходится выполнять n+1 запросов в коде, что очень медленно!

Но с помощью lateral joins можно сделать циклическое соединение for-each в SQL


MySQL / PostgreSQL

SELECT customers.*, recent_sales.*
FROM customers
LEFT JOIN LATERAL (
SELECT *
FROM sales
WHERE sales.customer_id = customers.customer_id
ORDER BY created_at DESC
LIMIT 3
) AS recent_sales ON true;


https://sqlfordevs.com/for-each-loop-lateral-join

#db

👉 @database_info
  • 👍 12
Post #1326 2.52K
PostgreSQL

Лекция 1: Основы SQL
Лекция 2: Простые SELECT
Лекция 3: Сложные SELECT
Лекция 4: Анализ запросов | Часть 1
Лекция 4: Анализ запросов | Часть 2
Лекция 5: Индексы | Часть 1
Лекция 5: Индексы | Часть 2
Лекция 6: Транзакции
Лекция 7: Блокировки

источник

#db

👉 @database_info
  • 👍 15
  • 🔥 2
Post #1324 1.67K
Шпаргалка по MySQL

Коннект к mysql по TCP
mysql --user root --host localhost --port 3306 --protocol tcp

Создать БД
CREATE DATABASE $DB_NAME character set utf8;

Добавить пользователя
CREATE USER $DB_USER@localhost IDENTIFIED BY '$DB_PASSWORD';

Дать права пользователю на БД
GRANT ALL ON $DB_NAME.* TO $DB_USER@localhost;

на удаленный доступ:
GRANT ALL PRIVILEGES ON $DB_NAME.* TO $DB_USER@'%' IDENTIFIED BY '$DB_PASSWORD';

на удаленный доступ на все таблицы:
grant all privileges on *.* to DB_USER@'%';

сменить пароль пользователю
SET PASSWORD FOR логин@localhost = PASSWORD('пароль'); SET PASSWORD FOR логин@"%" = PASSWORD('пароль');

что бы права вступили в силу:
flush privileges;

Посмотреть права пользователя
SHOW GRANTS for $DB_USER@localhost;

Если нужно залить большой дамп, то в /etc/my.cnf в секцию [mysqld] добавить:
max_allowed_packet = 16M

Работа с кластером мастер-слейв

посмотреть состояние мастера:
show master status;

посмотреть состояние слейва:
SHOW SLAVE STATUS\G

Посмотреть структуры таблицы в БД
describe <table_name>;

или
SHOW CREATE TABLE <table_name>;

Посмотреть состояние таблиц в БД
SHOW TABLE STATUS;

Сброс пароля mysql
1). В /etc/mycnf в секцию [mysqld] вставляем строку skip-grant-tables
2). Перезапустить mysqld.

После этого пароль будут сброшен и можно ввести любой другой.

#db

👉 @database_info
  • 👍 12
  • 🔥 2
Post #1322 1.84K
Как найти дубликат записи? Опишите процесс для дублирования записей с одним и несколькими полями.

Дублирование записей с одним полем:

SELECT name, COUNT(email)
FROM users
GROUP BY email
HAVING COUNT(email) > 1



Дублирование записей с несколькими полями:

SELECT name, email, COUNT(*)
FROM users
GROUP BY name, email
HAVING COUNT(*) > 1


#db

👉 @database_info
  • 👍 13
  • ❤ 2
Post #1321 1.83K
📌Подборка книг по PostgreSQL: от баз данных с «нуля» для самоучек до руководства про БД в облаках. Часть 1

🟢 «Оптимизация запросов PostgreSQL» — Г. Домбровская, Б. Новиков, А. Бейликова
Уровень: продолжающие

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

На примере работы с обширной базой данных виртуальной авиакомпании вы научитесь:

🔹выполнять целевую оптимизацию в системах OLTP и OLAP,
🔹лучше понимать планы выполнения в системе PostgreSQL,
🔹выбирать индексы, улучшающие производительность запросов,
🔹оптимизировать процесс полного сканирования таблиц,
🔹выбирать наилучшую технику оптимизации для определенных запросов,
🔹безболезненно решать проблемы при работе с ORM-фреймворками.


🟢 «Изучаем PostgreSQL 10» — С. Джуба, А. Волков
Уровень: начинающие

Что в ней классного: Авторы — практики с большим опытом работы не только с PostgreSQL. Так, Джуба Салахалдин — сертифицированный разработчик ПО, спец по СУБД PostgreSQL, Greenplum и SQL Server, ETL-процессам обработки данных, разработке приложений OLAP и OLTP. Как отмечают авторы, информации, содержащейся в руководстве, будет достаточно, чтобы ответить на все вопросы начинающего разработчика или администратора баз данных.


Среди освещаемых в книге тем:

🔹реляционные и объектно-реляционные БД с необходимыми алгебраическими операциями и 🔹моделированием данных,
🔹достоинства, архитектурные особенности и возможности PostgreSQL,
🔹основные блоки и функции PostgreSQL, включая кодирование, иерархию объектов и 🔹компоненты баз данных (в качестве примера рассмотрена БД автомобильного сайта),
🔹дополнительные блоки и продвинутые функции Postgres: представления, выборки, извлечения, 🔹возвращение множеств, подзапросы, возможности группировки и агрегирования
🔹транзакции, блокировки, основы безопасности, типы и структуры данных, каталоги,
🔹оптимизация производительности и тестирование,
🔹совместимость с серверными приложениями, написанными на Python, проблемы масштабируемости.



🟢 «Основы технологий баз данных: учебное пособие» — Б. Новиков, Е. Горшкова, Н. Графеева
Уровень: смешанный

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

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

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

Темы, будут интересны профессиональным разработчикам, включают:

🔹адаптивные методы оптимизации запросов: параметрическая, семантическая и 🔹многокритериальная оптимизация запросов,
🔹вопросы обеспечения надежности БД, механизмы восстановления, описание разрушения 🔹носителя, дополнительные возможности, функции и процедуры PL/pgSQL и динамического SQL,
🔹механизмы расширения PostgreSQL, включая специальные модули, обертки и сторонние 🔹процедурные языки, модели, средства и обеспечение поддержки полнотекстового и нечеткого поиска,
🔹обеспечение безопасности данных, права и разграничение доступа, привилегии, 🔹администрирование, репликация БД, архитектура параллельных и распределенных БД, вопросы согласованности и выполнения запросов.

#db

👉 @database_info
  • 👍 8
  • ❤ 1
Post #1313 1.86K
Mysql

MySQL просто SELECT - уроки mysql
Mysql просто HAVING группировка - sql уроки
Mysql просто что такое JOINS обьединение - mysql уроки
Mysql просто INNER JOIN, LEFT JOIN, RIGHT JOIN
MySQL просто о сложном установка базы данных
mysql query cache возможные проблемы кэширование запросов
MySQL индекс не работает

источник

#db

👉 @database_info
  • 👍 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →