【发布时间】:2020-07-22 13:46:58
【问题描述】:
我有一个关于数据库关系的问题
我正在尝试建立一个具有以下规则的监控系统:
-
Channels属于一个Sensor -
Sensors属于一个Device -
Devices属于一个Probe -
Probes属于一个Core
这是表格的预览
+-------------+ +-------------+
| Cores | | Probes |
+-------------+ +-------------+
| id | | id |
| fields ... | | fields ... |
+-------------+ | core_id |
+-------------+
+-------------+ +-------------+ +-------------+
| Devices | | Sensors | | Channels |
+-------------+ +-------------+ +-------------+
| id | | id | | id |
| fields ... | | fields ... | | fields ... |
| probe_id | | device_id | | sensor_id |
+-------------+ +-------------+ +-------------+
现在要获取特定channel 的core_id 或core 的channels 的完整列表,我需要加入所有五个表。
我的问题是,最好像下面的示例那样将所有表链接在一起,否则这是一个糟糕的数据库设计。
- 核心(ID、字段...)
- 探针(id、字段...、core_id)
- 设备(id、字段...、core_id、probe_id)
- 传感器(id、字段...、core_id、probe_id、device_id)
- 频道(id、字段...、core_id、probe_id、device_id、sensor_id)
【问题讨论】:
标签: database database-design foreign-keys relational-database relationship