Как хранить данные мастер-таблицы - PullRequest
0 голосов
/ 15 мая 2019

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

Например, таблица списка курсов на 2018 год

table_course

id  name
1   Maths
2   Science

таблица с перечнем курсов на 2019 год

id  name
1   Social
2   Language

что мы разработали

id  name     year
1   Maths    2018
2   Science  2018
3   Social   2018
4   Language 2018

Как лучше спроектировать эту таблицу.

1 Ответ

1 голос
/ 15 мая 2019

Это зависит от того, чего вы хотите достичь. Но из деталей вашего вопроса я могу предположить, что вам нужна таблица, содержащая все разные курсы.

курсы

+-----------+---------+
| COURSE_ID |  NAME   |
+-----------+---------+
|         1 | Math    |
|         2 | Science |
+-----------+---------+

И таблица журнала истории

courses_years

+-----------+------+
| COURSE_ID | YEAR |
+-----------+------+
|         1 | 2018 |
|         1 | 2019 |
|         2 | 2019 |
+-----------+------+

Первая таблица - это главная таблица со всеми атомарными объектами. У вас есть первичный ключ, основанный на автоматическом увеличении номера (что сомнительно, но для другого вопроса) и уникальном ограничении имени.

Вторая таблица - это просто таблица журнала истории ваших курсов. У вас есть внешний ключ, указывающий на course_id , и первичный ключ, основанный на двух столбцах.

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