3

私は現在、自分の仕事のための信号データベースを開発しています。このデータベースの目的は、コンピューター処理システムに接続されているすべての信号 (入力または出力) を追跡することです。これらの信号は、ハードワイヤードのアナログ信号 (例: 4 ~ 20mA) またはデジタル信号 (例: イーサネット) のいずれかです。また、始点から終点まで信号が通過するすべてのコンポーネントに信号をリンクしたいと考えています。これにより、X ケーブルが損傷した場合に失われる信号について、障害分析を行うことができます。

テーブルを抽象化して物理テーブルと呼ぶものを継承することで、単一のシグナル フロー パスをキャプチャできるようにする基本的なスキームを考え出しました。物理テーブルは、物理オブジェクト (つまり、コンポーネント、計装、コネクタ) であるすべてを表し、このテーブルには、パス テーブルで割り当てられたパス 1 の ID が格納されます。ただし、1 本のケーブルを流れる複数のパスを割り当て始めると、これは複雑になります。トランク ケーブル (複数のワイヤ ペア) を使用すると、パスの ID を格納するためにワイヤ ペア テーブルを追加できるので簡単だと思いますが、何千もの信号が実行される可能性のあるデジタル バス ケーブルではこれを行うことができません。同じストランドの上。

Signal X に対してクエリを実行すると、信号が通過するすべてのコンポーネント、ケーブル、コネクタなどをデータベースが教えてくれるように、これを構造化する最善の方法は何でしょうか?

職場のコンピューターからアイデアの画像をアップロードできません。

編集:さらに情報を追加する

私はもう少し読んでいますが、SQLスタイルのデータベースにグラフを保存する機能が必要なようです。今、私が自由に使えるのは MS Access だけです (からかわないでください)。最短経路を見つけるためにグラフをトラバースする必要はありません。信号が流れるすべてのコンポーネントを含むグラフを保存したいだけです。信号経路は、私たちが職場で作成する他の設計ドキュメントに基づいて認識されます。MS Access などのリレーショナル データベースに静的な事前作成パスを使用してグラフ構造を保存することは可能ですか。これは全体的に複雑でプロセッサが重い可能性があることを知っているので、これをどのように実現できるかについての提案をお待ちしています.

PS 私は会社の比較的新しいエンジニアであり、大学での自由時間に Web サイトを作成するデータベースと 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)

シグナル フロー パスは、シグナル フロー シーケンスを使用した 1 対多です。インターフェイス ポイントには、ソース マテリアルと宛先マテリアルの間の接続が格納されます。Physical は、材料の種類に関係なく、ハーネスに接続するものを表すことができる一般的なテーブルです。Interface Points テーブルと Signal Flor Path Sequence テーブルが似ていることはわかっています。シグナル フロー パスはシグナル フロー パス シーケンス テーブルに事前に読み込まれているため、再帰的なクエリを実行することなく、シグナル フロー パスに対してクエリを実行してマテリアルを取得できることがわかりました。それらが相互に接続する順序を本当に知りたい場合は、インターフェイス ポイント テーブルに対して結果をクエリします。

これは良い前進のように思えますか?

4

1 に答える 1

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)
于 2013-08-21T20:28:50.880 に答える