Прежде всего, я знаю, что вопрос обсуждался here и here на stackoverflow. Однако этот случай может быть другим.Проблемы с дизайном базы данных. Таблица (ы) для каждого пользователя
Позвольте мне объяснить ситуацию:
Босс хочет меня и мой коллега по разработке веб-приложений, где он может добавить клиентов (читай компании, формы теперь «пользователь»).
У каждого пользователя будет своя частная секция в приложении, где он сможет управлять своим запасом/биллингом/платежами/заказами/... У них даже есть возможность задавать разные модули/пункты меню/представления/.. для своих частных раздел.
Наш босс должен иметь возможность добавлять/удалять некоторые модули/представления/.. путем проверки опции в главном разделе управления.
И так далее ....
Моя первая мысль заключалась в том, чтобы иметь основной модуль для каждого пользователя. Моя идея была отброшена моей коллегой. Он думал, что это слишком много.
Но тогда, когда мы начали проектировать базу данных, он сказал, что хочет иметь большинство таблиц в базе данных для каждого пользователя ...
Я знал, что это была плохая практика и попытался объяснить. Однако он заявил, что было бы небезопасно, если бы мы сохранили все в тех же таблицах. (Если бы нас взломали, у них была бы не только одна компания, это данные, но и данные от ВСЕХ компаний)
Обсуждение заняло некоторое время, и в конце концов его «точка» даже убедила нашего босса его метода ,
Так как я новый парень здесь, я не хотел бы твердо стоять на этом, не зная наверняка если his statement === false
Итак, я хотел бы ваше мнение по этому поводу.
- Как насчет безопасности
- Как о персонализации для каждой компании
- Как об управлении базой данных
- ли кто-нибудь был подобный проект
- Как об использовании различных «модулей» для каждого (как в моей первой идее)
- ... (на самом деле вся информация, чтобы убедить их в норме, но я чувствую, что я должен с отличной альтернативой)
Заранее спасибо
Итак, позвольте мне понять это, каждый пользователь должен получить свою собственную пару равных таблиц для хранения своих данных, которые в целом могут храниться в таблице, отличающейся идентификатором пользователя в строке? – dbf
Я не понимаю, почему это было бы более безопасно с большим количеством таблиц. Если вас взломали, вся база данных будет доступна для хакеров с каждой таблицей. Мне кажется, это не имеет смысла. – complex857
Звучит как кошмар созидания для меня ... Каждое небольшое изменение должно быть применено к каждому отдельному пользовательскому столу. Я не знаю о проблемах безопасности, но я думаю, что если кому-то удастся скомпрометировать одну таблицу, он, вероятно, также сможет скомпрометировать всю базу данных. С точки зрения дизайна базы данных это звучит просто неправильно. Безопасность не должна быть (такой большой) частью на уровне проектирования БД. Это зависит от уровня приложения, чтобы обеспечить безопасную связь с базой данных. – Quasdunk