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