2013-08-20 41 views
3

我目前正在爲我的工作開發一個信號數據庫。該數據庫的目的是跟蹤所有連接到計算機處理系統的輸入或輸出信號。這些信號是硬連線的模擬信號(例如4-20mA),或者它們可以是數字信號(即以太網)。我們也希望將信號連接到它們流經的所有組件,從開始到結束點。這將使我們能夠對X電纜損壞時會丟失什麼信號做出失敗分析。佈線數據庫的數據庫方案

我想出了一個基本的方案,它允許我通過抽象表來繼承我稱之爲物理表的一個信號流路徑。物理表代表作爲物理對象(即組件,工具,連接器)的所有內容,並使該表存儲路徑表中分配的Path-1的ID。然而,當我開始分配流過singel電纜的多條路徑時,這變得很複雜。對於中繼電纜(多個線對),我認爲這很容易,因爲我可以添加一個線對錶來存儲路徑的ID,但是我不能用數字總線電纜來做到這一點,數字總線電纜可能會有數千個信號在運行在同一股。

什麼是最好的方式來構造這個,以便我可以查詢Signal X和數據庫會告訴我信號流經的所有組件,電纜,連接器等?

對不起,我無法從我的工作計算機上傳我的想法的圖像。

編輯:添加更多的信息

我一直在做一些更多的閱讀,它看起來像什麼,我需要的是保存在SQL數據庫風格的圖形的能力。現在我所擁有的全部都是MS Access(別開玩笑)。我不需要遍歷圖找到最短路徑。我只想保存帶有信號流過的所有組件的圖形。信號路徑將基於我們在工作中生成的其他設計文件而知曉。是否有可能在MS Access等關係數據庫中使用靜態預製路徑保存圖結構。我知道這可能會很複雜,處理器也很重,所以我很樂意提出如何解決這個問題。

P.S.我是我公司的一名相對較新的工程師,在大學的空閒時間創建網站時確實擁有數據庫和SQL經驗。我可能不是專家,但我知道我可以建立數據庫。

編輯#2 - 感謝@Randy給我一個出發點。想出了一個基本的設計

Physical (Base Class Table) 
----------------------------------- 
    ID_Phys (PK) 
    (Other Generic Info) 

Component (Inherits Physical) 
----------------------------------- 
    ID_Comp (PK/Index #) 
    ID_Phys (FK) 
    Max Terminals 
    Is Junction Box (Yes/No) 
    (Other Info) 

Cable (Inherits Physical) 
----------------------------------- 
    ID_Cable (PK/Index #) 
    ID_Phys (FK) 
    Harness Cable Number 
    Cable Type 
    (Other Info) 

Connector (Inherits Physical) 
----------------------------------- 
    ID_Conn (PK/Index #) 
    ID_Phys (FK) 
    Connector Number 
    Connector Type 
    # of Pins 
    (Other Info) 

Instrument (Inherits Physical) 
----------------------------------- 
    ID_Inst (PK/Index #) 
    ID_Phys (FK) 
    Instrument Number 
    Signal Type 
    (Other Info) 

Interface Points 
----------------------------------- 
    ID_InterPts (PK/Index #) 
    ID_Phys_Origin (FK-Physical) 
    ID_Phys_Destination (FK-Physical) 

Signal Flow Path Sequence 
----------------------------------- 
    ID_PathSeq (PK/Index #) 
    ID_FlowPath (FKl) 
    ID_Phys (FK-Physical) 
    Squence # (1,2,3,4,etc) 

Signal Flow Path 
----------------------------------- 
    ID_FlowPath (PK/Index #) 
    (Other Info) 

信號流路徑是一個一對多的信號流序列。接口點存儲源和目標材料之間的連接。物理是一個通用表格,它允許我表示任何與我們的線束連接的任何物體,而不考慮材料類型。我知道接口點表和Signal Flor路徑序列表是相似的。我想我可以根據信號流路徑進行查詢,以便無需遞歸查詢就可以得到材料,因爲流路徑預加載在「信號流路徑序列」表中。如果我真的想知道它們相互連接的順序,我會根據接口點表查詢結果。

這似乎是一個很好的進步嗎?

+0

你可能需要考慮一下你將如何界定和解決不同類型的信號之間的路由差異。你如何選擇這個方法,將在很大程度上決定如何最好地解決你在上面提出的問題。 – RBarryYoung

+0

您可能需要自引用表和鏈接表(聯結表)需要遞歸查詢才能檢索「分解物料清單」類型的查詢,這些查詢需要檢索特定信號上存在的設備路徑。這對於數據庫建模的新手來說將是一件難事。 – wildplasser

回答

0

也許這將幫助:

node 
----------- 
node_id 
node_type 
name 

data_packet 
------------ 
data_packet_id 
data_packet_type 
(other info) 

data_flow 
------------ 
producer_node_id 
consumer_node_id 
data_packet_id 
(other info) 
+0

謝謝,讓我開始。檢查我的編輯 – Talguy