У моего друга проблема с большой базой данных mySQL и довольно большим количеством повторяющихся столбцов в нескольких таблицах.
Чтобы лучше описать проблему, база данных обслуживает несколько служб, таких как FTP, Postfix, веб-почта, почти все общие службы, которые вы будете запускать на обычном сервере Linux, и все эти службы используют эту базу данных. Проблема в том, что большинство служб не умеют читать из нескольких таблиц, поэтому, если вы используете несколько записей таблиц, таких как имя пользователя, пароль, переключатели должны быть повторены в этих таблицах для конкретных служб. петля Бывший. Таблица UserProfile содержит все данные, относящиеся к пользователю. (Имя пользователя Пароль) Таблица ACL содержит данные, связанные с доступом (AccountEnabled, FTPEnabled, AccessType) Таблица FTP содержит данные, относящиеся к FTP (квоты, каталоги и т. д.) Думаю, вы поняли ... Поэтому, если мне нужна служба ftp, я должен прочитать таблицу UserProfile, таблицу ACL и таблицу FTP, но поскольку я не могу читать из нескольких таблиц, я читаю только таблицу ftp, в которой я дублирую поля, которые мне нужны, например Имя пользователя, пароль и FTPEnabled.
Теперь они пытаются создать приложение для администрирования всех этих сервисов, вы можете себе представить, что до сих пор это делалось вручную, а сервер обслуживает более нескольких сотен пользователей. Итак, теперь они пытаются создать административный интерфейс, который управляет всеми этими таблицами. Проблема в том, что 30% того, что необходимо записать, - это повторяющиеся данные. Бывший. Имя пользователя и пароль должны быть написаны 6 раз в разных таблицах.
Есть ли возможность создать таблицу с «символической ссылкой» или чем-то подобным? Чтобы у вас были все данные в одной таблице Temp, доступной для всех служб и динамически обновляемой. Или вы можете придумать какой-нибудь другой «умный» способ сделать все это проще?
Заранее благодарю за уделенное время, титул






Почему службы не могут получить доступ к нескольким таблицам?
Если вы действительно хотите создать "символическую ссылку" на таблицу, просмотрите представления.
То, что вы ищете, называется ПОСМОТРЕТЬ.
Таким образом, у вас может быть центральная таблица со всей информацией, одно представление для каждого приложения с правильной структурой.