Базы данных (Data Base)
8.2K subscribers
567 photos
468 videos
19 files
546 links
Базы данных (Data Base). По всем вопросам @evgenycarter
Download Telegram
Как в СУБД реализовать администратора без прав доступа к данным

В СУБД-строении есть не новая, но не теряющая актуальности задача. Сформулировать её можно примерно так: как убрать возможность суперпользователя взаимодействовать с данными, но оставить ему все возможности по управлению СУБД? Эта функция затребована не только большими компаниями с жёсткими требованиями к информационной безопасности, но и крайне нужна всем, кто попадает под различного вида государственные регуляции, вроде приказа ФСТЭК №64 или страшного GDPR.

Всё это необходимо, чтобы закрыть риски, связанные с доверием как к самому DBA, так и обезопасить себя на случай угона учётной записи злоумышленником.

В этой статье мы хотим поговорить о том, какие есть подходы к решению этой проблемы, какие можно найти реализации на рынке, и что решили сделать мы в Postgres Professional.

Одним из возможных решений данной задачи является введение классической ролевой модели, в рамках которой нас интересует выделение следующих ролей:

Администратор СУБД;
Администратор БД (он же владелец данных);
Администратор безопасности.

https://habr.com/ru/companies/postgrespro/articles/788268/

#db

👉 @database_info
👍3
Пошаговое руководство по чтению и пониманию SQL-запросов

SQL, или язык структурированных запросов, - это язык программирования для управления и обработки данных в реляционной системе управления базами данных (РСУБД). Это стандартный язык, используемый во многих компаниях для обеспечения беспрепятственного доступа к данным. Поскольку он широко используется, при приеме на работу SQL обычно указывается в качестве одного из необходимых навыков. Поэтому изучать SQL просто необходимо.

Одна из распространенных проблем при изучении SQL - понимание запросов, в основном когда их пишет другой человек. В компаниях мы работаем в команде, и нам часто приходится читать и понимать их SQL-запросы. Поэтому нам необходимо практиковаться в деконструкции SQL-запросов и их понимании.

В этой статье мы рассмотрим пошаговый процесс чтения и понимания SQL-запросов. Как это сделать? Давайте разберемся в этом.

https://www.kdnuggets.com/a-step-by-step-guide-to-reading-and-understanding-sql-queries

#db

👉 @database_info
👍31
"Эксперты" SQL до сих пор спорят, что быстрее: IN, EXISTS или JOIN. Будьте осторожны: они ничего не понимают в базах данных SQL.

SELECT ... FROM o WHERE ... IN ( SELECT ... FROM i )
это join💡.

База данных может выполнить его как semi-join from (o) to (i) , или как join from (distinct i) to (o)

#db

👉 @database_info
👍4
Типы SQL Joins

#db

👉 @database_info
👍71
Шпаргалка по основам SQL

#db

👉 @database_info
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Как выполняются SQL-запросы👨‍💻

Порядок выполнения SQL запроса определяет последовательность выполнения различных частей запроса SQL. Этот порядок важен, потому что он определяет, как данные фильтруются, группируются и упорядочиваются.

Вот упрощенное объяснение порядка выполнения SQL:

• 𝐅𝐑𝐎𝐌/𝐉𝐎𝐈𝐍: Оператор FROM указывает таблицы, из которых будут извлечены данные. Клауза JOIN может использоваться для объединения данных из нескольких таблиц.
• 𝐖𝐇𝐄𝐑𝐄: Оператор WHERE используется для фильтрации данных на основе определенных условий.
• 𝐆𝐑𝐎𝐔𝐏 𝐁𝐘: Оператор GROUP BY используется для группировки данных по одной или нескольким колонкам.
• 𝐇𝐀𝐕𝐈𝐍𝐆: Оператор HAVING используется для фильтрации сгруппированных данных на основе определенных условий.
• 𝐒𝐄𝐋𝐄𝐂𝐓: Оператор SELECT указывает столбцы, которые будут возвращены в наборе результатов.
• 𝐃𝐈𝐒𝐓𝐈𝐍𝐂𝐓: Ключевое слово DISTINCT может использоваться для обеспечения возврата только уникальных строк в наборе результатов.
• 𝐎𝐑𝐃𝐄𝐑 𝐁𝐘: Оператор ORDER BY используется для сортировки набора результатов по возрастанию или убыванию.
• 𝐋𝐈𝐌𝐈𝐓: Оператор LIMIT может использоваться для ограничения количества возвращаемых строк.

#db

👉 @database_info
👍9
Самый старый код в MSSQL

Ваш покорный слуга работал с MSSQL с версии 6.5, но в качестве экзотики застал версии 6.0 и 4.2. Да, я супер стар!

Но осталось ли в MS SQL что-либо с тех времен?

https://habr.com/ru/articles/788988/

#db

👉 @database_info
👍6
Media is too big
VIEW IN TELEGRAM
Нормальные формы баз данных: Объясняем на пальцах

00:00 - О чём пойдёт речь в статье
00:45 - Коротко о реляционных БД
01:20 - Что такое нормализация
01:46 - Зачем нужна нормализация БД
02:08 - Что такое избыточность данных с примерами
04:51 - Какие бывают нормальные формы БД и о процессе нормалиции в целом
08:00 - Ненормализованная форма или нулевая нормальная форма с примером
09:37 - Первая нормальная форма с примером нормализации
11:24 - Вторая нормальная форма с примером нормализации
15:29 - Что такое декомпозиция
16:18 - Третья нормальная форма с примером нормализации
18:54 - Нормальная форма Бойса-Кодда с примером нормализации
21:54 - Четвертая нормальная форма с примером нормализации
27:45 - Почему обычно никто не нормализует БД до 5 или 6 нормальной формы
29:14 - Пятая нормальная форма с примером нормализации
34:23 - Доменно-ключевая нормальная форма
35:39 - Шестая нормальная форма
38:02 - Выводы и заключение

источник

#db

👉 @database_info
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
DBDiagram

Бесплатный, простой инструмент для построения ER-диаграмм путем простого написания кода.
Предназначен для разработчиков и аналитиков данных.

https://dbdiagram.io/home

👉 @database_info
👍5