MySQL предоставляет набор ограничений, которые вы можете включить в определения ваших таблиц для обеспечения целостности данных. Ограничения позволяют лучше контролировать типы данных, которые могут быть добавлены в базу данных. Например, вы можете использовать ограничения, чтобы установить уникальность столбца или допустимость NULL-значений, указать значение по умолчанию для столбца или проверить, что данные попадают в определенный интервал допустимых значений.
MySQL поддерживает шесть основных типов ограничений для обеспечения целостности данных: PRIMARY KEY, NOT NULL, DEFAULT, CHECK, UNIQUE и FOREIGN KEY. В этой статье я познакомлю вас с каждым типом и рассмотрю примеры их работы. Примеры включают ряд операторов CREATE TABLE, которые демонстрируют различные способы встраивания ограничений в определения таблиц. Если вы не знакомы с оператором CREATE TABLE или с тем, как создавать таблицы в базе данных MySQL, обратитесь к моей более ранней статье этой серии. Continue reading "Работа с ограничениями в MySQL"
Запрос иногда оказывается супер быстрым, а иногда - очень медленным. Одной из основных причин такого поведения является прослушивание параметра (Parameter Sniffing). Имеется несколько подходов, связанных с проблемой прослушивания параметра, и в этой статье обсуждаются эффективные методы для обработки Parameter Sniffing в операторах SELECT, содержащих предложение TOP. Continue reading "Проблемы плана выполнения SQL Server при использовании предложения TOP и различных параметров"
В эру больших данных на бизнес и разработчиков обрушиваются огромные объемы информации. При этом данные зачастую далеко не идеальны и требуют значительной подготовки, прежде чем они смогут использоваться для анализа. Очистка данных - это обнаружение и исправление ошибок, несогласованности и неточности в наборах данных, чтобы гарантировать качество данных. Python с его богатой экосистемой библиотек предлагает мощные инструменты для эффективной очистки и подготовки данных для анализа. В этой статье мы рассмотрим различные методы и библиотеки Python, которые могут помочь вам привести ваши данные в порядок. Continue reading "Как улучшить анализ данных: эффективная чистка данных с помощью Python"
Специальное значение NULL означает отсутствие данных, утверждение того факта, что значение неизвестно. По умолчанию столбцы и переменные любого типа могут принимать это значение, если они не имеют ограничения NOT NULL. Помимо этого, СУБД автоматически добавляет ограничение NOT NULL для столбцов, входящих в первичный ключ таблицы.
Главная особенность NULL состоит в том, что оно ничему не равно, даже другому NULL. Вы не можете сравнивать с ним любое значение с помощью операторов: =, <, >, like ... Даже выражение NULL != NULL не будет истинным, поскольку нельзя однозначно сравнивать одно неизвестное значение с другим. К слову, это выражение не будет и ложным (false), т.к. при вычислении условий Oracle не ограничивается состояниями TRUE и FALSE. Благодаря наличию элемента неопределенности в виде NULL, имеется еще одно состояние - UNKNOWN. Continue reading "NULL в Oracle"
Эта сокращенная статья ориентирована на читателей, имеющих ограниченный опыт в программировании в SQL Server, в которой обсуждается как обрабатывать список значений, разделенный запятыми или каким-нибудь другим разделителем. Полная версии статьи включает много других способов разбиение списков на таблицы - и вам будет о чем поспорить. Эта длинная статья предназначена для несколько более опытной аудитории. Скорее всего, сокращенная статья даст вам то, что требуется, но в некоторых местах я ссылаюсь на длинную статью для пользователей с особыми потребностями. Continue reading "Массивы и списки в SQL Server. Сокращенная версия"
Сегодня я расскажу, как подключиться к базам данных SQL, используя Python. Это распространенный вопрос, который возникает в серии ETL. Поэтому я решил рассмотреть его и направлять посетителей сюда, если у них возникнут проблемы с подключением.
Эта установка SQL Server позволит нам:
Установить подключение к базе данных SQL Server из Python
Реально существующие данные - "грязные". Они требуют предварительной очистки, чтобы осуществлять их анализ. Pandas является наиболее часто используемой библиотекой Python для очистки данных. В то же время Pandas является очень мощной библиотекой для анализа данных. В этой статье я покажу вам, как анализировать данные с помощью Pandas на реальном наборе данных. Continue reading "Практический анализ данных с Pandas"
Вы когда-нибудь слышали о хинте запроса READPAST? Я бы сказал, что это родной брат NOLOCK. С помощью NOLOCK вы получите данные быстрей, но с риском грязных чтений. С помощью READPAST SQL Server вообще пропустит заблокированные данные. Это может быть как полезно, так и весьма опасно, если вы не знаете, как это используется.
Добро пожаловать снова в серию статей по оптимизации MySQL! В том случае, если вы не следили за этой серией, ранее была опубликована пара статей, где обсуждались основы оптимизации запросов, а также оптимизация запросов на выборку (SELECT).