Основные концепции баз данных
Реляционная модель данных - это модель представления и организации данных в базе данных. В реляционной модели данные хранятся в виде таблиц, состоящих из строк и столбцов. Каждая таблица имеет имя и структуру, определяемую набором столбцов и их типами данных.
Таблица - это основной объект в реляционной модели данных, который хранит данные в виде строк и столбцов. Каждая таблица имеет уникальное имя и структуру, определяемую набором столбцов и их типами данных. В таблице каждая строка представляет собой запись, а каждый столбец представляет собой конкретное свойство или атрибут объекта.
Столбец - это одно поле в таблице, которое хранит данные одного типа. Каждый столбец имеет уникальное имя и тип данных, который определяет, какой тип данных может храниться в столбце.
Строка - это одна запись в таблице, которая содержит данные для каждого столбца. Каждая строка в таблице имеет уникальный идентификатор, который называется ключом. Ключ может быть составным, т.е. может включать несколько столбцов.
Ключ - это уникальный идентификатор для каждой записи в таблице. Ключ может быть составным, т.е. может включать несколько столбцов, которые вместе обеспечивают уникальность записи в таблице. Ключ используется для связывания данных в разных таблицах и для обеспечения быстрого доступа к данным.
Внешний ключ - это связь между двумя таблицами, которая используется для связывания данных в этих таблицах. Внешний ключ - это столбец в одной таблице, который ссылается на ключ в другой таблице. Это позволяет связывать данные в разных таблицах и создавать отношения между ними.
Индекс - это структура данных, которая позволяет быстро находить данные в таблице. Индекс создается для одного или нескольких столбцов в таблице и хранит ссылки на соответствующие записи в таблице. Использование индексов может значительно ускорить выполнение запросов к таблице.
Запрос - это команда на извлечение данных из таблицы или таблиц в базе данных. Запросы могут включать операции выборки, сортировки, фильтрации и группировки данных. Результатом выполнения запроса является набор данных, который может быть использован для дальнейшей обработки или отображения пользователю.
SQL - это язык структурированных запросов, который используется для работы с реляционными базами данных. SQL позволяет выполнять операции на создание, изменение и удаление таблиц и данных в них, а также на извлечение данных из таблиц с помощью запросов. SQL является стандартом для работы с реляционными базами данных и используется в большинстве СУБД.
#db
👉 @database_info
Реляционная модель данных - это модель представления и организации данных в базе данных. В реляционной модели данные хранятся в виде таблиц, состоящих из строк и столбцов. Каждая таблица имеет имя и структуру, определяемую набором столбцов и их типами данных.
Таблица - это основной объект в реляционной модели данных, который хранит данные в виде строк и столбцов. Каждая таблица имеет уникальное имя и структуру, определяемую набором столбцов и их типами данных. В таблице каждая строка представляет собой запись, а каждый столбец представляет собой конкретное свойство или атрибут объекта.
Столбец - это одно поле в таблице, которое хранит данные одного типа. Каждый столбец имеет уникальное имя и тип данных, который определяет, какой тип данных может храниться в столбце.
Строка - это одна запись в таблице, которая содержит данные для каждого столбца. Каждая строка в таблице имеет уникальный идентификатор, который называется ключом. Ключ может быть составным, т.е. может включать несколько столбцов.
Ключ - это уникальный идентификатор для каждой записи в таблице. Ключ может быть составным, т.е. может включать несколько столбцов, которые вместе обеспечивают уникальность записи в таблице. Ключ используется для связывания данных в разных таблицах и для обеспечения быстрого доступа к данным.
Внешний ключ - это связь между двумя таблицами, которая используется для связывания данных в этих таблицах. Внешний ключ - это столбец в одной таблице, который ссылается на ключ в другой таблице. Это позволяет связывать данные в разных таблицах и создавать отношения между ними.
Индекс - это структура данных, которая позволяет быстро находить данные в таблице. Индекс создается для одного или нескольких столбцов в таблице и хранит ссылки на соответствующие записи в таблице. Использование индексов может значительно ускорить выполнение запросов к таблице.
Запрос - это команда на извлечение данных из таблицы или таблиц в базе данных. Запросы могут включать операции выборки, сортировки, фильтрации и группировки данных. Результатом выполнения запроса является набор данных, который может быть использован для дальнейшей обработки или отображения пользователю.
SQL - это язык структурированных запросов, который используется для работы с реляционными базами данных. SQL позволяет выполнять операции на создание, изменение и удаление таблиц и данных в них, а также на извлечение данных из таблиц с помощью запросов. SQL является стандартом для работы с реляционными базами данных и используется в большинстве СУБД.
#db
👉 @database_info
👍6
MySQL. Работа с бекапами.
Делаем бекап
Создаём структуру базы без данных
Если нужно сделать дамп только одной или нескольких таблиц
Создаём бекап и сразу его архивируем
Создание бекапа с указанием его даты
Заливаем бекап в базу данных
Заливаем архив бекапа в базу
или так
Создаём новую базу данных
Удобно использовать бекап с дополнительными опциями -Q -c -e, т.е.
mysqldump -Q -c -e -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql, где:
Для просмотра списка баз данных можно использовать команду:
А так же можно посмотреть список таблиц базы:
Для таблиц InnoDB надо добавлять --single-transaction, это гарантирует целостность данных бекапа.
Для таблиц MyISAN это не актуально, ибо они не поддерживают транзакционность.
Общие факты
Полезно под каждую базу на боевом сервере создавать своего пользователя
Кодировка базы может быть любой, если она UTF8
В большинстве случаев лучше использовать движок InnoDB
В php лучше забыть про сильно устаревшее расширение mysql и по-возможности использовать pdo или mysqli
Новую копию MySQL всегда можно настроить и оптимизировать
Без особой нужды не стоит открывать MySQL наружу. Вместо этого можно сделать проброс портов
ssh -fNL LOCAL_PORT:localhost:3306 REMOTE_USER@REMOTE_HOST
#db
👉 @database_info
Делаем бекап
mysqldump -u USER -pPASSWORD DATABASE > /path/to/file/dump.sqlСоздаём структуру базы без данных
mysqldump --no-data - u USER -pPASSWORD DATABASE > /path/to/file/schema.sqlЕсли нужно сделать дамп только одной или нескольких таблиц
mysqldump -u USER -pPASSWORD DATABASE TABLE1 TABLE2 TABLE3 > /path/to/file/dump_table.sqlСоздаём бекап и сразу его архивируем
mysqldump -u USER -pPASSWORD DATABASE | gzip > /path/to/outputfile.sql.gzСоздание бекапа с указанием его даты
mysqldump -u USER -pPASSWORD DATABASE | gzip > `date +/path/to/outputfile.sql.%Y%m%d.%H%M%S.gz`Заливаем бекап в базу данных
mysql -u USER -pPASSWORD DATABASE < /path/to/dump.sqlЗаливаем архив бекапа в базу
gunzip < /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASEили так
zcat /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASEСоздаём новую базу данных
mysqladmin -u USER -pPASSWORD create NEWDATABASEУдобно использовать бекап с дополнительными опциями -Q -c -e, т.е.
mysqldump -Q -c -e -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql, где:
-Q оборачивает имена обратными кавычками-c делает полную вставку, включая имена колонок-e делает расширенную вставку. Итоговый файл получается меньше и делается он чуть быстрееДля просмотра списка баз данных можно использовать команду:
mysqlshow -u USER -pPASSWORDА так же можно посмотреть список таблиц базы:
mysqlshow -u USER -pPASSWORD DATABASEДля таблиц InnoDB надо добавлять --single-transaction, это гарантирует целостность данных бекапа.
Для таблиц MyISAN это не актуально, ибо они не поддерживают транзакционность.
Общие факты
Полезно под каждую базу на боевом сервере создавать своего пользователя
Кодировка базы может быть любой, если она UTF8
В большинстве случаев лучше использовать движок InnoDB
В php лучше забыть про сильно устаревшее расширение mysql и по-возможности использовать pdo или mysqli
Новую копию MySQL всегда можно настроить и оптимизировать
Без особой нужды не стоит открывать MySQL наружу. Вместо этого можно сделать проброс портов
ssh -fNL LOCAL_PORT:localhost:3306 REMOTE_USER@REMOTE_HOST
#db
👉 @database_info
🔥2
Оконные функции SQL простым языком с примерами
Сразу хочется отметить, что данная статья написана исключительно для людей, начинающих свой путь в изучении SQL и оконных функций. Здесь могут быть не разобраны сложные применения функций и могут не использоваться сложные формулировки определений - все написано максимально простым языком для базового понимания.
P.S. Если автор что-то не разобрал и не написал, значит он посчитал это не обязательным в рамках этой статьи)))
Для примеров будем использовать небольшую таблицу, которая показывает оценки учеников по разным предметам. В БД табличка выглядит следующим образом
https://habr.com/ru/articles/664000/
#db
👉 @database_info
Сразу хочется отметить, что данная статья написана исключительно для людей, начинающих свой путь в изучении SQL и оконных функций. Здесь могут быть не разобраны сложные применения функций и могут не использоваться сложные формулировки определений - все написано максимально простым языком для базового понимания.
P.S. Если автор что-то не разобрал и не написал, значит он посчитал это не обязательным в рамках этой статьи)))
Для примеров будем использовать небольшую таблицу, которая показывает оценки учеников по разным предметам. В БД табличка выглядит следующим образом
https://habr.com/ru/articles/664000/
#db
👉 @database_info
👍7
Конспект-шпаргалка: MySQL / mysql / mariadb / tool
https://bookflow.ru/konspekt-shpargalka-mysql-mysql-mariadb-tool/
#db
👉 @database_info
https://bookflow.ru/konspekt-shpargalka-mysql-mysql-mariadb-tool/
#db
👉 @database_info
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
PRQL
Pipelined Relational Query Language, произносится как "Приквел".
PRQL - это современный язык для преобразования данных - простая, мощная, конвейерная замена SQL. Как и SQL, он читабелен, ясен и декларативен. В отличие от SQL, он формирует логический конвейер преобразований и поддерживает такие абстракции, как переменные и функции. Его можно использовать с любой базой данных, использующей SQL, поскольку он компилируется в SQL.
https://github.com/PRQL/prql
#db
👉 @database_info
Pipelined Relational Query Language, произносится как "Приквел".
PRQL - это современный язык для преобразования данных - простая, мощная, конвейерная замена SQL. Как и SQL, он читабелен, ясен и декларативен. В отличие от SQL, он формирует логический конвейер преобразований и поддерживает такие абстракции, как переменные и функции. Его можно использовать с любой базой данных, использующей SQL, поскольку он компилируется в SQL.
https://github.com/PRQL/prql
#db
👉 @database_info
👍5
Вопросы для собеседования по SQL
Вы готовитесь к собеседованию по SQL? Тогда вы пришли в нужное место!
Это руководство поможет вам усовершенствовать свои навыки работы с SQL, вернуть уверенность в себе и быть готовым к работе!
Здесь вы найдёте подборку реальных вопросов для собеседований, задаваемых в таких компаниях, как Google, Oracle, Amazon, Microsoft и т.д. К каждому вопросу прилагается идеально написанный ответ, что экономит ваше время на подготовку к собеседованию.
Здесь также рассматриваются практические задачи, которые помогут вам понять основные концепции SQL.
Мы разделили эту статью на следующие разделы:
Вопросы для собеседования по SQL
Вопросы для собеседования по PostgreSQL
https://telegra.ph/Voprosy-dlya-sobesedovaniya-po-SQL-04-24
#db
👉 @database_info
Вы готовитесь к собеседованию по SQL? Тогда вы пришли в нужное место!
Это руководство поможет вам усовершенствовать свои навыки работы с SQL, вернуть уверенность в себе и быть готовым к работе!
Здесь вы найдёте подборку реальных вопросов для собеседований, задаваемых в таких компаниях, как Google, Oracle, Amazon, Microsoft и т.д. К каждому вопросу прилагается идеально написанный ответ, что экономит ваше время на подготовку к собеседованию.
Здесь также рассматриваются практические задачи, которые помогут вам понять основные концепции SQL.
Мы разделили эту статью на следующие разделы:
Вопросы для собеседования по SQL
Вопросы для собеседования по PostgreSQL
https://telegra.ph/Voprosy-dlya-sobesedovaniya-po-SQL-04-24
#db
👉 @database_info
👍8
События и ошибки ядра СУБД
Этот раздел содержит номера сообщений об ошибках и их описания, которые взяты из текста сообщения об ошибке в представлении sys.messages каталога. Если это применимо, номер ошибки представляет собой ссылку на дополнительные сведения.
Вы можете запросить ядро СУБД, чтобы просмотреть полный список всех ошибок, выполнив следующий запрос к представлению sys.messages каталога:
https://learn.microsoft.com/ru-ru/sql/relational-databases/errors-events/database-engine-events-and-errors?view=sql-server-ver15
#db
👉 @database_info
Этот раздел содержит номера сообщений об ошибках и их описания, которые взяты из текста сообщения об ошибке в представлении sys.messages каталога. Если это применимо, номер ошибки представляет собой ссылку на дополнительные сведения.
Вы можете запросить ядро СУБД, чтобы просмотреть полный список всех ошибок, выполнив следующий запрос к представлению sys.messages каталога:
SELECT message_id AS Error,
severity AS Severity,
[Event Logged] = CASE is_event_logged
WHEN 0 THEN 'No' ELSE 'Yes'
END,
[text] AS [Denoscription]
FROM sys.messages
WHERE language_id = 1040 /* replace 1040 with the desired language ID, such as 1033 for US English */
ORDER BY message_id;https://learn.microsoft.com/ru-ru/sql/relational-databases/errors-events/database-engine-events-and-errors?view=sql-server-ver15
#db
👉 @database_info
👍5
Маленькая книга о Redis
За последние пару лет технологии и средства хранения и доступа к данным развивались невероятными темпами. Можно с уверенностью сказать, что реляционные базы данных не собираются исчезать, но в то же время мы видим, что экосистема вокруг данных уже никогда не будет прежней.
The Little Redis Book (Маленькая книга о Redis) распространяется под лицензией Attribution-NonCommercial 3.0 Unported. Вы не обязаны платить за эту книгу.
Вы можете свободно копировать, распространять, изменять и публиковать книгу. Тем не менее, я прошу, чтобы вы всегда указывали мое, Карла Сегуина (Karl Seguin), авторство и не использовали книгу в коммерческих целях.
https://github.com/akandratovich/the-little-redis-book/blob/master/ru/redis.md
#db
👉 @database_info
За последние пару лет технологии и средства хранения и доступа к данным развивались невероятными темпами. Можно с уверенностью сказать, что реляционные базы данных не собираются исчезать, но в то же время мы видим, что экосистема вокруг данных уже никогда не будет прежней.
The Little Redis Book (Маленькая книга о Redis) распространяется под лицензией Attribution-NonCommercial 3.0 Unported. Вы не обязаны платить за эту книгу.
Вы можете свободно копировать, распространять, изменять и публиковать книгу. Тем не менее, я прошу, чтобы вы всегда указывали мое, Карла Сегуина (Karl Seguin), авторство и не использовали книгу в коммерческих целях.
https://github.com/akandratovich/the-little-redis-book/blob/master/ru/redis.md
#db
👉 @database_info
👍10
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Mysql
MySQL просто SELECT - уроки mysql
Mysql просто HAVING группировка - sql уроки
Mysql просто что такое JOINS обьединение - mysql уроки
Mysql просто INNER JOIN, LEFT JOIN, RIGHT JOIN
MySQL просто о сложном установка базы данных
mysql query cache возможные проблемы кэширование запросов
MySQL индекс не работает
источник
#db
👉 @database_info
MySQL просто SELECT - уроки mysql
Mysql просто HAVING группировка - sql уроки
Mysql просто что такое JOINS обьединение - mysql уроки
Mysql просто INNER JOIN, LEFT JOIN, RIGHT JOIN
MySQL просто о сложном установка базы данных
mysql query cache возможные проблемы кэширование запросов
MySQL индекс не работает
источник
#db
👉 @database_info
👍9
SQL: быстрое погружение
Автор: Шилдс Уолтер (2022)
Что общего между самыми востребованными профессиями и стремительным увеличением количества информации в мире? Ответ: язык структурированных запросов (SQL). SQL – рабочая лошадка среди языков программирования, основа основ для современного анализа и управления данными.
Книга «SQL: быстрое погружение» идеальна для всех, кто ищет новые перспективы карьерного роста; для разработчиков, которые хотят расширить свои навыки и знания в программировании; для любого человека, даже без опыта, кто хочет воспользоваться возможностями будущего, в котором будут править данные.
#db
👉 @database_info
Автор: Шилдс Уолтер (2022)
Что общего между самыми востребованными профессиями и стремительным увеличением количества информации в мире? Ответ: язык структурированных запросов (SQL). SQL – рабочая лошадка среди языков программирования, основа основ для современного анализа и управления данными.
Книга «SQL: быстрое погружение» идеальна для всех, кто ищет новые перспективы карьерного роста; для разработчиков, которые хотят расширить свои навыки и знания в программировании; для любого человека, даже без опыта, кто хочет воспользоваться возможностями будущего, в котором будут править данные.
#db
👉 @database_info
👍7
Интерактивный тренажер по SQL
Наш курс является тренажером, поэтому состоит только из практических заданий. Перед тем как приступить, обязательно прочитайте информацию с этого шага.
https://stepik.org/lesson/297508/step/1?unit=279268
#db
👉 @database_info
Наш курс является тренажером, поэтому состоит только из практических заданий. Перед тем как приступить, обязательно прочитайте информацию с этого шага.
https://stepik.org/lesson/297508/step/1?unit=279268
#db
👉 @database_info
👍8❤1