Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - построения графа по базе данных

Ответить
Настройки темы
Delphi - построения графа по базе данных

Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Привет всем! Помогите!) У меня тякая проблема: поставили задачу построения графа по базе данных на SQL. Понимаю, что звучит непонятно, как смогу попытаюсь объяснить) Пусть у нас есть таблица состоящая всего из двух полей: Кто продал и Кому продал. Далее пользователь, например, вводит Иванов и указывает вложенность графа - 3. Мы должны сделать запрос на поиск записей со значением поля Кто продал = Иванов. Пусть их нашлось 2 со значением поля Кому продал - Петров и Сидоров . Далее ищем записи для Петрова и Сидорова(они тоже кому-то что-то продают) и т.д. до той вложенности которую указал пользователь. И необходимо это вывести графически. Думаю более или менее понятно. Может у кого есть какие идеи как это реализовать или может это уже гдето реализовано, подскажите плиииз, очень нужно)

Отправлено: 14:25, 13-10-2010

 

Старожил


Сообщения: 198
Благодарности: 51

Профиль | Отправить PM | Цитировать


Самое банальное что пришло на ум:

Код: Выделить весь код
procedure a (глубина, кто_продал_имя, кто_продал_указ);   
        кто_продал_указ - указание на вершину графа(ссылка, номер вершины и.т.п)
begin
if глубина = треб_глубина then exit;
q = "SELECT кому_продал FROM table WHERE Кто_продал = кто_продал_имя;
ar = выполнить(q) и получить массив;
связать вершину кто_продал с вершинами  кому_продал 
      (при необходимости добавить вершины  кому_продал в граф);
for i:=1 to размер(ar) do
     a(глубина+1; ar[i]; указание на вершину графа с именем ar[i])
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:41, 13-10-2010 | #2



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

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


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Блин, спасибо конечно, но можно поподробней, я не профи и что-то не могу в этом разобраться)
ar - что за массив. Да и вообще если это все будет корректно работать, то остается вопрос как рисовать этот граф?)

Отправлено: 13:16, 14-10-2010 | #3


Старожил


Сообщения: 198
Благодарности: 51

Профиль | Отправить PM | Цитировать


a - рекурсивная процедура
ar - таблица, который получается после обработки и после выполнение sql-запроса, так как запрашиванется один столбец, то это будет по сути массив, его надо преобразовать в массив, он будет содержать данные о том кому_продал, тот кто_продал.
Затем необходимо связать вершину кто_продал с вершинами кому_продал (реализация зависит от представления графа)
Далее для каждого элемента массива рассматриваем кому_продал в качестве кто_продал , т.е вызываем а рекурсивно.
В первый раз вызываем процедуру как а(0, кто_продал, указатель на первую вершину графа)
По графике я и сам не специалист, но построив граф, думаю нарисовать его не проблема.

Надеюсь, так яснее.

Отправлено: 18:14, 14-10-2010 | #4


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо буду разбираться, если будут еще вопросы отпишусь, ОК?)

Отправлено: 13:21, 15-10-2010 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - построения графа по базе данных

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Отличие методов доступа к базе данных MySQL von JoSy Программирование и базы данных 0 07-07-2010 12:46
не удается подключиться к базе данных сервера WSUS Rkiller WSUS 10 09-02-2009 17:08
MySQL - [решено] сохранение данных в базе данных Mysql TigerZaka Программирование и базы данных 4 24-08-2008 15:48
Представление файловой системы в базе данных Amina Программирование и базы данных 1 29-03-2004 14:50
Дробление табличек в базе данных x404 Программирование и базы данных 2 23-10-2003 02:21




 
Переход