布线数据库的数据库模式

时间:2013-08-20 17:56:04

标签: sql design-patterns database-design

我目前正在为我的工作开发一个信号数据库。该数据库的目的是跟踪与我们的计算机处理系统接口(输入或输出)的所有信号。这些信号或者是硬连线模拟信号(例如4-20mA),或者它们可以是数字信号(即以太网)。我们还希望将信号链接到它们从开始到结束点流经的所有组件。这将允许我们对X线缆损坏时我们将丢失的信号进行故障分析。

我想出了一个基本方案,它允许我通过抽象表来捕获单个信号流路径,以继承我称之为物理表的方法。物理表表示物理对象(即组件,insntrumentation,连接器)的所有内容,并使此表存储Paths表中已绑定的Path-1的ID。然而,当我开始分配流过单根电缆的多条路径时,这会变得复杂。使用干线电缆(多个线对)我认为它很容易,因为我可以添加一个线对表来存储路径的ID,但是我无法使用可能有数千个信号运行的数字总线电缆在同一股。

最好的结构方法是什么,以便我可以查询信号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)

信号流路径是一个多信号流序列。接口点存储源和目标材料之间的连接。物理是一个通用表,它允许我表示连接到我们的线束的任何东西,无论材料类型如何。我知道Interface Points表和Signal Flor Path Sequence表是相似的。我想我可以查询信号流路径,只是为了获得不需要递归查询的材料,因为流路径预先加载到信号流路径序列表中。如果我真的想知道它们彼此连接的顺序,我会根据接口点表查询结果。

这看起来是一个很好的进步吗?

1 个答案:

答案 0 :(得分: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)