Kitobni o'qish: «Гайд SQL для Junior Data Analyst: Безопасность, Эффективность, Практика»
Гайд SQL для Junior Data Analyst: Безопасность, Эффективность, Практика
Раздел 1: Безопасность и Базовая Гигиена SQL
Защита данных и предотвращение критических ошибок:
1. Всегда фильтруйте данные в `WHERE`
– Пример ошибки: `UPDATE stock_prices SET close_price = 150.75` (без `WHERE` обновит все строки).
– Решение: Перед `UPDATE`/`DELETE` пишите `SELECT` с идентичным условием.
```sql
–– Проверка перед обновлением:
SELECT * FROM stock_prices
WHERE ticker = 'AAPL' AND trade_date = '2024-07-29';
-– Только затем:
UPDATE stock_prices
SET close_price = 150.75
WHERE ticker = 'AAPL' AND trade_date = '2024-07-29';
```
`// _Процедура "Сначала SELECT" – ваш главный щит от карьерных ошибок. В высоконагруженных системах (DWH) даже лишний SELECT лучше, чем один неверный UPDATE._`
2. Используйте транзакции для критических операций
```sql
BEGIN TRANSACTION;
UPDATE dividends SET amount = amount * 1.1 WHERE company_id = 123;
–– Проверьте результат здесь!
COMMIT; – или ROLLBACK при ошибке;
```
`// _Транзакции – это не только про целостность данных, но и про ваше спокойствие. Всегда используйте их для пакетных изменений. В некоторых BI-системах (например, Mode, Metabase) транзакции управляются автоматически, но знать этот принцип – обязательно._`
3. Никогда не используйте `SELECT *` в продакшене
Bepul matn qismi tugad.