小编puk*_*puk的帖子

如何在 Postgres 中对网络等复杂系统进行建模

我需要对涉及交换机(24 端口、48 端口、POE 以及这些的组合)和边缘设备(计算机、IP 摄像机、电话)的网络建模的帮助。从面向对象的角度来看,我可以在睡梦中用 C++ 编写代码。例如,交换机将继承自TwentyFourSwitch,如果它们有 POE,则来自POESwitch,那么在每个类中我将创建 24 个EthernetPort实例,每个实例都有一个连接功能,确保不会将以太网端口连接到 SFP 端口,或非 POE 端口到 POE 设备等。

使用 RDBMS,我们不断遇到问题。首先,我们组织了一切以最小化数据冗余。这是我们将要做的示例(为了保持代码简短,我使用了 2 和 4 端口交换机而不是 24 和 48)。

CREATE TABLE MACAddress{
   id SERIAL INT PRIMARY KEY,
   mac1 INT,
   mac2 INT,
   mac3 INT,
   mac4 INT,
   mac5 INT,
   mac6 INT,
   UNIQUE(mac1,mac2,mac3,mac4,mac5,mac6)
);

CREATE TABLE IPAddress{
   id SERIAL INT PRIMARY KEY,
   ip1 INT,
   ip2 INT,
   ip3 INT,
   ip4 INT,
   UNIQUE (ip1,ip2,ip3,ip4)
);

CREATE TABLE NetworkDevice{
   id SERIAL INT PRIMARY KEY, …
Run Code Online (Sandbox Code Playgroud)

rdbms postgresql database-design

5
推荐指数
1
解决办法
1032
查看次数

标签 统计

database-design ×1

postgresql ×1

rdbms ×1