Должен быть способ как можно быстрее добавить элемент / данные.Какое решение для этого?Я разработал бэкэнд на PHP.
Проблемы пользовательского интерфейса и структуры базы данных - это отдельные проблемы.Для данной структуры базы данных обычно существует несколько удобных для пользователя способов представления и изменения данных.Целостность данных исходит из базы данных.Пользовательский интерфейс просто должен знать, где найти уникальные значения.Программист решает, как использовать эти уникальные значения.Вы можете использовать раскрывающийся список, открыть форму поиска, использовать автозаполнение, сравнить, что пользователь вводит с элементами в массиве, или запросить базу данных, чтобы узнать, существует ли уже значение.
Из вашегоописание, похоже, у вас был очень быстрый способ добавления данных: «сотрудники просто выбирают категорию и вводят имя элемента, чтобы быстро добавлять данные».(Замена «гриб» на «1» не имеет ничего общего с нормализацией.)
И каково решение для редактирования имени элемента?Например, сотрудники могут полностью переименовать название предмета: «Рыбный шашлык» в «Куриный шашлык», и это повлияет на все категории, даже не осознавая этого.
Вы разрешили не тому человеку редактировать названия предметов.Серьезно.
Подобные проблемы возникают в каждом приложении базы данных.Разрешить вносить подобные изменения могут только те, кто обучен и заслуживает доверия.(См. Ваши документы dbms для GRANT и REVOKE. Также посмотрите на ОБНОВЛЕНИЕ ОБНОВЛЕНИЯ.)
В нашей рабочей производственной базе данных я могу вставить новые состояния (для Соединенных Штатов), и я могу изменить существующиеНазовите имена, что я хочу.Но если бы я изменил «Алабаму» на «Кыргызстан», меня бы уволили.Потому что я должен знать лучше, чем делать такие вещи.
Но хотя я и являюсь администратором, я не могу изменить адрес Сан-Франциско и изменить его почтовый индекс на «71601».База данных «знает», что «71601» не является действительным почтовым индексом для Сан-Франциско.Может быть, вы можете добавить таблицу или две к вашей базе данных тоже.Из вашего описания я не могу сказать, поможет ли вам что-то подобное.
В системах, где я не являюсь администратором, я не ожидал бы, что у меня не будет разрешений на вставку строк в таблицу состояний.В других таблицах у меня может быть разрешение вставлять строки, но не обновлять и не удалять их.
Будет некоторая орфографическая ошибка, которая может потребоваться исправить, например, F1sh Kebab, который должен быть Fish Kebab
Урок такой же.Некоторые люди должны иметь возможность обновлять items.name, а некоторые - нет.Отмените разрешения, ограничьте каскадные обновления, увеличьте целостность данных, используя больше таблиц, или увеличьте обучение.