Правильный / безопасный метод для пользователей, чтобы добавлять примечания к базе данных MySQL
Спасибо за прочтение. Прежде чем читать - я использую PHP и MySQL
Я создаю простое веб-приложение, в котором пользователи будут получать доступ к историческим ценам на различные продукты, но им нужно будет иметь свои собственные уникальные заметки о различных продуктах.
Существует около 100000 продуктов, каждый из которых имеет собственную таблицу, содержащую от 50 до 100 строк в любой момент времени.
У меня нет опыта проектирования баз данных, поэтому мне нужна помощь!
1) Как лучше всего хранить заметки пользователей для этих продуктов? Будет ли лучше создать таблицу для каждого продукта, содержащую заметки, сгенерированные каждым пользователем?
2) Если продукт добавлен и таблица для него ранее не создавалась, будет ли он считаться "безопасным", если я разрешу создавать динамические таблицы? (Когда я говорю "динамический", я имею в виду, что в PHP выполняется проверка, и если таблица не существует, таблица создается.)
2a) Хотя я не ожидаю какой-либо формы взлома, я обеспокоен тем, что возможность создавать таблицы обеспечивает слишком большой доступ. Можно ли разрешить создание таблицы, но запретить пользователю mySQL другие функции, такие как удаление?
Заранее спасибо!
1 ответ
Существует около 100 000 продуктов, каждый из которых имеет собственную таблицу, содержащую от 50 до 100 строк в любой момент времени.
Создание отдельной таблицы для каждого отдельного объекта - это почти всегда анти-паттерн.
Исправьте свой дизайн и сохраните все продукты в одной таблице, и, как следствие, вы сможете более естественно моделировать другие ваши требования. Например: