Довольно сложная проблема mySQL

У моего друга проблема с большой базой данных mySQL и довольно большим количеством повторяющихся столбцов в нескольких таблицах.

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

Теперь они пытаются создать приложение для администрирования всех этих сервисов, вы можете себе представить, что до сих пор это делалось вручную, а сервер обслуживает более нескольких сотен пользователей. Итак, теперь они пытаются создать административный интерфейс, который управляет всеми этими таблицами. Проблема в том, что 30% того, что необходимо записать, - это повторяющиеся данные. Бывший. Имя пользователя и пароль должны быть написаны 6 раз в разных таблицах.

Есть ли возможность создать таблицу с «символической ссылкой» или чем-то подобным? Чтобы у вас были все данные в одной таблице Temp, доступной для всех служб и динамически обновляемой. Или вы можете придумать какой-нибудь другой «умный» способ сделать все это проще?

Заранее благодарю за уделенное время, титул

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
0
195
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Почему службы не могут получить доступ к нескольким таблицам?

Если вы действительно хотите создать "символическую ссылку" на таблицу, просмотрите представления.

Ответ принят как подходящий

То, что вы ищете, называется ПОСМОТРЕТЬ.

Таким образом, у вас может быть центральная таблица со всей информацией, одно представление для каждого приложения с правильной структурой.

Другие вопросы по теме