Структура таблицы базы данных для больших и масштабируемых приложений

Я работаю инженером-программистом (уже несколько месяцев готовлюсь к учебе) и для своей работы я разрабатываю большое масштабируемое веб-приложение. Другая фирма занимается программированием и создает базу данных. Мы определили данные и отношения между ними, но не дали жесткой структуры базы данных, которую они должны использовать.

Теперь первые (внутренние) вещи видны. Я посмотрел в структуре базы данных позади и увидел (на мой взгляд) что-то странное.

Для пользователей они создали таблицу пользователей, которая содержит такие вещи, как идентификатор, адрес электронной почты и пароль. Рядом с этим они создали таблицу user_meta, которая содержит идентификатор, ключ и значение.

Когда у меня есть пользователь с:

Идентификатор пользователяЭл. адреспарольназваниеФамилияадресТелефон

Идентификатор, адрес электронной почты и пароль хранятся в пользовательской таблице. Для другой информации - строки, созданные в таблице user_meta. Это означает, что в этом случае для одного пользователя создано 4 строки (в нашем случае это более 20 строк для каждого пользователя). Эта структура является пользовательской для каждого объекта, который должен быть сохранен в базе данных.

Я научился создавать таблицу, которая содержит все данные, которые необходимы для пользователя. Так что по моей логике это должна быть одна таблица с 7 полями ...

Дополнительная информация:

Наше программное обеспечение построено на платформе Laravel (по моему совету)Наше программное обеспечение использует базу данных MySQL

Вопросы:

Это нормальный способ создания базы данных для больших систем или что-то в этом роде, потому что я никогда не видел этого в своем исследовании или других проектах в моей жизни.Это лучшая или плохая практика?На мой взгляд, это плохо для производительности. Особенно, когда количество пользователей растет, это правда? или это можно сделать, чтобы получить высокую производительность (потому что не нужно выбирать целую запись? (в нашем случае мы ожидаем не менее 100 000 пользователей в конце 2017 года, которые будут расти быстрее и быстрее, когда наш проект пройдет. существенный шанс, что мы вырастем намного выше 1.000.000 пользователей через несколько лет)Я думаю, что причина, по которой они делают это так, заключается в том, что «объекты» можно очень легко изменить, но, по моему мнению, всегда возможно добавлять поля в таблицу, и вы НИКОГДА не должны удалять поля (также не тогда, когда это возможно структура базы данных), мое мнение в этом право?

извините, когда вопросы "нубские вопросы", но для меня это первый большой проект в моей жизни, поэтому я скучаю по некоторому опыту, но пытаюсь управлять проектом профессионально. Мы обсудим эту среду на собрании. На этом пути я хочу немного подготовиться к этой теме.

Ответы на вопрос(1)

Ваш ответ на вопрос