NoSQL отношение с целостностью - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть база данных в реальном времени Firebase, структурированная так:

{
    product : {
        "book1" : {
            "name" : "LoTR",
            "category" : {
                "Fiction" : true
            }
        }
    }
    genre : {
        "Fiction" : {
            "name" : "Fiction",
            product : {
                "book1" : true
            }
        }
    }
}

Мне было интересно, стоит ли мне добавлять таблицу клавиш-ключей, например:

genre_product : {
    -3i9wfiosdniov : {
        "book1" : "Fiction"
    }
}

Чтобы установить отношения и использовать $key : true для проверки целостности? Является ли один способ сделать отношения лучше, чем другой, или это просто с помощью варианта использования?

1 Ответ

0 голосов
/ 07 ноября 2018

База данных Firebase не имеет понятия отношений, следовательно, также нет понятия реляционной целостности. Любая такая концепция должна обрабатываться исключительно в вашем коде (приложения и сервера) и в правилах безопасности для вашей базы данных на стороне сервера.

Как обычно при проектировании баз данных NoSQL, не существует единой модели данных, которая была бы лучшей. Все зависит от вариантов использования вашего приложения. Для хорошего ознакомления я рекомендую прочитать Моделирование данных NoSQL и посмотреть Firebase для разработчиков SQL . Я также рекомендую проверить мои ответы на вопросы Многие ко многим в Firebase и Запрос Firebase, если child of child содержит значение .

...