Вы расширили вложенные наборы для иерархического моделирования данных, включающего несколько родительских узлов для дочернего узла? Каковы Ваши события?

Вы должны заключить user в [], в противном случае он обрабатывается как вызов функции:

select asuers.[user]
from (select distinct [user] from test where product = 'a') ausers
  cross apply (select distinct [user] from test) busers
5
задан Paŭlo Ebermann 21 August 2011 в 20:38
поделиться

2 ответа

Поскольку вы, вероятно, будете использовать хранимые процедуры для некоторых операций, убедитесь, что они действительно работают достаточно хорошо для ваших нужд! По моему опыту, это может быть проблемой, если вы используете MySQL.

Относительно нового требования (множественные родители): теперь вы используете гораздо более проблемные вещи при использовании СУБД, в зависимости от того, какие запросы вам нужно выполнять данные. Я сравнил подход RDBMS с использованием базы данных графов на на этой вики-странице . Если вас интересует только подход RDBMS, взгляните на Модель для представления направленных ациклических графов (DAG) в базах данных SQL .

3
ответ дан 14 December 2019 в 09:00
поделиться

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

Если вы все еще хотите пойти туда, я бы назвал это сетевой структурой узлов. Вот ссылка .

4
ответ дан 14 December 2019 в 09:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: