Гайды по БД и SQL
Open in Telegram
Владелец, реклама – @Ak_Mihail Купить рекламу на бирже: https://telega.in/channels/learn_bd_sql/card
Show more6 346
Subscribers
-424 hours
-97 days
-4430 days
Posts Archive
6 346
Примеры:
SELECT NULLIF('Hello', 'Hello');
SELECT NULLIF('Hello', 'world');
SELECT NULLIF('2017-08-25', '2017-08-25');
Функция NULLIF() возвращает NULL, если два выражения равны. В противном случае возвращается первое выражение. NULLIF полезен, когда ты работаешь с устаревшими данными, которые содержат смесь нулевых и пустых строк в столбце. В первом примере возвращается NULL, во втором – первое выражение, в третьем – NULL.6 346
Пример:
TEBLE CUSTOMERS (ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL UNIQUE, ADDRESS CHAR (25), SALARY DECIMAL (18, 2), PRIMARY KEY (ID));
Ограничение UNIQUE не позволяет двум записям иметь одинаковые значения в столбце. Например, в таблице CUSTOMERS ты можешь запретить двум или более людям иметь одинаковый возраст. В данном примере для столбца AGE установлено значение UNIQUE. В результате этого у тебя не может быть двух записей с одинаковым возрастом.6 346
IT юмор теперь в Телеграм! ✅
Если вы устали от постоянной нагрузки на работе, то вашим мозгам срочно нужно расслабиться.
Ежедневная доза IT мемов и шуток точно поднимут вам настроение и помогут разгрузить мозги. Отдых и хорошее настроение повысят вашу продуктивность, ведь расслабленный мозг работает лучше. 💡
Присоединяйтесь к сообществу IT-шников, которые знают, как шутить над сложными задачами!
6 346
Пример:
TABLE Truncate_test;
GO
INSERT INTO Truncate_test(val) VALUES (1), (2), (3);
SELECT * FROM Truncate_test;
GO
Команда SQL TRUNCATE TABLE используется для полного удаления данных из существующей таблицы. Также ты можешь использовать команду DROP TABLE для удаления всей таблицы. Однако она удалит всю структуру таблицы из базы данных. Тебе нужно будет заново создать эту таблицу еще раз, если ты хочешь сохранить некоторые данные.6 346
Пример:
SELECT Orders.OrderID, Employees.LastName,
Employees.FirstName FROM Orders RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID ORDER BY Orders.OrderID;
RIGHT JOIN возвращает все строки из правой таблицы и соответствующие записи из левой таблицы. Результатом будет NULL с левой стороны, если совпадений нет. В данном примере возвращаются все сотрудники и любые заказы, которые они могли разместить. Обрати внимание, RIGHT JOIN возвращает все записи из правой таблицы (Employees), даже если нет совпадений в левой таблице (Orders).6 346
Информация внутри базы данных
представлена в виде объекта, который
отвечает как экземпляр модели базы данных.
OOD (Object-Oriented Database) используется
чаще всего с объектно-ориентированными
языками программирования, такие как, Java,
kotlin, C#.
Преимущество такой базы данных в том, что
БД может очень быстро запрашивать объекты
со сложными отношениями. Также структура
очень близка к программным объекта, что
делает код проще и легче.
6 346
Это высокопроизводительная NoSQL база данных с открытым исходным кодом. Она работает с типами «ключ — значение».
Начнём с того, что это нереляционная СУБД, то есть никаких SOL команд ждать не стоит. Он небезопасный, нет никаких пользователей, а если порт окажется открытым, довольно легко получить доступ к системе.
Почему он такой популярный?
Во-первых, Данные хранятся довольно просто, ключ и значение. Во вторых - скорость. Эту базу данных часто используют как кеширующую
6 346
Пример:
SELECT name
FROM product
WHERE product_id = ALL (SELECT product_id FROM info WHERE couns =7);
Оператор ALL возвращает TRUE, если все значения подзапроса удовлетворяют условию.
Следующий оператор SQL возвращает TRUE и перечисляет имена товаров, если ВСЕ записи в таблице info имеют количество = 7.6 346
Пример:
SELECT REPLACE("SQL Tutorial", "SQL", "HTML"); # HTML Tutorial
SELECT REPLACE("XYZ FGH XYZ", "x", "m"); # XYZ FGH XYZ
Функция REPLACE() заменяет все вхождения указанной строки новой подстрокой. Обрати внимание, замена выполняется с учетом регистра. В первом примере продемонстрирована замена SQL на HTML. Во втором примере не будет замены из-за учета регистра.6 346
⦁ Создавайте индексы для столбцов, используемых в условиях WHERE и JOIN, поскольку это поможет ускорить поиск строк и связывание таблиц.
⦁ Ограничивайте количество индексов для каждой таблицы. Слишком много индексов может замедлить производительность базы данных.
⦁ Используйте композитные индексы для объединения нескольких столбцов в один индекс, поскольку это может помочь ускорить поиск строк в запросах.
⦁ Избегайте создания индексов для столбцов с низкой селективностью. Индексы на таких столбцах не будут использоваться, поскольку большинство строк будет иметь одинаковые значения.
⦁ Регулярно проверяйте производительность базы данных и её запросов. Если запросы выполняются медленно, то это может быть связано с отсутствием или неправильным использованием индексов.
6 346
Нормализация базы данных - процесс организации данных для устранения дублирования информации и увеличения эффективности запросов.
Чтобы нормализировать бд, следуйте этим шагам:
⦁ Разбейте таблицу на более мелкие таблицы, если она содержит множество повторяющихся значений.
⦁ Установите связи между таблицами, используя первичные и внешние ключи.
⦁ Убедитесь, что каждая таблица имеет только одну тему и не содержит лишних столбцов.
⦁ Избегайте многозначных зависимостей, когда один столбец может зависеть от нескольких других столбцов.
⦁ Проверьте, что каждая таблица находится в нормальной форме.
6 346
ChatGPT интегрировали в Телеграм!
Больше не нужны танцы с бубном — всё быстро и удобно!
Ведь ребята с канала Нейросетошная интегрировали ChatGPT прямо в бота.
Бот в закрепе: @ChatGPT
6 346
⦁ Используйте скрипты миграций для изменения БД и версионируйте их.
⦁ Разбейте данные на отдельные таблицы с помощью связей и отношений между ними.
⦁ Используйте правильный тип данных для каждого поля.
⦁ Избегайте злоупотребления индексами.
⦁ Избегайте повторяющихся данных.
⦁ Удаляйте неиспользуемые таблицы, поля и индексы.
⦁ Следите за производительностью и оптимизируйте ее с помощью инструментов мониторинга.
6 346
Нулевое значение (NULL) — это значение поля, которое является пустым, т.е. нулевое значение — это значение поля, не имеющего значения.
Важно понимать, что нулевое значение отличается от значения
0 и от значения поля, содержащего пробелы (). Поле с нулевым значением - это такое поля, которое осталось пустым при создании записи. Также, следует учитывать, что в некоторых СУБД пустая строка ('') — этоNULL, а в некоторых — это разные значения.6 346
⦁ Уникальный индекс
⦁ Кластерный индекс
⦁ Некластеризованный индекс
⦁ Индекс битовой карты
⦁ Нормальный индекс
⦁ Составной индекс
⦁ Индекс B-дерева
⦁ Индекс на основе функций
6 346
Repost from Codeby
❗️SQL Injection Master - самый полный курс по SQL инъекциям
Старт: 10 апреля
Продолжительность: 3 месяца
3-месячный онлайн-курс SQL Injection Master позволит вам изучить:
✔️ Базовые навыки работы с SQL;
✔️ Поиск уязвимостей в базах данных;
✔️ Внедрение произвольного SQL-кода в уязвимые приложения.
👍 Курс от Codeby School будет полезен как новичкам в сфере информационной безопасности, так и продвинутым специалистам!
Преимущества онлайн-курса SQL Injection Master:
። Уникальность – у данного курса нет аналогов в СНГ и англоязычном пространстве;
። Максимум практики – выполнение заданий на тестовом стенде и проверка ДЗ;
። Обучение в любое время благодаря методичкам и видеоурокам в записи;
። Обратная связь от других учеников и преподавателя в чате и на форуме.
🔥 Имеется промо-доступ на 7 дней!
Узнать подробнее о курсе: https://sql-injection.codeby.school/
Реклама. Информация о рекламодателе на сайте https://codeby.school/
6 346
Подзапрос — это запрос внутри другого запроса, в котором определен запрос для извлечения данных или информации из базы данных. В подзапросе внешний запрос называется основным запросом, тогда как внутренний запрос называется подзапросом.
Подзапросы всегда выполняются первыми, а результат подзапроса передается в основной запрос. Он может быть вложен в SELECT, UPDATE или любой другой запрос. Подзапрос также может использовать любые операторы сравнения.
6 346
Repost from КИБЕР МЕДИА
Александр Есаулов, эксперт по конкурентной разведке и OSINT Академии Информационных Систем, старший партнер-директор департамента аналитики ГК «Масалович и партнеры», автор телеграм-канала Mycroft Intelligence рассказал порталу Cyber Media о перспективах развития OSINT в России и изменениях, которые произошли на рынке в 2022 году.
6 346
Есть три типа индексов, а именно:
• Уникальный индекс (Unique Index): этот индекс не позволяет полю иметь повторяющиеся значения, если столбец индексируется уникально. Если первичный ключ определен, уникальный индекс может быть применен автоматически.
• Кластеризованный индекс (Clustered Index): этот индекс меняет физический порядок таблицы и выполняет поиск на основе значений ключа. Каждая таблица может иметь только один кластеризованный индекс.
• Некластеризованный индекс (Non-Clustered Index): не изменяет физический порядок таблицы и поддерживает логический порядок данных. Каждая таблица может иметь много некластеризованных индексов.
6 346
Триггер в SQL — особый тип хранимых процедур, которые предназначены для автоматического выполнения в момент или после изменения данных. Это позволяет вам выполнить пакет кода, когда вставка, обновление или любой другой запрос выполняется к определенной таблице.
Available now! Telegram Research 2025 — the year's key insights 
