Дизайн базы данных для связывания строк таблицы в наборе - PullRequest
0 голосов
/ 05 октября 2018

У меня есть таблица ModelParameters (показанная ниже), которая содержит информацию о параметрах статистической модели другой таблицы (здесь не показана).

Цель: Я хочу найти способ связать набор параметров.т.е. я хочу связать идентификаторы (1,2,3), (4,5), (6,7,8,9,10,11), (12,13,14), (15,16,17),(18,19,20,21,22), так что я могу получить эти пять строк в виде набора, чтобы делать прогнозы, используя этот конкретный набор параметров.

Вопрос: Какой оптимальный метод для этого?Новая таблица, новый столбец, новое отношение «многие ко многим»?

id | model_name | par_type | par_value | Active |Analysis ID (FK) 
___|____________|__________|___________|________|________________
1  | A          | alpha    | 12        | True   | 1  
2  | A          | beta     | 2.2       | True   | 1
3  | A          | aic      | 1.1       | True   | 1
4  | B          | beta     | 0         | False  | 2
5  | B          | gamma    | 9.99      | False  | 2
6  | C          | beta     | 12.2      | True   | 3
7  | C          | chi      | 33        | True   | 3
8  | C          | gamma    | -0.1      | True   | 3
9  | C          | aic      | 10000     | True   | 3
10 | C          | rho      | 20706     | True   | 3
11 | C          | t        | 21        | True   | 3
12 | D          | beta_0   | -1.2      | True   | 2
13 | D          | beta_1   | 1.2       | True   | 2
14 | D          | beta_2   | 0.5       | True   | 2
15 | A          | alpha    | 0         | True   | 1
16 | A          | beta     | -2        | True   | 1
17 | A          | aic      | 3.4       | True   | 1
18 | D          | beta_0   | 8.9       | True   | 2
19 | D          | beta_1   | 0.2       | True   | 2
20 | D          | beta_2   | 0.9       | True   | 2
21 | D          | beta_3   | 2.4       | True   | 2
22 | D          | beta_4   | -0.9      | True   | 2

Подробнее:

  • Существует конечное число model_name с.
MODEL_NAMES = (
    ("A", "Model Description for Model A"),
    ("B", "Model Description for Model B"),
    ("C", "Model Description for Model C"),
    ("D", "Model Description for Model D"),
)
  • У каждой модели обычно есть определенный набор параметров.Но, например, Model_D может иметь два параметра (beta_0, beta_1) или много (beta_0, beta_1, ..., beta_n).

Я хочу получить параметры модели, скажем, Analysis_ID = 2, где active = True, но получить только последние 5 строк выше (id = 18, .., 22), а не другой активный набор параметров (то есть id = 12, 13,14).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...