Size: a a a

Хирьянов Т.Ф., Практика программирования на Python 3 (2019)

2020 August 08

М

Макс in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
mr.slavik
а еще подумали немного и поняли что нам нужны еще gps координаты и другие названия города
Добавить поле в таблицу и внести данные по каждому городу. Это банальные запросы для работы с реляционными базами данных
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Макс
И?
"Селект где площадь в таблице городов находится в данном диапазоне"
Абсолютно банальный запрос для базы
а как же индексы
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
а если мы добавим координаты городов и хотим найти города в радиусе 200км, например от координаты
источник

М

Макс in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
mr.slavik
а как же индексы
В задаче было 'страны с городами'. Именно по этому параметру и связь таблиц. Про запрос площади не известно в задаче, если это разовый запрос то индекс не нужен. Если это постоянные запросы, добавить индекс по площади. Это обычная и штатная работа бд
источник

М

Макс in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
mr.slavik
а если мы добавим координаты городов и хотим найти города в радиусе 200км, например от координаты
И что?
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Макс
И что?
что?
источник

М

Макс in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Добавляешь и делаешь выборку. Что в этом такого?
источник

М

Макс in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Для этого базы и придумали
источник

М

Макс in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Они оптимизированы для подобных запросов
источник

М

Макс in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Сейчас в вузах вообще есть курс 'базы данных'?
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
не все гео индексы поддерживают субд
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
и мы координаты добавлять для всех сразу не сможем
только для известных
и вопрос про блокировки остается открытым
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
какой профит мы получаем тут от нормализации?
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Макс
Сейчас в вузах вообще есть курс 'базы данных'?
у кого-то есть, у кого-то нет
источник

М

Макс in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
mr.slavik
и мы координаты добавлять для всех сразу не сможем
только для известных
и вопрос про блокировки остается открытым
Не нужно решать задачу с задницы. База сначала проектируется, потом реализуется, а потом используется. А не наоборот. Как и любой софт
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Макс
Не нужно решать задачу с задницы. База сначала проектируется, потом реализуется, а потом используется. А не наоборот. Как и любой софт
нет
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
не так
источник

М

Макс in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
В цикле
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
есть вещи которые проектируются заранее, а есть которые на этапе проектирования просто неизвестны
понадобится нам это или нет
но зато известно что нам точно не понадобится
например атомарность на уровне ячейки
транзакции тоже навряд ли
жесткая консистентность
изоляция
и тд и тп
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
биллинг какой нибудь можно спроектировать заранее
это формализованная понятная задача
которая не поменяется особо
и для которой нужны гарантии ACID
источник