У меня есть иерархия данных, как это:Лучший способ для извлечения данных из базы данных MySQL для большой иерархии через PHP
Country
-President // A Person
--Central
---Prime Minister // A Person
----State
-----Chief Minister // A Person
------District
-------District Minister // A Person
--------Area
---------Area Minister (AM) // A Person
Поэтому в основном то, что я пытаюсь сделать здесь, я хочу, чтобы Focus
на Area Minister
. Поскольку он будет душой моего заявления. Другие - это только часть иерархии. Так что давайте говорить, если я добавляю в Area Minister
, то он/она будет находиться под Area
и Area
находится под District Minister
и District Minister
под District
и District
находится под Chief Minister
и SO ON......
Что я делаю здесь, добавив их детали для Area Minister
в мой MySQL Database
Так что я сделал в базе данных, я создал следующие таблицы:
- Страны // Для добавления записи
- президента // Для добавления президент в стране (Так country_id есть внешний ключ здесь)
- Central // Для добавления центрального при президенте (Так president_id является внешним ключом здесь)
- ...
- ...
- ...
- ...
- ...
- Область // Для добавления области под руководством менеджера районного (Так district_manager_id является внешним ключом здесь)
- Area_Minister // Для добавления министр площади (AM) в зоне (So area_id является forei gn key)
Вопрос для получения информации от AM
по **PHP**
. Я получаю данные от **MySQL**
, а AM
- это основные данные, которые я ищу, но соответствующие данные также требуются в некоторых случаях. Но ядро AM - Data
. Однако, если я пройду этот путь, я пытаюсь получить данные от 10 - TEN TABLES
. Который я чувствую боль.
Потому, чтобы получить необходимые данные, я соответствовать Area
ID в AM
, то District Minister
ID в Area
и так далее до уровня начала иерархии.
Есть ли способ, который я могу сделать, чтобы свести к минимуму этот процесс. Поскольку основные данные, которые я хочу, это всего лишь AM i.e Area Manager's Data
.
Любой способ, которым я могу его хорошо структурировать. Или, может быть, если кто-либо ищет помощи, кто-то может дать мне понять, что если это можно сделать с помощью хранимых процедур.
Я просто ищу способ уменьшить сложность кода в PHP и так много таблиц в MySQL, когда основные данные только там с AM
.
Просьба совета.
FWIW, я не думаю, что десять таблиц - это много. –
@lc. На самом деле есть много других таблиц. Но эти таблицы я сделал для получения информации для «Менеджера пространства», поэтому 9 таблиц только для ссылки на «Диспетчер областей» выглядят довольно дорого для меня. Именно так, поэтому я ищу вас, люди, советы экспертов и понимание этого. –
@lc. Основная проблема заключается в том, что всякий раз, когда я получаю детали для «Диспетчера областей», мне требуется получить данные из '10 таблиц'. –