SQL Server (или C#, NOSQL, SQLITE), присваивая мастер -ключ многим связанным объектамC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 SQL Server (или C#, NOSQL, SQLITE), присваивая мастер -ключ многим связанным объектам

Сообщение Anonymous »

У меня есть таблица ключей связанных сущностей.
Например, у меня есть следующие отношения в моей таблице отношений: < /p>



entitykey1 < /th>

entitykey1 < /br />
entitykey1 < /br />
entity /> < /thead>


a < /td>
x < /td>
< /tr>

b < /td>
l < /td>
< /tr>

l < /td>

/> e < /td>
x < /td>
< /tr>

e < /td>
g < /td>
< /tr>

x < /td>
< /tr>

x < /td> /> < /tr>

x < /td>
o < /td>
< /tr>

y < /td>
l < /td>
< /tr>
< /tbody> l < /td>
< /tr>
< /tbody>
< /td> < /td>
< /tr>
< /tbody>
/> Если одна сущность связана с другой, она входит в эту таблицу.
Если одна сущность связана со вторым, а второе связано с третьей, то все три связаны.
Другими словами, это своего рода сеть отношений.
может быть какое -либо число отношений в группе. сущности. < /strong> < /p>
Проблема, которая у меня есть, заключается в том, что у меня есть так много этих отношений (близко к миллиарду и быстро растущему). Я не могу найти достойный способ выполнения, чтобы назначить мастер -ключ ко всем членам группы. < /p>
Таким образом, A связан с x, e, o, z
b, связан с L, y < /p> . need to have the following in a master key table, or as a third column in my relationship table above:
So either a second table:



MasterKey
EntityKey
< /tr>
< /thead>


1 < /td>
a < /td>
< /tr>

1 < /td>
x
< /td>
x
< /td>
x
< /td>
x
< /td>
x 1 < /td>
e < /td>
< /tr>

1 < /td>
g < /td>
< /tr>

1 < /td>
< /tr>

1 />

1
Z


2
B


2
l < /td>
< /tr>

2 < /td>
y < /td>
< /tr>
< /tbody>
< /table> < /div>
или как третий столбец в основной таблице: < /p div>
или как третий столбец в основной таблице. class = "s-table-container">


Masterkey < /th>
EntityKey1 < /th>
entityKey2 < /th>
< /tr>



< /tr>



< /tr>


< /tr>


< /tr>
1 < /td>
a < /td>
x < /td>
< /tr>

2 < /td>
b < /td>
l < /td>
< /td>

/> 1 < /td>
e < /td>
x < /td>
< /tr>

1 < /td>
e < /td>
g < /td>
< /td>


/> 1 < /td>
x < /td>
z < /td>
< /tr>

1 < /td>
x < /td>
o < /td>
< /td>

/> 2
y
l



Не уверен, что мне нравится третий столбец, потому что для получения отношения B -n -nempt a tom, потому что для меня требуется вывод, чтобы я не уверен. /> Я пробовал различные формы курсоров и рекурсивных CTE (рекурсивные CTE не являются одной из моих сильных сторон), чтобы решить эту проблему.
, но при работе с почти миллиардами отношений я просто не могу придумать запрос, который работает. Однако я вообще не обязан использовать SQL Server. Я мог бы так же легко поместить это в базу данных NOSQL, чтобы просто добавить каждую связанную сущность в документ, который ключ Mater (у меня буквально нет опыта работы с NOSQL, но я готов учиться). Или я мог бы создать многопоточное приложение в C#, которое запускает несколько циклов группировки параллельно и работает против SQL Server, NoSQL или SQLite или ...? Там, где количество строк, которые необходимо сгруппировать во время группировки, будет значительно уменьшено после каждого последующего прогона. Но я не уверен, что меняет алгоритм.

Подробнее здесь: https://stackoverflow.com/questions/795 ... ted-entiti
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»