我目前正在为我的工作开发一个信号数据库。该数据库的目的是跟踪与我们的计算机处理系统接口(输入或输出)的所有信号。这些信号要么是硬连线模拟信号(例如 4-20mA),要么是数字信号(例如以太网)。我们还希望将信号链接到它们流经的所有组件,从起点到终点。这将使我们能够对 X 电缆损坏时丢失的信号进行故障分析。
我想出了一个基本方案,它允许我通过抽象我的表以继承我所谓的物理表来捕获单个信号流路径。物理表表示作为物理对象的所有内容(即组件、仪器、连接器),并让此表存储路径表中分配的路径 1 的 ID。但是,当我开始分配流经单根电缆的多条路径时,这会变得复杂。使用主干电缆(多对线)我认为这很容易,因为我可以添加一个线对表来存储路径的 ID,但是我不能使用可以运行数千个信号的数字总线电缆来做到这一点在同一股线上。
构建此结构的最佳方法是什么,以便我可以查询 Signal X,并且数据库会告诉我信号流经的所有组件、电缆、连接器等?
抱歉,我无法从我的工作计算机上传我的想法的图像。
编辑:添加更多信息
我一直在做更多的阅读,看起来我需要的是能够将图形保存在 SQL 样式数据库中。现在我可以使用的只有 MS Access(不要开玩笑)。我不需要遍历图来找到最短路径。我只想保存带有信号流过的所有组件的图表。信号路径将根据我们在工作中生成的其他设计文档而获知。是否可以在 MS Access 等关系数据库中保存具有静态预制路径的图形结构。我知道这可能总体上很复杂并且处理器很重,所以我愿意就如何解决这个问题提出建议。
PS 我是我公司的一名相对较新的工程师,在大学空闲时间创建网站时确实拥有数据库和 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)
信号流路径是带有信号流序列的一对多。接口点存储源和目标材料之间的连接。Physical 是一个通用表,它允许我表示任何连接到我们的线束的东西,而不管材料类型如何。我知道 Interface Points 表和 Signal Flor Path Sequence 表是相似的。我想我可以查询信号流路径只是为了获取材料而不必递归查询,因为流路径预加载在信号流路径序列表中。如果我真的想知道它们相互连接的顺序,我会根据接口点表查询结果。
这似乎是向前迈出的一大步吗?