Структура вашей базы данных действительно зависит от того, как вы собираетесь ее использовать.Имейте в виду, что всякий раз, когда вы наблюдаете узел, вы также наблюдаете все дочерние узлы.
Так что я бы, вероятно, подошел к чему-то ближе ко второму варианту, может быть, так:
Users
|
+--UserID
| |
| +--UserInfo
| | |
| | +--Name
| | +--Phone
| | +--etc..
| |
| +--Records
| | |
| | +--RecordName
| | | |
| | | +--recordValue
| | | +--recordType
| | +--RecordName
| | | |
| | | +--recordValue
| | | +--recordType
Я бы выбрал это, потому что я представляю васЯ хотел бы получить всю UserInfo одновременно, поэтому мы можем наблюдать за этим узлом "UserInfo" и получать все дочерние элементы: имя, телефон и т. д. *
Тогда я думаю, что вы 'Также мы хотим получить все записи одновременно, чтобы мы могли наблюдать за этим узлом «Записи» и получать все эти данные.
Кроме того, если вы хотите, вы можете получить все сразу, наблюдая за идентификатором пользователя.!
Однако, если вы, возможно, собираетесь получать список всех пользователей, то вам определенно не нужны все эти данные в одном месте, и этот дизайн не сработает, потому что это многоданных для наблюдения, чтобы получить все пользователи.
В итоге: Выберите вариант, который позволит вам получить то, что вам нужно, без лишних данных, которые вам не нужны!