2009-10-30 45 views
0

這是我想要實現的。我有一個集合(A..n)和一個類型集合(myLIST)的成員。在集合B中,我有一個可以表示爲主鍵的「別名」字段。如何在類結構中實現主鍵和外鍵?

例如

A collection myLIST[0].Alias = 001 
A collection myLIST[1].Alias = 002 
A collection myLIST[2].Alias = 003 
A collection myLIST[3].Alias = 001 

在另一集合B.我的構件類型集合(MYLIST)具有以下數據

B collection myLIST[0].Alias = 010 
B collection myLIST[1].Alias = 001 
B collection myLIST[2].Alias = 005 

32,我想MYLIST具有基準(如類引用)到其它使用相同的別名鍵集合(A..n)myLIST。如果我更改A collection myLIST[0].Alias = 001的任何公共屬性值,則更改將傳播到其他具有「001」(作爲參考)的別名的myLIST集合中。與我上面的示例,對公共財產的更改將傳播到

A collection myLIST[3].Alias = 001 
B collection myLIST[1].Alias = 001 

任何人都可以幫助我嗎?

謝謝

+0

哪種編程語言?尋找字典 – Amirshk 2009-10-30 15:26:54

回答

0

鑰匙是黑客。

關係數據庫必須使用鍵,因爲對錶內行的位置有限制。它不能使用直接引用,因爲在適當的關係數據庫中不可能存在這樣的引用。

對象可以包含對另一個對象的直接引用,而不訴諸於鍵或鍵查找或任何這樣的愚蠢。

0

我不清楚你的物體之間的關係是什麼。 +1來識別您正在使用的語言。不要從收藏角度思考,而是想象物體是如何相關的。例如:

  1. 如果每個A與0相關聯,...,N B的,則A具有B的, 的集合,並且每個B具有直接引用 一個A(B具有多到與A的關係爲 )。
  2. 如果A可以與0 ... n B相關聯,並且B可以與 0 ... m A相關聯,則A具有B的集合,並且B具有 A的集合。這是A和B之間的多對多關係。在 這種情況下,您可能需要創建一個 連接實體AB以表示多對多關係。

不要存儲相同A的多個副本,或者如果您可以理清對象圖以使用直接引用,則可以使用別名來查找。根據您使用的語言和數據源,您可能會發現像Hibernate或LINQ這樣的工具很有幫助。

希望這會有所幫助!