Forum Webscript.Ru

Общие => Базы данных => Тема начата: Quarto от 23 Ноября 2006, 03:24:26

Название: Двоичное дерево SQL
Отправлено: Quarto от 23 Ноября 2006, 03:24:26
В БД полный ламер. Кто подскажет как создать сабж?
Листьев быть не должно(т.е. пустых мест не остается, кроме конца), Новый пользователь должно вставть в самый низ дерева,  с возможностью выбора ветки\\либо автоопределения по его желанию. Еще нужно выдирать оттуда родительский список.
Есть еще один вопросик - оффтопный, но не нашел на какую ветку впихнуть... Как содавать личные кабинеты? На чем? Или если есть скрипты - искал в инете ниче не нашел. Тырил чужие - ничего не понял =))
                 Заранее спасибо
Название: Двоичное дерево SQL
Отправлено: commander от 23 Ноября 2006, 16:11:37
Quarto
может сразу передашь свой проект другим людям и делу конец?
Название: Двоичное дерево SQL
Отправлено: Quarto от 23 Ноября 2006, 16:16:49
Нет, не передам. Была возможность сделать все бесплатно в веб студии, но... Никому не доверю и хочется самому научится. Если в лом обяснять - хоть на норм. документацию ссылки дайте - ибо документации огромное кол-во, а как нужно найти что конкретное - барада. Протсо тупо скопированные одни и теже статьи растиражированые на десятках ресурсов.
Название: Двоичное дерево SQL
Отправлено: brainkiller от 23 Ноября 2006, 17:58:52
Возьмите какую-нибудь книгу по базам данных, к примеру - "Понимание SQL" Мартина Грубера. Установите себе какую-нибудь СУБД, к примеру - mySQL. И научитесь, раз уж так решили.

Вы отказались "сделать все бесплатно в веб-студии", а теперь хотите, чтоб Вам все сделали бесплатно здесь. Увы, здесь могут лишь помочь советом по достаточно конкретным вопросам.

К слову о последних, пока что я согласен с commander. Вряд ли Вы вытянете такой проект своими силами. Если проект интересный и важный, передайте его кому-нибудь или хотя бы привлеките к нему компетентных людей.
Название: Двоичное дерево SQL
Отправлено: CGVictor от 23 Ноября 2006, 18:54:52
Quarto
Вопросы:
1. Зачем тебе понадобилось двоичное дерево?
2. Что в твоем понимании личный кабинет и чего ты от него хочешь?
Название: Двоичное дерево SQL
Отправлено: Quarto от 24 Ноября 2006, 01:08:54
1. Дерево нужно для того чтобы создать "иерархию" системы. Сначала админ - у него в "подчинении" 2 пользователя, у каждого из которых тоже 2 пользователя и тд.
2. Страничка на которой находится информация о пользователи, будь то "родители" из дерева, счет, статистика, т.е инфа о пользователе + интерфейс работы с системой (пара кнопок)
Название: Двоичное дерево SQL
Отправлено: CGVictor от 24 Ноября 2006, 10:58:28
Quarto
1. Ну и зачем тебе здесь бинарное дерево? Т.е., три пользователя от узла - не бывает?

2. Tasks rule the world. Смотрим, авторизован ли пользователь, если "да" - то показываем ему (цитата) родителей из дерева, счет, статистика, т.е инфа о пользователе + интерфейс работы с системой (конец цитаты)

Well, what goes?..
Название: Двоичное дерево SQL
Отправлено: Quarto от 24 Ноября 2006, 11:01:51
Трех не должно быть впринципе. Только 2.
Название: Двоичное дерево SQL
Отправлено: CGVictor от 24 Ноября 2006, 19:28:06
Quarto
Цитировать
Quarto:
Только 2

Немного нездоровое ограничение для твоей задачи, ты не находишь?
Название: Двоичное дерево SQL
Отправлено: Quarto от 25 Ноября 2006, 01:33:47
А откуда ты знаешь мою задачу если не секрет?
Название: Двоичное дерево SQL
Отправлено: CGVictor от 25 Ноября 2006, 22:47:47
Quarto
Цитировать
Quarto:
Дерево нужно для того чтобы создать "иерархию" системы. Сначала админ - у него в "подчинении" 2 пользователя, у каждого из которых тоже 2 пользователя и тд.

Бинарное дерево тебе может пригодиться только в одном случае: если тебе нужна супер-оптимизация. А я что-то пока не заметил описания задачи, где нужны мега-скорости и соотв. вычислительные мощности.

Поэтому предлагаю не париться и обойтись обычным одно/дву-связным списком.
Название: Двоичное дерево SQL
Отправлено: Quarto от 26 Ноября 2006, 01:49:42
1. Дерево нужно для того чтобы создать "иерархию" системы. Сначала админ - у него в "подчинении" 2 пользователя, у каждого из которых тоже 2 пользователя и тд. (с)

Так сложно понять для чего мне двоичное дерево?

Ладно, вижу не особо ты горишь желеание мне помочь, тогда хоть оцени идею...

Если создать таблицу - в одном столбце ID пользователя - в другом его вышестоящее звено, то реально ли сделать так чтоб при регистрации пользователя ему вы водились только те юзеры, у которых еще не два "подчиненных" и он момог выбрать одного из них и зарегистрироваться. Соответство он должен занестись в БД с присвоенным ID в одной графе и  с "начальником" в другом.

И еще. По БД я вроде как уже коечто нашел, буду потихонько сидеть разбираться, Но вот что обстоит с личными кабинетами? Тоесть пользователь авторицуется и попадает на страницу, где может видеть всех своих "родителей", "подчиненых" и др статистику?
Название: Двоичное дерево SQL
Отправлено: CGVictor от 26 Ноября 2006, 15:34:32
Quarto
Цитировать
Quarto:
Так сложно понять для чего мне двоичное дерево?

Да! Я до сих пор не могу понять, зачем тебе там двоичное дерево!

Личный кабинет: я ж вроде написал, с чего начинать копать.
Страница, которая отображает нужные данные, доступная только при некоторых условиях - например, успешной авторизации.
В чем конкретно вопрос?
Название: Двоичное дерево SQL
Отправлено: Quarto от 26 Ноября 2006, 15:38:00
Мб я неправильно понимаю термин двоичного дерева, но мне нужно чтоб от каждого звена отходило лишь две ветки. В этом вся суть, ибо задача, стоящая передо мной, основывается на данном принципе. 1-2-4-8-16 и т.д.

Проблема в том что с программирование у меня туго и поэтому я и спрашиваю чем лучше с вашей точки зрения и как реальзовать "личный кабинет", а лучше ссылку на исходники
Название: Двоичное дерево SQL
Отправлено: CGVictor от 26 Ноября 2006, 17:08:08
Quarto
Так бы и сразу.
По моему скромному - лучше обойтись обычным "parent", и для узла хранить количество его потомков. Проверять, обновлять и искать  - логикой в коде.

ЛК: в чем проблема? В авторизации или выводе данных? Или во всем вместе??
Название: Двоичное дерево SQL
Отправлено: Quarto от 26 Ноября 2006, 17:09:07
Во всем вместе
Название: Двоичное дерево SQL
Отправлено: CGVictor от 26 Ноября 2006, 17:17:43
Quarto
Эх..
Тогда, задача выглядит вот так:
1. Опознать пользователя (authenticate)
2. Определить полномочия (authorize)
3. Выдать страницу

Первые две решаются скриптами авторизации, коих великое множество (google; можно и тут по форуму поискать). В общем случае - читать по сессии.
Третья - в зависимости от реализованной логики.