Как хранить сеть дорог в БД для построения маршрута?
И так, формулировка задачи следующая: есть база данных, в ней хранится информация о дорогах, включая координаты, нужно реализовать построение маршрутов из начальной точки к конечной.
Эта статья будет про то, как использовать свой источник данных, и как этот источник данных редактировать так, чтобы GraphHopper вас понял.
#db
👉 @database_info
И так, формулировка задачи следующая: есть база данных, в ней хранится информация о дорогах, включая координаты, нужно реализовать построение маршрутов из начальной точки к конечной.
Эта статья будет про то, как использовать свой источник данных, и как этот источник данных редактировать так, чтобы GraphHopper вас понял.
#db
👉 @database_info
👍7
Основы SQL
Базы данных и SQL
Оператор SELECT
Фильтрация данных в SQL: WHERE
Сортировка в SQL: ORDER BY
Создание таблиц в SQL
#SQL
👉 @database_info
Базы данных и SQL
Оператор SELECT
Фильтрация данных в SQL: WHERE
Сортировка в SQL: ORDER BY
Создание таблиц в SQL
#SQL
👉 @database_info
👍8
PostgreSQL Antipatterns: простой(?) INSERT… VALUES
Представим, что у вас есть некоторая табличка статистики, куда вы периодически скидываете таймстамп последнего "текущего" состояния в паре координат - например, (ID организации, ID сотрудника).
Как больно наступить на грабли в совсем простом, казалось бы, запросе?
https://habr.com/ru/company/tensor/blog/702902/
#PostgreSQL
👉 @database_info
Представим, что у вас есть некоторая табличка статистики, куда вы периодически скидываете таймстамп последнего "текущего" состояния в паре координат - например, (ID организации, ID сотрудника).
Как больно наступить на грабли в совсем простом, казалось бы, запросе?
https://habr.com/ru/company/tensor/blog/702902/
#PostgreSQL
👉 @database_info
👍3
Что такое первичный ключ?
Первичный ключ или PRIMARY KEY предназначен для однозначной идентификации каждой записи в таблице и является строго уникальным (UNIQUE): две записи таблицы не могут иметь одинаковые значения первичного ключа. Нулевые значения (NULL) в PRIMARY KEY не допускаются. Если в качестве PRIMARY KEY используется несколько полей, их называют составным ключом.
Пример:
Здесь в качестве первичного ключа используется поле id.
Когда используется PRIMARY KEY?
PRIMARY KEY — это первичный ключ, который используется в качестве основного ключа и может быть использован для связи с дочерней таблицей, содержащей внешний ключ.
А что такое внешний ключ?
Внешний ключ или FOREIGN KEY также является атрибутом ограничения и обеспечивает связь двух таблиц. По сути, это поле или несколько полей, которые ссылаются на PRIMARY KEY в родительской таблице.
Пример использования:
В данном случае внешний ключ, привязанный к полю user_id в таблице order, ссылается на первичный ключ id в таблице users, и именно по этим полям происходит связывание двух таблиц.
#SQL
👉 @database_info
Первичный ключ или PRIMARY KEY предназначен для однозначной идентификации каждой записи в таблице и является строго уникальным (UNIQUE): две записи таблицы не могут иметь одинаковые значения первичного ключа. Нулевые значения (NULL) в PRIMARY KEY не допускаются. Если в качестве PRIMARY KEY используется несколько полей, их называют составным ключом.
Пример:
CREATE TABLE USERS (
id INT NOT NULL,
name VARCHAR (20) NOT NULL,
PRIMARY KEY (id)
);
Здесь в качестве первичного ключа используется поле id.
Когда используется PRIMARY KEY?
PRIMARY KEY — это первичный ключ, который используется в качестве основного ключа и может быть использован для связи с дочерней таблицей, содержащей внешний ключ.
А что такое внешний ключ?
Внешний ключ или FOREIGN KEY также является атрибутом ограничения и обеспечивает связь двух таблиц. По сути, это поле или несколько полей, которые ссылаются на PRIMARY KEY в родительской таблице.
Пример использования:
CREATE TABLE order (
order_id INT NOT NULL,
user_id INT,
PRIMARY KEY (order_id),
FOREIGN KEY (user_id) REFERENCES users(id)
);В данном случае внешний ключ, привязанный к полю user_id в таблице order, ссылается на первичный ключ id в таблице users, и именно по этим полям происходит связывание двух таблиц.
#SQL
👉 @database_info
👍9👎1
Top 10 Frequently asked SQL Query Interview Questions
https://www.java67.com/2013/04/10-frequently-asked-sql-query-interview-questions-answers-database.html
#SQL
👉 @database_info
https://www.java67.com/2013/04/10-frequently-asked-sql-query-interview-questions-answers-database.html
#SQL
👉 @database_info
Java67
Top 10 Frequently asked SQL Query Interview Questions Answers
Java Programming tutorials and Interview Questions, book and course recommendations from Udemy, Pluralsight, Coursera, edX etc
Трюки с SQL от DBA. Небанальные советы для разработчиков БД
В этой статье я поделюсь хитростями о разработке баз данных, которые узнал за свою карьеру.
https://habr.com/ru/company/vk/blog/513968/
#SQL
👉 @database_info
В этой статье я поделюсь хитростями о разработке баз данных, которые узнал за свою карьеру.
https://habr.com/ru/company/vk/blog/513968/
#SQL
👉 @database_info
👍6
Урезание (Shrink) логов в SQL Server
Логи транзакций в MS SQL имеют обыкновение разрастаться, что иногда может привести к окончанию места на диске. Чтобы этого не происходило, в SQL Server существует операция урезания логов (Truncate). Урезание логов производится автоматически, в зависимости от модели восстановления:
• В простой модели (Simple) — после достижения контрольной точки;
• В модели полного восстановления (Full) — после создания бэкапа логов, при условии что со времени предыдущего бэкапа была достигнута контрольная точка.
https://bookflow.ru/urezanie-shrink-logov-v-sql-server/
#SQL
👉 @database_info
Логи транзакций в MS SQL имеют обыкновение разрастаться, что иногда может привести к окончанию места на диске. Чтобы этого не происходило, в SQL Server существует операция урезания логов (Truncate). Урезание логов производится автоматически, в зависимости от модели восстановления:
• В простой модели (Simple) — после достижения контрольной точки;
• В модели полного восстановления (Full) — после создания бэкапа логов, при условии что со времени предыдущего бэкапа была достигнута контрольная точка.
https://bookflow.ru/urezanie-shrink-logov-v-sql-server/
#SQL
👉 @database_info
👍4👎1
Оптимизация производительности запросов в Azure SQL
Анализируйте производительность отдельных запросов и определяйте, где можно вносить улучшения. Изучайте объекты DMO, связанные с производительностью. Узнайте, как индексы и структура базы данных влияют на запросы.
Эта схема обучения поможет вам подготовиться к экзамену Exam DP-300: Администрирование решений Microsoft Azure SQL.
Предварительные требования
Умение использовать средства для выполнения запросов к базе данных Microsoft SQL в локальной или облачной среде
Базовое умение писать код на языке SQL, в частности на диалекте Microsoft T-SQL.
Базовое представление о структуре и использовании индексов SQL Server
Общее представление о концепциях реляционных баз данных
https://learn.microsoft.com/ru-ru/training/paths/optimize-query-performance-sql-server/
#SQL
👉 @database_info
Анализируйте производительность отдельных запросов и определяйте, где можно вносить улучшения. Изучайте объекты DMO, связанные с производительностью. Узнайте, как индексы и структура базы данных влияют на запросы.
Эта схема обучения поможет вам подготовиться к экзамену Exam DP-300: Администрирование решений Microsoft Azure SQL.
Предварительные требования
Умение использовать средства для выполнения запросов к базе данных Microsoft SQL в локальной или облачной среде
Базовое умение писать код на языке SQL, в частности на диалекте Microsoft T-SQL.
Базовое представление о структуре и использовании индексов SQL Server
Общее представление о концепциях реляционных баз данных
https://learn.microsoft.com/ru-ru/training/paths/optimize-query-performance-sql-server/
#SQL
👉 @database_info
👍2
Основы работы с ограничениями sql
При разработке баз данных вам может понадобиться установить ограничения на то, какие данные могут храниться в том или ином столбце. Например, если бы у нас была таблица, в которой хранится информация о небоскребах, мы бы запретили отрицательные значения в столбце, содержащем высоту зданий.
Реляционные системы управления базами данных (РСУБД) позволяют контролировать данные, помещаемые в таблицу. Этот контроль выполняется при помощи ограничений. В контексте РСУБД ограничение – это специальное правило, которое применяется к одному или нескольким столбцам (иногда и ко всей таблице) и определяет, какие изменения могут быть внесены в данные с помощью операторов INSERT, UPDATE или DELETE.
В этой статье мы подробно рассмотрим, что такое ограничения и как они используются в СУБД. Также мы отдельно остановимся на каждом из пяти ограничений, определенных в стандарте SQL, и объясним их функции.
#SQL
👉 @database_info
При разработке баз данных вам может понадобиться установить ограничения на то, какие данные могут храниться в том или ином столбце. Например, если бы у нас была таблица, в которой хранится информация о небоскребах, мы бы запретили отрицательные значения в столбце, содержащем высоту зданий.
Реляционные системы управления базами данных (РСУБД) позволяют контролировать данные, помещаемые в таблицу. Этот контроль выполняется при помощи ограничений. В контексте РСУБД ограничение – это специальное правило, которое применяется к одному или нескольким столбцам (иногда и ко всей таблице) и определяет, какие изменения могут быть внесены в данные с помощью операторов INSERT, UPDATE или DELETE.
В этой статье мы подробно рассмотрим, что такое ограничения и как они используются в СУБД. Также мы отдельно остановимся на каждом из пяти ограничений, определенных в стандарте SQL, и объясним их функции.
#SQL
👉 @database_info
👍6
MySQL. Оптимизация псевдо-больших данных
Работая над различными интересными задачами, мне только и приходилось слышать о существовании программ, которые работают с большими данными (в области действия одного сервера). И вот настал тот день, когда к нам обратился клиент, у которого сайт грузился очень долго. Задание для решения этой проблемы выдали моего коллеги. Немного прошло времени, до того как он подозвал меня к себе, с целью показать, столь диковинное для меня зрелище, связанное с объёмом таблиц, в которых находились данные после импорта категорий, характеристик, брендов товаров.
https://habr.com/ru/company/ruvds/blog/690634/
#SQL
👉 @database_info
Работая над различными интересными задачами, мне только и приходилось слышать о существовании программ, которые работают с большими данными (в области действия одного сервера). И вот настал тот день, когда к нам обратился клиент, у которого сайт грузился очень долго. Задание для решения этой проблемы выдали моего коллеги. Немного прошло времени, до того как он подозвал меня к себе, с целью показать, столь диковинное для меня зрелище, связанное с объёмом таблиц, в которых находились данные после импорта категорий, характеристик, брендов товаров.
https://habr.com/ru/company/ruvds/blog/690634/
#SQL
👉 @database_info
👍3👎1
Указания (Transact-SQL) — запросы
Указания запросов определяют, что выбранные указания используются в области запроса. Они влияют на все операторы в инструкции. Если в основном запросе используется операция UNION, только последний запрос, использующий ее, может содержать предложение OPTION. Подсказки в запросе указываются как часть предложения OPTION. Если оптимизатор запросов не сформирует допустимый план из-за одного или нескольких указаний запроса, возникает ошибка 8622.
https://learn.microsoft.com/ru-ru/sql/t-sql/queries/hints-transact-sql-query?view=sql-server-ver16
#SQL
👉 @database_info
Указания запросов определяют, что выбранные указания используются в области запроса. Они влияют на все операторы в инструкции. Если в основном запросе используется операция UNION, только последний запрос, использующий ее, может содержать предложение OPTION. Подсказки в запросе указываются как часть предложения OPTION. Если оптимизатор запросов не сформирует допустимый план из-за одного или нескольких указаний запроса, возникает ошибка 8622.
https://learn.microsoft.com/ru-ru/sql/t-sql/queries/hints-transact-sql-query?view=sql-server-ver16
#SQL
👉 @database_info
👍4
SQL: Бесплатные курсы
Курсы на русском языке:
Интерактивный тренажер по SQL
Введение в базы данных
SQLite на практике
Базы данных
SQL Учебник
Курс по SQL в Notion
Курсы на английском языке:
Khan Academy
SQL for Data Science (IBM)
SQL Tutorial (SQL ZOO)
Intro to SQL (Kaggle)
Advanced SQL (Kaggle)
Lern SQL (Codeacademy)
SQL for Data Science (UCDavice, University of California)
#SQL
👉 @database_info
Курсы на русском языке:
Интерактивный тренажер по SQL
Введение в базы данных
SQLite на практике
Базы данных
SQL Учебник
Курс по SQL в Notion
Курсы на английском языке:
Khan Academy
SQL for Data Science (IBM)
SQL Tutorial (SQL ZOO)
Intro to SQL (Kaggle)
Advanced SQL (Kaggle)
Lern SQL (Codeacademy)
SQL for Data Science (UCDavice, University of California)
#SQL
👉 @database_info
👍7🔥5
SQLAlchemy Tutorial With Examples
https://www.datacamp.com/tutorial/sqlalchemy-tutorial-examples
#SQL
👉 @database_info
https://www.datacamp.com/tutorial/sqlalchemy-tutorial-examples
#SQL
👉 @database_info
👍5
How To Use Nested Queries in SQL
https://www.digitalocean.com/community/tutorials/how-to-use-nested-queries
#sql
👉 @database_info
https://www.digitalocean.com/community/tutorials/how-to-use-nested-queries
#sql
👉 @database_info
🤔4👍1
This media is not supported in your browser
VIEW IN TELEGRAM
DBDiagram
Бесплатный, простой инструмент для построения ER-диаграмм путем простого написания кода.
Предназначен для разработчиков и аналитиков данных.
https://dbdiagram.io/home
👉 @database_info
Бесплатный, простой инструмент для построения ER-диаграмм путем простого написания кода.
Предназначен для разработчиков и аналитиков данных.
https://dbdiagram.io/home
👉 @database_info
👍14
Импорт и экспорт данных CSV в PostgreSQL
Резервное копирование данных Postgres, перенос их в другое место и импорт при необходимости – все это с помощью CSV.
Файлы CSV упрощают процесс хранения данных. Поскольку формат CSV основан на строках и столбцах, он хорошо переводится в реляционную базу данных.
Легко импортировать CSV-файл в базу данных и экспортировать данные из базы данных в CSV-файл. В PostgreSQL для этого можно использовать несколько различных методов.
https://itmozg.ru/import-i-jeksport-dannyh-csv-v-postgresql/
#PostgreSQL
👉 @database_info
Резервное копирование данных Postgres, перенос их в другое место и импорт при необходимости – все это с помощью CSV.
Файлы CSV упрощают процесс хранения данных. Поскольку формат CSV основан на строках и столбцах, он хорошо переводится в реляционную базу данных.
Легко импортировать CSV-файл в базу данных и экспортировать данные из базы данных в CSV-файл. В PostgreSQL для этого можно использовать несколько различных методов.
https://itmozg.ru/import-i-jeksport-dannyh-csv-v-postgresql/
#PostgreSQL
👉 @database_info
👍3
Как посчитать для каждой строки таблицы количество вхождений этой строки в другую таблицу?
Есть две таблицы course и history
В таблице course: id и name
В таблице history: id, course_id, status
Нужно для каждой строчки course посчитать количество строк в history
На выходе должно быть см. скрин
Ответ
👉 @database_info
Есть две таблицы course и history
В таблице course: id и name
В таблице history: id, course_id, status
Нужно для каждой строчки course посчитать количество строк в history
На выходе должно быть см. скрин
Ответ
SELECT name AS course_name, COUNT(history.id) AS quantity
FROM course
LEFT JOIN history ON course_id = course.id AND status = 1
GROUP BY name👉 @database_info
👍7