Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как правильно организовать базу данных?

wanya Neizwestnyj Ученик (1), на голосовании 2 года назад
Населенных пунктов вариаций 16000
Улиц: 2 млн и очень часто повторяются в разных н/п
дата заселения 365 разных дней, 365 вариаций.
Всего людей(строк) 750 млн.

Задача:
Определить, есть ли житель с определенным номером в определенном городе на определенной улице, заселившийся в определенную дату.
То, есть, есть ли человек с номером 18372737 в городе Город 3 на улице Улица 1, заселился в дату 13.02.2022?
Если с этим номером есть человек в другом городе, или на другой улице, или в другую дату - МНЕ ЭТО НЕ ВАЖНО.

Если сделать выборку по городу, улице, дате будет максимум 15000 строк.
Если делать поиск просто по номеру то 750 млн строк.

Посоветуйте, как лучше все организовать?
Дополнен 2 года назад
Голосование за лучший ответ
Павел Михаловский Просветленный (36163) 2 года назад
Делаешь отдельную табличку для населенных городов.
Делаешь отдельную таблицу для улиц. (То что повторяется пофиг)
Делаешь отдлельную таблицу для людей.
Делаешь таблицу для заселений. Айдишник улицы, айдишник человека и дату.

Я бы так сделал.
Aleksandr GarasinУченик (34) 2 года назад
А, если вот так, это правильно?
Aleksandr Garasin, ИМХО, предложенный вариант лучше. И потом - зачем в таблице с улицами у Вас есть ID и название улицы, если это название уникально?
Похожие вопросы