❃ Хижина программиста Æ
14.9K subscribers
1.31K photos
95 videos
24 files
3.02K links
Канал для IT Дизайнеров и Программистов, Инженеров и Преподавателей

📡 Ссылка на канал: @hut_programmer_07

⚖️ Фундаментальные знания по основам программирования, философии и этики

💡 По вопросам рекламы: @quadd4rv1n7

Σ 只
Download Telegram
Нормализация базы данных — это процесс организации данных в таблицах для уменьшения избыточности и обеспечения целостности данных.

Этот процесс включает деление данных на связанные таблицы и установку между ними логических связей.

Основной целью нормализации является устранение аномалий обновления, вставки и удаления данных.

👨‍💻 Основные формы нормализации

1️⃣ Первая нормальная форма (1НФ):

Каждое поле таблицы содержит только одно значение (атомарность данных).
В таблице нет повторяющихся строк.
Пример нарушения: поле, содержащее список элементов через запятую (например, 123, 456, 789).
Решение: разбить такие данные на отдельные строки.

Не нормализовано:
Студент | Курсы
-----------------------
Иван | Математика, Физика
Ольга | Химия

Нормализовано:
Студент | Курс
-----------------
Иван | Математика
Иван | Физика
Ольга | Химия


2️⃣ Вторая нормальная форма (2НФ):

Таблица находится в 1НФ.
Все неключевые поля зависят от всего первичного ключа (нет частичных зависимостей).
Применяется, если первичный ключ составной.

Не нормализовано:
(Студент, Курс)    | Имя_Преподавателя | Кабинет
------------------------------------------------
(Иван, Математика) | Петров | 115
(Иван, Физика) | Иванов | 122

Здесь Имя_Преподавателя и Кабинет зависят только от Курс, а не от всего ключа (Студент, Курс).

Нормализовано:
[ - Курсы - ]
Курс | Имя_Преподавателя | Кабинет
----------------------------------------
Математика | Петров | 115
Физика | Иванов | 122

[ - Записи - ]
Студент | Курс
-----------------
Иван | Математика
Иван | Физика


3️⃣ Третья нормальная форма (3НФ):

Таблица находится во 2НФ.
Все не ключевые поля зависят только от первичного ключа (нет транзитивных зависимостей).

Не нормализовано:
Курс       | Преподаватель | Кафедра
---------------------------------------
Математика | Петров | Математики
Физика | Иванов | Физики

Здесь Кафедра зависит от Преподаватель, а не от Курс.

Нормализовано:
[ - Курсы - ]
Курс | Преподаватель
--------------------------
Математика | Петров
Физика | Иванов

[ - Преподаватели - ]
Преподаватель | Кафедра
--------------------------
Петров | Математики
Иванов | Физики


💻 Когда нормализация может быть излишней ?

🚩 Иногда избыточность данных допускается для повышения производительности (денормализация), особенно в системах, где:
➡️ Преобладают запросы на чтение.
➡️ Изменения данных редки или контролируемы.

⌨️ Теги: #курсы #преподаватели #нормализация #база #данные #базы_данных #сопровождение #разработка #аналитика #maximdupley #quadd4rv1n7 #database #courses #teachers #normalize #develop #dev #analytcs #2024
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Как защититься от XSS атаки ?

XSS — это атака, при которой вредоносный JavaScript внедряется на веб-страницу и выполняется в браузере жертвы.

Для защиты от XSS существуют различные методы. Один из них — создание политики безопасности контента (Content Security Policy), которая ограничивает загрузку скриптов и других ресурсов.

Также важно контролировать пользовательские формы, экранировать вводимые данные и использовать веб-аппликационные файрволы (WAF) для защиты от атак.

Ставьте «🥰», если пост был полезным

⌨️ Теги: #разработка #аналитика #проектирование #моделирование #javascript #xss #sql #database #web #maximdupley #quadd4rv1n7 #2024 #2025
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Что такое хеширование ?

Хеширование — это процесс преобразования данных в уникальную фиксированную строку (хеш), которая служит цифровым "отпечатком" исходной информации.

Особенность хеширования в том, что:

Даже малейшее изменение данных полностью меняет отпечаток хеш-пароля 📊
Одинаковые данные всегда дают одинаковый результат.

Почему хеширование важно ?

Защита паролей: вместо хранения паролей системы хранят только их хеши, повышая безопасность.
Контроль целостности: проверка, что данные (например, файл) не были изменены.
Быстрый поиск: хеши ускоряют доступ к данным в больших системах.

⚠️ Однако важно помнить:

Хеширование необратимо — нельзя "расшифровать" хеш в исходные данные.
Оно не заменяет шифрование, а дополняет его.

💡 Интересный факт: если бы каждый человек на Земле получил уникальный хеш с использованием SHA-256, пространство адресов всё равно оставалось бы практически бесконечным 🌍


Ставьте «🥰», если пост вам понравился

⌨️ Теги: #разработка #аналитика #проектирование #моделирование #хеширование #hash #token #database #maximdupley #quadd4rv1n7 #2024 #2025
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍2
Что такое Milvus ?

Milvus — это векторная база данных с открытым исходным кодом, предназначенная для поддержки поиска по сходству и применения искусственного интеллекта.

Milvus упрощает поиск неструктурированных данных и обеспечивает единый пользовательский опыт вне зависимости от среды развертывания.

Ставьте «🥰», если пост вам понравился

⌨️ Теги: #разработка #аналитика #проектирование #моделирование #javascript #xss #sql #database #web #maximdupley #quadd4rv1n7 #2024 #2025
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍2
OceanBase — это корпоративная распределённая реляционная база данных с высокой доступностью, производительностью, горизонтальной масштабируемостью и совместимостью со стандартами SQL.

Ключевые особенности:
▫️Прозрачная масштабируемость: 1500 узлов, петабайты данных и триллион строк записей в одном кластере.
▫️Сверхвысокая производительность: TPC-C 707 миллионов операций в секунду и TPC-H 15,26 миллиона операций в секунду при 30000 ГБ.
▫️Экономическая эффективность: позволяет сэкономить 70–90% расходов на хранение.

4️⃣ GitHub

➡️ Хижина программиста

Ставьте «🥰», если пост вам понравился

⌨️ Теги: #oceanbase #sql #database #db #git #github #maestro7it #maximdupley #quadd4rv1n7 #2024 #2025
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Cloudberry — анализ и визуализация больших данных в реальном времени.

Ориентирован на обработку и анализ данных, хранящихся в распределенных и облачных системах.

4️⃣ GitHub

➡️ Хижина программиста

Ставьте «🥰», если пост вам понравился

⌨️ Теги: #database #cloudberry #базаданных #db #apache #visualisation #визуализация #maximdupley #quadd4rv1n7 #2024 #2025
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🔡🔡🔡 Оптимизация запросов

Оптимизация выборки диапазона с помощью `BETWEEN`
/*до рефакторинга*/
EXPLAIN
SELECT *
FROM public.salesorder AS t1
WHERE EXTRACT(YEAR FROM orderdate) = 2006
AND EXTRACT(MONTH FROM orderdate) = 7

/*после рефакторинга*/
EXPLAIN
SELECT *
FROM public.salesorder AS t1
WHERE orderdate BETWEEN '2006-07-01 00:00:00'::TIMESTAMP
AND '2006-07-31 00:00:00'::TIMESTAMP


Оптимизация с помощью оператора `EXISTS`

/*до рефакторинга*/
EXPLAIN
SELECT COUNT(DISTINCT t1.orderid)
FROM public.salesorder AS t1
JOIN public.orderdetail AS t2
ON t1.orderid = t2.orderid

/*после рефакторинга*/
EXPLAIN
SELECT COUNT(DISTINCT t1.orderid)
FROM public.salesorder AS t1
WHERE EXISTS(
SELECT NULL
FROM public.orderdetail AS t2
WHERE t1.orderid = t2.orderid)


Более читабельные выражения

/*до рефакторинга*/
EXPLAIN
SELECT SUM(CASE WHEN num % 3 = 0 THEN 1 END) AS foo,
SUM(CASE WHEN num % 5 = 0 THEN 1 END) AS bar,
SUM(CASE WHEN num % 3 = 0 AND num % 5 = 0 THEN 1 END) AS foobar
FROM table1

/*после рефакторинга*/
EXPLAIN
SELECT COUNT(*) FILTER(WHERE num % 3 = 0) AS foo,
COUNT(*) FILTER(WHERE num % 5 = 0) AS bar,
COUNT(*) FILTER(WHERE num % 3 = 0 AND num % 5 = 0) AS foobar
FROM table1


➡️ Хижина программиста

Ставьте «🥰», если пост вам понравился

⌨️ Теги: #sql #between #distinct #запросы #database #базыданных #аналитика #maximdupley #maestro7it #quadd4rv1n7 #2025
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
👍 Интересный квиз по базам данных планируется для групп ТБД и ТИП в МТКП МГТУ им. Баумана 📕

💡 Квиз по базам данных — это тест или викторина, направленная на проверку знаний в области баз данных.
👉 Он может включать вопросы разного уровня сложности, от базовых понятий до продвинутых тем.


➡️ Хижина программиста | Оставляйте «бусты» 🌎

Ставьте «🥰», если пост вам понравился

⌨️ Теги:
#квиз
#аналитика
#базыданных
#database
#education
#study
#quiz
#maximdupley
#maestro7it
#quadd4rv1n7
#2025
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1👌1👨‍💻1
Forwarded from QuadD4rv1n7 & Фишки программиста (Dupley Maxim Igorevich)
📱 Код поэтапной разработки сайта-портфолио на Flask

Flask — это легковесный веб-фреймворк на Python, предназначенный для создания веб-приложений.

Он был разработан Армином Рончи и предлагает простой и гибкий подход к разработке веб-серверов и API.

⌨️ Теги: #flask #django #базы_данных #работа #аналитика #database #sql #mysql #oracle #workbench #maximdupley #quadd4rv1n7 #2024
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
110👍10🔥10🎉9🕊1