Я пишу онлайн-трекер ресурсов проекта, но я новичок в MySQL. Каким будет лучший способ отслеживания проектов, пользователей и активов для чего-то подобного? У меня есть 3 таблицы для активов, пользователей и проектов. Пользователи должны иметь проекты и активы. Активы могут быть членами нескольких проектов, и проекты должны быть доступны для нескольких пользователей.Лучшая практика для иерархического отслеживания активов MySQL
Первый метод, который, как я полагал, будет иметь поле среднего текста для каждого проекта с идентификатором для каждого актива, с которым он связан. У каждого актива также будет средний текст, который будет иметь каждый идентификатор проекта, с которым он связан. Это проблема, поскольку, поскольку я не могу выполнить поиск без необходимости анализировать текст, чтобы узнать, какие проекты/активы он прикрепляет.
Другим решением без синтаксического анализа было бы иметь отдельные таблицы для информации связывания, поэтому, например, была бы таблица активов с идентификатором ресурса, идентификатором проекта и идентификатором пользователя, который является частью, и если он будет назначен другому проекта или пользователя, будет другая запись в эту таблицу. Однако это решение будет иметь активы, имеющие несколько записей.
Другой способ сделать это - создать сайт для создания таблицы при создании проекта и хранить информацию об активах и пользователях. Так как могут быть тысячи проектов, это очень быстро увеличит базу данных, и, насколько мне известно, создание MySQL на MySQL больше, чем записей.
Я склоняюсь к второму решению. Есть ли кто-нибудь, кто знает лучший способ?
Ваше имя вопроса имеет дело с иерархическими данными (это очень сложная тема), но я не вижу в тексте вашего вопроса нигде ... –