NULL в SQL: Что это такое и почему его знание необходимо каждому разработчику
NULL - это специальное значение, которое используется в SQL для обозначения отсутствия данных. Оно отличается от пустой строки или нулевого значения, так как NULL означает отсутствие какого-либо значения в ячейке таблицы.
История появления NULL в SQL довольно интересна и длинна. В начале 1970-х годов Д. Камерер (D. Chamberlin) и Р. Бойд (R. Boyce) предложили использовать реляционную модель для полной замены иерархических и сетевых моделей данных, которые были актуальны в то время. Полная замена предполагала возможность хранения значений NULL в таблицах структуры базы данных.
Первоначально, NULL был создан как интегральный элемент реляционной модели данных. Это означало, что NULL мог быть использован в качестве значения для любого типа данных (целого числа, строки и т.д.) или даже целой строки (например, таких значений как "неизвестно" или "нет данных").
Когда была разработана SQL, NULL был реализован как специальное значение или маркер, который указывает на отсутствие значения в столбце. Таким образом, в SQL NULL означает отсутствие значения или неопределенное значение.
Однако, NULL создал некоторые проблемы при работе с данными в SQL. Например, если вы выполняете операцию на столбце, содержащем NULL значение, результат операции также будет NULL. Это означает, что использование NULL может приводить к нежелательным результатам, таким как непредсказуемое поведение.
Однако, важно понимать, что NULL не обязательно означает отсутствие информации или отсутствие значения в столбце. NULL может быть использован для разных целей, таких как указание на неопределенный результат для вычислений или как маркер для отметки отсутствия значения в таблице.
Читать: https://habr.com/ru/post/725214/
NULL - это специальное значение, которое используется в SQL для обозначения отсутствия данных. Оно отличается от пустой строки или нулевого значения, так как NULL означает отсутствие какого-либо значения в ячейке таблицы.
История появления NULL в SQL довольно интересна и длинна. В начале 1970-х годов Д. Камерер (D. Chamberlin) и Р. Бойд (R. Boyce) предложили использовать реляционную модель для полной замены иерархических и сетевых моделей данных, которые были актуальны в то время. Полная замена предполагала возможность хранения значений NULL в таблицах структуры базы данных.
Первоначально, NULL был создан как интегральный элемент реляционной модели данных. Это означало, что NULL мог быть использован в качестве значения для любого типа данных (целого числа, строки и т.д.) или даже целой строки (например, таких значений как "неизвестно" или "нет данных").
Когда была разработана SQL, NULL был реализован как специальное значение или маркер, который указывает на отсутствие значения в столбце. Таким образом, в SQL NULL означает отсутствие значения или неопределенное значение.
Однако, NULL создал некоторые проблемы при работе с данными в SQL. Например, если вы выполняете операцию на столбце, содержащем NULL значение, результат операции также будет NULL. Это означает, что использование NULL может приводить к нежелательным результатам, таким как непредсказуемое поведение.
Однако, важно понимать, что NULL не обязательно означает отсутствие информации или отсутствие значения в столбце. NULL может быть использован для разных целей, таких как указание на неопределенный результат для вычислений или как маркер для отметки отсутствия значения в таблице.
Читать: https://habr.com/ru/post/725214/
Способы организации инфраструктуры с базами данных: от простого к сложному и эффективному
За простыми UML- и ER-диаграммами архитектур скрываются витиеватые способы организации IT-инфраструктуры. Самый яркий пример — связь между веб-сервером и базой данных.
Какие есть варианты организации инфраструктуры с базами данных? Чем они отличаются и какие у них преимущества и недостатки? С такими же вопросами к нам приходят клиенты. Поэтому мы постарались расставить все по полочкам, а также показать, как связать сервер с базой данных через L3 VPN-соединение. Подробности под катом.
Читать: https://habr.com/ru/post/725234/
За простыми UML- и ER-диаграммами архитектур скрываются витиеватые способы организации IT-инфраструктуры. Самый яркий пример — связь между веб-сервером и базой данных.
Какие есть варианты организации инфраструктуры с базами данных? Чем они отличаются и какие у них преимущества и недостатки? С такими же вопросами к нам приходят клиенты. Поэтому мы постарались расставить все по полочкам, а также показать, как связать сервер с базой данных через L3 VPN-соединение. Подробности под катом.
Читать: https://habr.com/ru/post/725234/
Tibx или не tib(x): вот в чем вопрос…
Сегодня я хочу поговорить о том, каких преимуществ в вопросах резервного копирования и аварийного восстановления можно добиться за счет смены архитектуры архива и правил хранения информации. Разумеется делать я это буду на примере нового формата архивов, который используют продукты КИБЕРПРОТЕКТ. Из интересного сразу выделю, что мы добились увеличения плотности до 5 раз! (это реальный показатель), а также повысили скорость, удобство и надежность. Не обошлось конечно и без проблем обратной совместимости и некоторых нюансов. Под катом — отличия нового формата, примеры оптимизаций, которые мы сделали, подробнее о плюсах инкрементного бэкапа, а также рекомендации по работе с резервными копиями в современных условиях. Всех заинтересованных приглашаю обсудить архитектурные подходы к работе с резервными копиями.
Читать: https://habr.com/ru/post/725288/
Сегодня я хочу поговорить о том, каких преимуществ в вопросах резервного копирования и аварийного восстановления можно добиться за счет смены архитектуры архива и правил хранения информации. Разумеется делать я это буду на примере нового формата архивов, который используют продукты КИБЕРПРОТЕКТ. Из интересного сразу выделю, что мы добились увеличения плотности до 5 раз! (это реальный показатель), а также повысили скорость, удобство и надежность. Не обошлось конечно и без проблем обратной совместимости и некоторых нюансов. Под катом — отличия нового формата, примеры оптимизаций, которые мы сделали, подробнее о плюсах инкрементного бэкапа, а также рекомендации по работе с резервными копиями в современных условиях. Всех заинтересованных приглашаю обсудить архитектурные подходы к работе с резервными копиями.
Читать: https://habr.com/ru/post/725288/
Security in Government Solutions: Why Secure By Default is Essential
Read: https://www.mongodb.com/blog/post/security-government-solutions-why-secure-default-essential
Read: https://www.mongodb.com/blog/post/security-government-solutions-why-secure-default-essential
SQL для начинающих: 10 правил построения «точных» запросов
Научимся писать SQL-запросы, которые будут предоставлять данные в нужном объёме и за минимальное время.
Читать: «SQL для начинающих: 10 правил построения «точных» запросов»
Научимся писать SQL-запросы, которые будут предоставлять данные в нужном объёме и за минимальное время.
Читать: «SQL для начинающих: 10 правил построения «точных» запросов»
Three Ways Retailers Use Search Beyond the Ecommerce Store
Read: https://www.mongodb.com/blog/post/three-ways-retailers-use-search-beyond-ecommerce-store
Read: https://www.mongodb.com/blog/post/three-ways-retailers-use-search-beyond-ecommerce-store
Congratulations to the 2023 APAC Innovation Award Winners
Read: https://www.mongodb.com/blog/post/congratulations-2023-apac-innovation-award-winners
Read: https://www.mongodb.com/blog/post/congratulations-2023-apac-innovation-award-winners
2023 APAC Innovation Award 수상자 축하 메시지
Read: https://www.mongodb.com/blog/post/congratulations-2023-apac-innovation-award-winners-ko
Read: https://www.mongodb.com/blog/post/congratulations-2023-apac-innovation-award-winners-ko
恭喜 2023 年 MongoDB 亞太地區創新獎得主
Read: https://www.mongodb.com/blog/post/congratulations-2023-apac-innovation-award-winners-tc
Read: https://www.mongodb.com/blog/post/congratulations-2023-apac-innovation-award-winners-tc
祝贺 2023 年度亚太地区创新奖获得者
Read: https://www.mongodb.com/blog/post/congratulations-2023-apac-innovation-award-winners-sc
Read: https://www.mongodb.com/blog/post/congratulations-2023-apac-innovation-award-winners-sc
MariaDB SkySQL: A Second-Generation Cloud Database for Modern Applications
Read: https://mariadb.com/?p=35137
Read: https://mariadb.com/?p=35137
8 шагов по внедрению проекта по управлению нормативно-справочной информацией (НСИ) и расчет окупаемости ROI
Компании годами пользуются устаревшими, полными ошибок и задвоений справочниками клиентов, контрагентов или товаров, но не рассчитывают, насколько дорого это обходится. Справочники и классификаторы, содержащие основные данные бизнеса, называются НСИ (нормативно-справочная информация). По ссылке выше я рассказывал, что это и зачем приводить НСИ в порядок.
Несмотря на убытки, вызванные некачественными данными, бизнес часто откладывает проект по внедрению системы управления НСИ как дорогостоящий. Я приведу расчет ROI (return of investment – коэффициент рентабельности инвестиций) для телеком-компании, которая уже на 2 год может выйти на окупаемость 192% с опорой на пошаговый план внедрения, который позволит не затянуть проект.
Читать: https://habr.com/ru/post/726078/
Компании годами пользуются устаревшими, полными ошибок и задвоений справочниками клиентов, контрагентов или товаров, но не рассчитывают, насколько дорого это обходится. Справочники и классификаторы, содержащие основные данные бизнеса, называются НСИ (нормативно-справочная информация). По ссылке выше я рассказывал, что это и зачем приводить НСИ в порядок.
Несмотря на убытки, вызванные некачественными данными, бизнес часто откладывает проект по внедрению системы управления НСИ как дорогостоящий. Я приведу расчет ROI (return of investment – коэффициент рентабельности инвестиций) для телеком-компании, которая уже на 2 год может выйти на окупаемость 192% с опорой на пошаговый план внедрения, который позволит не затянуть проект.
Читать: https://habr.com/ru/post/726078/
8 шагов по внедрению проекта по управлению нормативно-справочной информацией (НСИ) и расчет окупаемости ROI
Компании годами пользуются устаревшими, полными ошибок и задвоений справочниками клиентов, контрагентов или товаров, но не рассчитывают, насколько дорого это обходится. Справочники и классификаторы, содержащие основные данные бизнеса, называются НСИ (нормативно-справочная информация). По ссылке выше я рассказывал, что это и зачем приводить НСИ в порядок.
Несмотря на убытки, вызванные некачественными данными, бизнес часто откладывает проект по внедрению системы управления НСИ как дорогостоящий. Я приведу расчет ROI (return of investment – коэффициент рентабельности инвестиций) для телеком-компании, которая уже на 2 год может выйти на окупаемость 192% с опорой на пошаговый план внедрения, который позволит не затянуть проект.
Читать: https://habr.com/ru/post/726078/
Компании годами пользуются устаревшими, полными ошибок и задвоений справочниками клиентов, контрагентов или товаров, но не рассчитывают, насколько дорого это обходится. Справочники и классификаторы, содержащие основные данные бизнеса, называются НСИ (нормативно-справочная информация). По ссылке выше я рассказывал, что это и зачем приводить НСИ в порядок.
Несмотря на убытки, вызванные некачественными данными, бизнес часто откладывает проект по внедрению системы управления НСИ как дорогостоящий. Я приведу расчет ROI (return of investment – коэффициент рентабельности инвестиций) для телеком-компании, которая уже на 2 год может выйти на окупаемость 192% с опорой на пошаговый план внедрения, который позволит не затянуть проект.
Читать: https://habr.com/ru/post/726078/
Дублирование данных для создания ограничений (контролей) на уровне БД
Использование ограничений на стороне базы данных, таких как внешние ключи, проверки значений, требования уникальности, иногда вызывают споры среди разработчиков. Аргумменты «за» и «против» обеих сторон хорошо известны.
Рассмотрим пример, когда ограничения не просто применяются, а реализуют дополнительную логику с помощью дублирования некоторых данных.
Подробнее
Читать: https://habr.com/ru/post/726328/
Использование ограничений на стороне базы данных, таких как внешние ключи, проверки значений, требования уникальности, иногда вызывают споры среди разработчиков. Аргумменты «за» и «против» обеих сторон хорошо известны.
Рассмотрим пример, когда ограничения не просто применяются, а реализуют дополнительную логику с помощью дублирования некоторых данных.
Подробнее
Читать: https://habr.com/ru/post/726328/
❤1
20 практических советов для разработчиков использующих базы данных SQL
Практически все разрабатываемые системы включают использование баз данных, часто база данных, ее проектирование и обработка являются ключевыми аспектами системы в отношении добавления стоимости бизнесу, безопасности, производительности, организационной политики и других факторов, которые делают этот слой наших приложений чрезвычайно важным и заслуживающим особого внимания со стороны нас в роли разработчиков.
Я всегда сторонник мнения, что для разработчика рекомендуется иметь некоторое понимание о том, как работают базы данных.
Учитывая огромное количество различных рекомендаций и советов по использованию баз данных, этот простой список, содержащийся в данной статье, представляет лишь часть того, что может быть рассмотрено.
Читать: https://habr.com/ru/post/726376/
Практически все разрабатываемые системы включают использование баз данных, часто база данных, ее проектирование и обработка являются ключевыми аспектами системы в отношении добавления стоимости бизнесу, безопасности, производительности, организационной политики и других факторов, которые делают этот слой наших приложений чрезвычайно важным и заслуживающим особого внимания со стороны нас в роли разработчиков.
Я всегда сторонник мнения, что для разработчика рекомендуется иметь некоторое понимание о том, как работают базы данных.
Учитывая огромное количество различных рекомендаций и советов по использованию баз данных, этот простой список, содержащийся в данной статье, представляет лишь часть того, что может быть рассмотрено.
Читать: https://habr.com/ru/post/726376/
👍1
Postgres: графовая база данных, о которой вы не подозревали
PostgreSQL (Postgres) — это мощная реляционная база данных, способная хранить широкий спектр типов и структур данных. Когда нам нужно хранить графовые структуры данных, мы часто обращаемся к базам данных, позиционируемым как подходящее для этого решение, например, к Neo4J или Dgraph. Но не торопитесь! Хотя при работе с графовыми структурами данных о Postgres обычно не вспоминают, она идеально справляется с эффективным хранением графовых данных и запросами к ним.
Читать: https://habr.com/ru/post/726598/
PostgreSQL (Postgres) — это мощная реляционная база данных, способная хранить широкий спектр типов и структур данных. Когда нам нужно хранить графовые структуры данных, мы часто обращаемся к базам данных, позиционируемым как подходящее для этого решение, например, к Neo4J или Dgraph. Но не торопитесь! Хотя при работе с графовыми структурами данных о Postgres обычно не вспоминают, она идеально справляется с эффективным хранением графовых данных и запросами к ним.
Читать: https://habr.com/ru/post/726598/
Postgres: графовая база данных, о которой вы не подозревали
PostgreSQL (Postgres) — это мощная реляционная база данных, способная хранить широкий спектр типов и структур данных. Когда нам нужно хранить графовые структуры данных, мы часто обращаемся к базам данных, позиционируемым как подходящее для этого решение, например, к Neo4J или Dgraph. Но не торопитесь! Хотя при работе с графовыми структурами данных о Postgres обычно не вспоминают, она идеально справляется с эффективным хранением графовых данных и запросами к ним.
Читать: https://habr.com/ru/post/726598/
PostgreSQL (Postgres) — это мощная реляционная база данных, способная хранить широкий спектр типов и структур данных. Когда нам нужно хранить графовые структуры данных, мы часто обращаемся к базам данных, позиционируемым как подходящее для этого решение, например, к Neo4J или Dgraph. Но не торопитесь! Хотя при работе с графовыми структурами данных о Postgres обычно не вспоминают, она идеально справляется с эффективным хранением графовых данных и запросами к ним.
Читать: https://habr.com/ru/post/726598/
Как мой менеджер потратил миллион долларов на сервер бэкапов, который я ни разу не использовал
Индустрия видеоигр — странное место: она одновременно может отставать от остальной технологической отрасли на полдесятка лет в одних областях, и на годы опережать её в других.
В эту отрасль меня привлекла не возможность работы над развлекательными продуктами или создания продуктов, которые мне понравится использовать (не могу назвать себя геймером): я люблю решать задачи, и особенно задачи, которые нелегко решать.
Когда я пришёл в Ubisoft в 2014 году, меня назначили в отдел программирования онлайна на должность руководителя Ops. Это было ужасно, потому что все работали под Windows.
Kubernetes ещё не было на горизонте, да если бы он и был, сам Docker оставался крайне сырым и пока не мог выполнять нативные двоичные файлы Windows.
Вместо него мы использовали собственную реализацию распределённых систем.
Читать: https://habr.com/ru/post/726548/
Индустрия видеоигр — странное место: она одновременно может отставать от остальной технологической отрасли на полдесятка лет в одних областях, и на годы опережать её в других.
В эту отрасль меня привлекла не возможность работы над развлекательными продуктами или создания продуктов, которые мне понравится использовать (не могу назвать себя геймером): я люблю решать задачи, и особенно задачи, которые нелегко решать.
Когда я пришёл в Ubisoft в 2014 году, меня назначили в отдел программирования онлайна на должность руководителя Ops. Это было ужасно, потому что все работали под Windows.
Kubernetes ещё не было на горизонте, да если бы он и был, сам Docker оставался крайне сырым и пока не мог выполнять нативные двоичные файлы Windows.
Вместо него мы использовали собственную реализацию распределённых систем.
Читать: https://habr.com/ru/post/726548/
👍1