Схема базы данных — это «каркас», описывающий структуру базы: таблицы, их связи, индексы, представления, процедуры и т. д. Она определяет, как данные хранятся, и остаётся неизменной, пока вы не измените её вручную.
Запросы — это инструкции, с помощью которых вы взаимодействуете с данными. Они определяют, какие данные извлечь, изменить или удалить. Запросы гибкие, их можно менять под каждую задачу, не трогая схему.
Рассмотрим пример.
Схема:
CREATE TABLE orders (
order_id SERIAL PRIMARY KEY,
customer_name VARCHAR(100),
total_amount DECIMAL
);
Этот код определяет, как будут храниться данные о заказах.
Запрос:
SELECT customer_name, total_amount
FROM orders
WHERE total_amount > 100;
Этот код извлекает данные из таблицы, не изменяя её структуру.
Подытожим:
▶️ Схема — основа базы, изменяется редко.▶️ Запросы — инструмент работы с данными, изменяются часто под задачи.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓56❤27👍9
Что такое транзакция, и каковы её основные свойства (ACID)?
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28🔥7❤5
StrataScratch — интерактивная платформа для отработки навыков SQL, где представлены сотни задач по анализу данных, основанных на реальных кейсах из ведущих компаний, с подробными разбором решений и возможностью сравнить свой подход с другими пользователями.
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍11❤2😁1
😱33👍10🤨10💊4
В статье рассматриваются методы оптимизации хранения данных в PostgreSQL для уменьшения объема таблиц и повышения производительности.
Автор объясняет как разные типы данных и порядок столбцов влияют на эффективность работы базы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Напишите решение для отображения идентификаторов клиентов из таблицы
Customer, которые приобрели все продукты в таблице Product.Верните таблицу результатов в любом порядке.
Входные данные:
+-------------+-------------+
| customer_id | product_key |
+-------------+-------------+
| 1 | 5 |
| 2 | 6 |
| 3 | 5 |
| 3 | 6 |
| 1 | 6 |
+-------------+-------------+
+-------------+
| product_key |
+-------------+
| 5 |
| 6 |
+-------------+
Вывод:
+-------------+
| customer_id |
+-------------+
| 1 |
| 3 |
+-------------+
Пояснение: Клиенты, купившие все продукты (5 и 6), являются клиентами с идентификаторами 1 и 3.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥9
Увлекательная игра-детектив, в которой вам предстоит раскрыть преступление с использованием команд SQL.
Игра нацелена на практику, поэтому содержит в себе множество задач, которые будут интересны не только новичкам, но и опытным разработчикам.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24❤2🤔1
🤯23👍3🔥3😁1🤓1
Ограничения — это правила, которые применяются к столбцам или таблицам для обеспечения целостности данных. Они помогают контролировать, какие данные могут быть записаны в базу, предотвращая ошибки и несоответствия.
Типы ограничений:
PRIMARY KEY – гарантирует уникальность и отсутствие NULL для ключевого столбца.FOREIGN KEY – обеспечивает связь с другой таблицей, проверяя целостность данных.NOT NULL – запрещает пустые значения в столбце.UNIQUE – обеспечивает уникальность значений в столбце.CHECK – ограничивает возможные значения в столбце по определённым условиям.Ограничения помогают поддерживать порядок и целостность данных в базе.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤60🤓17👍13
Изменится ли результат запроса, если в LEFT JOIN поменять таблицы местами?
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
💯26👍9❤4
В статье рассматривается использование динамических SQL-запросов в PostgreSQL, их преимущества и потенциальные риски.
Автор объясняет, когда и как эффективно применять динамические запросы, приводя практические примеры и рекомендации.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤3
🔥13👍10❤2