Как спроектировать реляционную базу данных, в которой есть точки данных (значение и временная метка) для разных уникальных идентификаторов? - PullRequest
0 голосов
/ 17 января 2019

База данных должна содержать информацию о различных экземплярах виртуальных машин. Каждая виртуальная машина имеет уникальный идентификатор, пользователя и тег «работает». Кроме того, для каждого идентификатора есть список точек данных для загрузки ЦП за последний час.

Я думал о создании двух таблиц:

  1. Экземпляры (ID, пользователь, isRunning)

  2. Точки данных (идентификатор, значение, метка времени)

Таблица 2 будет выглядеть так:

+-----+-------+-----------+
| ID  | Value | Timestamp |
+-----+-------+-----------+
| ID1 |     . |         . |
| ID1 |     . |         . |
| ID1 |     . |         . |
| ID2 |     . |         . |
| ID2 |     . |         . |
| ID2 |     . |         . |
+-----+-------+-----------+

Уникальные идентификаторы должны будут повторяться в таблице для количества точек данных, связанных с ним. Мне было интересно, будет ли этот дизайн работать?

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Дизайн будет работать со следующими datapoints модификациями таблицы:

  • определить первичный ключ как (ID, метка времени)
  • добавить ограничение внешнего ключа (datapoints.ID -> instances.ID)

Другие опции:

  • добавить номер элемента данных, например item_num, чтобы первичный ключ был (ID, item_num)
  • добавить datapoint_id столбец в качестве первичного ключа и сделать (ID, метку времени) уникальным
0 голосов
/ 18 января 2019

в вашей таблице точек данных вам может понадобиться 4 столбца. идентификатор будет представлять собой ForeignKey, связанный с вашей таблицей экземпляров.

Поэтому вам нужно добавить datapointID, чтобы иметь уникальный идентификатор для datapoint

Rgds

...