§ Выполнены следующие перестановки задач DML:
31 -> 49
23 -> 31
43 -> 23
Выставлены новые DML-задачи: 43 (2 балла), 46 (2 балла), 47 (selber, 1 балл).
Продолжить чтение "Новости за 2021-12-11 - 2021-12-17"
Пересказ статьи Nisarg Upadhyay. An overview of the sp_helptext statement
В этой статье вы узнаете об операторе (хранимой процедуре) sp_helptext. Я покажу различные примеры его использования и пару альтернатив.
Оператор sp_helptext используется для просмотра определения следующих объектов базы данных.
Продолжить чтение "Обзор оператора sp_helptext"
Пересказ статьи Nahla Davies. What is a Materialized View and Why Should you Use It?
По мере роста объема данных все больше разработчиков обращаются к материализованным представлениям для обработки запросов. Этот подход имеет много возможностей.
В этой статье рассматривается понятие материализованного представления, его условий и тех преимуществ, которое оно дает пользователям. Вы также поймете разницу между представлением и материализованным представлением, и как получить выгоду от использования материализованного представления, если вы этого еще не делали.
Продолжить чтение "Что такое материализованное представление, и зачем его использовать?"
§ Выставлена новая задача от selber (45 DML, 1 балл).
Прежняя задача 45 переставлена на номер 55 в ожидании последующих новых задач.
Продолжить чтение "Новости за 2021-12-04 - 2021-12-10"
Пересказ статьи Eitan Blumin. Even more fun with DATETIME arithmetics!
В одной из
предыдущих публикаций я привел способ использования "математики" для манипуляции со значениями типа datetime с целью эффективной генерации, вычислений и отображения интервалов (т.е. разницы между двумя значениями datetime). Они, главным образом, работают с операторами сложения и вычитания (+, -).
Продолжить чтение "Еще больше удовольствия с арифметикой DATETIME!"
Пересказ статьи Eitan Blumin. Fun with DATETIME Arithmetics
Нулевое значение
Тип данных datetime имеет "нулевое значение", которое представляется как
1900-01-01 00:00:00.
Оно может быть представлено литеральным значением 0. Проверим:
Продолжить чтение "Получите удовольствие от арифметики с DATETIME"
Пересказ статьи Paul White. Foreign Keys, Blocking, and Update Conflicts
Большинство баз данных должны использовать внешние ключи для поддержания ссылочной целостности (RI), где это возможно. Однако есть еще кое-что, влияющее на это решение, чем просто решить использовать ограничения FK и создать их. Чтобы ваша база данных работала как можно более гладко, необходимо учесть ряд факторов.
Продолжить чтение "Внешние ключи, блокировка и конфликты обновления"
Пересказ статьи sabyda. Conditional DELETE and INSERT in PostgreSQL
Введение
Мы уверенно чувствуем себя, вставляя/удаляя записи в/из таблицы. Но иногда испытываем затруднения, когда требуется вставлять или удалять записи из таблицы при некоторых условиях. Давайте рассмотрим пример.
Сценарий примера
Предположим, что у нас имеется таблица с именем ALL_EMPLOYEES, которая содержит всю информацию о сотрудниках, кто работает или когда либо работал в компании. Пусть у нас также есть таблица SEP_EMPLOYEES, которая содержит информацию о тех сотрудниках, кто ушел из компании. Теперь компании нужно очистить свою базу данных от информации о всех ушедших сотрудниках в таблице ALL_EMPLOYEES. В этом случае нам потребуется выполнить условное удаление из таблицы ALL_EMPLOYEES.
Продолжить чтение "Условные DELETE и INSERT в PostgreSQL"
§ Под номером 45 выставлена новая задача DML от selber (сложность 5 баллов).
Продолжить чтение "Новости за 2021-11-20 - 2021-11-26"
Пересказ статьи Aaron Bertrand. Bad Habits: Abusing bit columns
Я просматриваю много кода DDL от различных команд, и часто встречаю такое:
ALTER TABLE dbo.Widgets ADD IsNotCertified bit NULL;
Когда я вижу битовый столбец, допускающий NULL-значения, то всегда спрашиваю:
Вы намеренно хотите использовать здесь трехзначную логику?
Означает ли NULL что-то отличное от 0, или весь будущий код будет использовать COALESCE, чтобы сравнивать NULL с нулем?
Продолжить чтение "Плохие привычки: злоупотребление столбцами типа bit"
Пересказ статьи Edwin Sanchez. SQL FLOAT: 3 Points that Will Help you to Avoid Weird Math Errors
Думали ли вы когда-нибудь, что SQL может ошибиться в математике? Это звучит невероятно. Однако, если вы используете тип данных FLOAT, то можете столкнуться с проблемами, которые я вам продемонстрирую.
Продолжить чтение "SQL FLOAT: 3 пункта, которые помогут избежать странных математических ошибок"
§ Axocopan и Kursist приложили голову к усилению проверки задачи 88 (SELECT, рейтинг).
§ Под номером 161 на обучающий этап выставлена новая задача от Kursist (сложность 2 балла).
Продолжить чтение "Новости за 2021-11-13 - 2021-11-19"
Пересказ статьи Kenneth Fisher. Audit Columns
Один из самых простых способов сбора информации о работе с таблицей - добавить в таблицу набор столбцов аудита. Общепринятый набор состоит из четырех столбцов.
- Когда была создана строка?
- Кто её создал?
- Когда строка последний раз обновлялась?
- Кто последним обновил её?
Продолжить чтение "Столбцы аудита"
Пересказ статьи Chad Callihan. Is Dropping a Temp Table in a Stored Procedure Beneficial?
Вообще говоря, лучше удалять вещи, которые не используются. Не храните индексы, которые не используются, поскольку они занимают место на диске и по-прежнему поддерживаются в актуальном состоянии при изменении данных. Нужно ли хранить таблицу, которая содержит неиспользуемые устаревшие данными? Возможно, пришло время для таких вещей, как архивация базы данных или
секционирование.
Продолжить чтение "Есть ли польза от удаления временной таблицы в хранимой процедуре?"