Базы данных (Data Base) – Telegram
Базы данных (Data Base)
8.21K subscribers
566 photos
468 videos
19 files
545 links
Базы данных (Data Base). По всем вопросам @evgenycarter
Download Telegram
Основы SQL

Базы данных и SQL
Оператор SELECT
Фильтрация данных в SQL: WHERE
Сортировка в SQL: ORDER BY
Создание таблиц в SQL

#SQL

👉 @database_info
👍8
PostgreSQL Antipatterns: простой(?) INSERT… VALUES

Представим, что у вас есть некоторая табличка статистики, куда вы периодически скидываете таймстамп последнего "текущего" состояния в паре координат - например, (ID организации, ID сотрудника).

Как больно наступить на грабли в совсем простом, казалось бы, запросе?

https://habr.com/ru/company/tensor/blog/702902/

#PostgreSQL

👉 @database_info
👍3
Что такое первичный ключ?
Первичный ключ или PRIMARY KEY предназначен для однозначной идентификации каждой записи в таблице и является строго уникальным (UNIQUE): две записи таблицы не могут иметь одинаковые значения первичного ключа. Нулевые значения (NULL) в PRIMARY KEY не допускаются. Если в качестве PRIMARY KEY используется несколько полей, их называют составным ключом.

Пример:

CREATE TABLE USERS (
id INT NOT NULL,
name VARCHAR (20) NOT NULL,
PRIMARY KEY (id)
);

Здесь в качестве первичного ключа используется поле id.


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


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

Пример использования:

CREATE TABLE order (
order_id INT NOT NULL,
user_id INT,
PRIMARY KEY (order_id),
FOREIGN KEY (user_id) REFERENCES users(id)
);


В данном случае внешний ключ, привязанный к полю user_id в таблице order, ссылается на первичный ключ id в таблице users, и именно по этим полям происходит связывание двух таблиц.

#SQL

👉 @database_info
👍9👎1
Трюки с SQL от DBA. Небанальные советы для разработчиков БД

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

https://habr.com/ru/company/vk/blog/513968/

#SQL

👉 @database_info
👍6
Урезание (Shrink) логов в SQL Server

Логи транзакций в MS SQL имеют обыкновение разрастаться, что иногда может привести к окончанию места на диске. Чтобы этого не происходило, в SQL Server существует операция урезания логов (Truncate). Урезание логов производится автоматически, в зависимости от модели восстановления:

• В простой модели (Simple) — после достижения контрольной точки;
• В модели полного восстановления (Full) — после создания бэкапа логов, при условии что со времени предыдущего бэкапа была достигнута контрольная точка.

https://bookflow.ru/urezanie-shrink-logov-v-sql-server/

#SQL

👉 @database_info
👍4👎1
Оптимизация производительности запросов в Azure SQL

Анализируйте производительность отдельных запросов и определяйте, где можно вносить улучшения. Изучайте объекты DMO, связанные с производительностью. Узнайте, как индексы и структура базы данных влияют на запросы.

Эта схема обучения поможет вам подготовиться к экзамену Exam DP-300: Администрирование решений Microsoft Azure SQL.

Предварительные требования
Умение использовать средства для выполнения запросов к базе данных Microsoft SQL в локальной или облачной среде
Базовое умение писать код на языке SQL, в частности на диалекте Microsoft T-SQL.
Базовое представление о структуре и использовании индексов SQL Server
Общее представление о концепциях реляционных баз данных

https://learn.microsoft.com/ru-ru/training/paths/optimize-query-performance-sql-server/

#SQL

👉 @database_info
👍2
Основы работы с ограничениями sql

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

Реляционные системы управления базами данных (РСУБД) позволяют контролировать данные, помещаемые в таблицу. Этот контроль выполняется при помощи ограничений. В контексте РСУБД ограничение – это специальное правило, которое применяется к одному или нескольким столбцам (иногда и ко всей таблице) и определяет, какие изменения могут быть внесены в данные с помощью операторов INSERT, UPDATE или DELETE.

В этой статье мы подробно рассмотрим, что такое ограничения и как они используются в СУБД. Также мы отдельно остановимся на каждом из пяти ограничений, определенных в стандарте SQL, и объясним их функции.

#SQL

👉 @database_info
👍6
MySQL. Оптимизация псевдо-больших данных

Работая над различными интересными задачами, мне только и приходилось слышать о существовании программ, которые работают с большими данными (в области действия одного сервера). И вот настал тот день, когда к нам обратился клиент, у которого сайт грузился очень долго. Задание для решения этой проблемы выдали моего коллеги. Немного прошло времени, до того как он подозвал меня к себе, с целью показать, столь диковинное для меня зрелище, связанное с объёмом таблиц, в которых находились данные после импорта категорий, характеристик, брендов товаров.

https://habr.com/ru/company/ruvds/blog/690634/

#SQL

👉 @database_info
👍3👎1
Указания (Transact-SQL) — запросы

Указания запросов определяют, что выбранные указания используются в области запроса. Они влияют на все операторы в инструкции. Если в основном запросе используется операция UNION, только последний запрос, использующий ее, может содержать предложение OPTION. Подсказки в запросе указываются как часть предложения OPTION. Если оптимизатор запросов не сформирует допустимый план из-за одного или нескольких указаний запроса, возникает ошибка 8622.

https://learn.microsoft.com/ru-ru/sql/t-sql/queries/hints-transact-sql-query?view=sql-server-ver16

#SQL

👉 @database_info
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
DBDiagram

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

https://dbdiagram.io/home

👉 @database_info
👍14
Импорт и экспорт данных CSV в PostgreSQL

Резервное копирование данных Postgres, перенос их в другое место и импорт при необходимости – все это с помощью CSV.

Файлы CSV упрощают процесс хранения данных. Поскольку формат CSV основан на строках и столбцах, он хорошо переводится в реляционную базу данных.

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

https://itmozg.ru/import-i-jeksport-dannyh-csv-v-postgresql/

#PostgreSQL

👉 @database_info
👍3
Как посчитать для каждой строки таблицы количество вхождений этой строки в другую таблицу?

Есть две таблицы course и history
В таблице course: id и name
В таблице history: id, course_id, status
Нужно для каждой строчки course посчитать количество строк в history

На выходе должно быть см. скрин

Ответ

SELECT name AS course_name, COUNT(history.id) AS quantity
FROM course
LEFT JOIN history ON course_id = course.id AND status = 1
GROUP BY name


👉 @database_info
👍7
Управление базой данных PostgreSQL с помощью pgAdmin на Ubuntu

Настроить базу данных сложно, но управлять ею еще сложнее. Вот как установить pgAdmin на Ubuntu для управления базой данных PostgreSQL.

https://bookflow.ru/upravlenie-bazoj-dannyh-postgresql-s-pomoshhyu-pgadmin-na-ubuntu/

👉 @database_info
👍11👎1
Media is too big
VIEW IN TELEGRAM
Кэширование Планов Выполнения Запросов в SQL Server

👉 @database_info