Как реализовать понятие активов в PostgreSQL? - PullRequest
0 голосов
/ 26 февраля 2019

В настоящее время я создаю базу данных для различных датчиков, и теперь мне нужно создать активы.Под активом я подразумеваю группу датчиков, например, в комнате или группу датчиков того же типа.

Дело в том, что 1 датчик может быть в активе A (машина 1) и активе B (машина 2),Мы можем считать его датчиком температуры в комнате, в которой находятся 2 машины.

Что я хочу сделать, так это связать этот датчик с двумя активами, и я действительно не вижу, как это сделать, ивот где мне нужна помощь.

В моей базе данных я могу дать Asset_ID, и, перейдя в Asset_Table, я могу связать свой датчик с ОДНОЙ машиной, используя Asset_ID.

Итак,Как я могу связать датчик с 2 Asset_ID, чтобы он был связан с 2 машинами в моей базе данных

Надеюсь, это немного понятно!

  • Дейв

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Я думаю, что отношение «многие ко многим» лучше всего выражается как

CREATE TABLE assetmachines (
    asset_id integer references assets (asset_id),
    machine_id integer references machines (machine_id),
    PRIMARY KEY (asset_id, machine_id)
);
0 голосов
/ 26 февраля 2019

Вы хотите AssetMachines таблицу:

create table AssetMachines (
    AssetMachine_Id serial primary key,
    Asset_Id int references assets(asset_id),
    Machine_Id int references machines(machine_id),
    . . .  -- more columns can go here
);
...