Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Древовидная структура поля 
:(
    Опции темы
Ronin08
Дата 21.2.2009, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 16.2.2008
Где: г.Москва

Репутация: нет
Всего: 1



Доброго времени суток!
Наверное не совсем корректное название темы, но суть вот в чем:
Имеется таблица "Расходы" в ней поле "Статья расхода".
Это поле должно содержать древовидную структуру,
Например:

-Продукты
     -Мясо
     -Фрукты
-Одежда
      -Зимняя
          -Классика
          -Спортивная
      -Летняя

         и т.д.

И когда пользователь смотрит свои расходы то видел всю цепочу вывода (например, Одежда-> Зимняя ->Классика или Продукты->Мясо)
Проблема в том, что для каждого пользователя уровень вложенности "Статья расхода" будет разный.
Как это лучше организовать?              

       

Это сообщение отредактировал(а) Ronin08 - 21.2.2009, 23:26
--------------------
Зачем вставать рано или поздно? Надо вставать вовремя
PM MAIL   Вверх
boevik
Дата 21.2.2009, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 15
Всего: 35



Навскидку, структура таблицы для дерева:
Код

CREATE TABLE [dbo].[auto] (
 [id] [int] NOT NULL ,
 [ParentID] [int] NOT NULL ,
 [UserID] [int] 
) 
ON [PRIMARY]

есть также таблица категорий и пользователей.


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
FINANSIST
Дата 23.2.2009, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Статус: Жив
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 11.4.2008
Где: Москва

Репутация: 1
Всего: 23



Судя по информации автора топика товарная номенклатура  достаточно разнородная т.е. аналитика ОДНИХ И ТЕХ ЖЕ уровней для РАЗНЫХ категорий товаров имеют разную характеристику. 
Например 2 уровень вложенности ПРОДУКТЫ раскрывает аналитику по видам продукции, а  абсолютно тот же 2 уровень для одежды уже представляет сезонную детализацию
Что бы решить проблему, стоит  определиться с максимально возможным количеством вложенных аналитик (то есть ветвей "Статья расхода").
Допустим, максимальное количество вложенности - 10 уровней.
Учитывая разрозненность смысловой нагрузки одних и тех же уровней аналитик для разных SKU, предлагаю ввести некую унификацию, т.е.  назвать данные аналитики как "субконто1","субконто2"...субконто10.(по аналогии с 1С) 
ФРАГМЕНТ таблицы

SKU           |  субконто1 | субконто2| субконто3              | субконто n|
-----------------------------------------------------------------------------------------------------------------------------------------------------------
тушёнка   |Продукты    | Консервы  | .......................................................
Шапка      |Одежда       | Зимняя      |Классика                 |
------------------------------------------------------------------------------------------------------------------------------------------------------------
Чтобы систематизировать кажущийся хаос в содержательной части одних и тех же уровней разных SKU, я например в подобной ситуации вводил некий "справочник субконто", т.е. таблицу , где для каждого товарного SKU прописана характеристика аттрибутивных группировок субконто, которые присущи данным SKU.
То есть:
Субконто1 | Тип субконто1                                       |Тип субконто2                                    |Тип субконто3              |....Тип субконто n|
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Продукты   |Детализация по товарным категориям| Детализация по группам продуктов| .......................................................
Одежда     |Детализация по товарным категориям| Детализация по сезонам                  |Детализация по стилю |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
естественно эти таблицы должны быть связаны.
В результате получишь для всех своих SKU динамически изменяемый набор характеристик + структуру базы, непротиворечущую нормализации


Это сообщение отредактировал(а) FINANSIST - 23.2.2009, 19:14


--------------------
“...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности”
Эдуард Успенский, “Каникулы в Простоквашино”
PM MAIL ICQ   Вверх
Ronin08
Дата 24.2.2009, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 16.2.2008
Где: г.Москва

Репутация: нет
Всего: 1



Спасибо, помог, держи "+" smile 
--------------------
Зачем вставать рано или поздно? Надо вставать вовремя
PM MAIL   Вверх
Deniz
Дата 25.2.2009, 07:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 1
Всего: 44



Ronin08, а почему не использовать нормальное дерево?
IDTree, IDParent, Name, ... - справочник для твоей структуры.
IDUser, IDTree, ... - кто что купил
Цепочку по IDTree вверх к родителю собрать не проблема.
В этом варианте нет ограничения по вложенности и более компактная структура хранения, но несколько усложнятся SQL-запросы.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0422 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.