Вопрос №55468 от пользователя Daniyar Zhanakhmetov в уроке «Онтология», курс «Основы реляционных баз данных»
Картинка из теории "https://ibb.co/K6tKcBD"
proffesions и courses имеют связь m2m, связующая таблица proffesions _items. Не могу понять что именно представляет собой proffesion_items.
Я понимаю, что одна профессия может содержать много курсов, но и курс может содержаться как минимум в 2 профессиях. Список профессий в одной таблице, список курсов в другой. Но что из себя представляет сущность proffesion_items или это не сущность, а просто связующая таблица?
proffesions
id | name | language
--------------------------------------
1 | Фронтенд-прогр-т | JS
2 | Бэк-енд прогр-т | Python
courses
id | name
------------------
1 | Функции
2 | Массивы
3 | Объекты
4 | БД
5 | СУБД
6 | Онтология
proffesions_items
id | course_id | proffesion_id
-------------------------------
1 | 1 | 1
2 | 2 | 1
3 | 2 | 2
4 | 3 | 1
5 | 3 | 2
6 | 4 | 2
7 | 5 | 1
8 | 6 | 1
9 | 6 | 2
Да, вы правы. Между профессией и курсом связь многие-ко-многим. Одна профессия содержит много курсов, в то же время и курс может содержаться в нескольких профессиях. Чтобы выразить эту связь, как раз и вводится связующая таблица proffesions _items. Посмотрите на 2 и 3 строку сверху. Курс с id равным 2 (это курс Массивы) содержится в двух профессиях с id 1 и 2. И в то же время в профессии 1 содержатся курсы 1, 2, 3, 5, 6. Вот она и связь многие-ко-многим.
Максим Литвинов, т.е. это просто связующая таблица, не представляющая собой сущность?
Просто в теории есть связующая таблица courses_members и она как раз являются сущностью, потому что означает участников курса. А тут я так понимаю просто она выступает в качестве связующей таблицы?
Да, таблица course_members может перерасти в самостоятельную сущность, так как в ней может появиться дополнительная информация:
Если брать курсы, то важно понимать, закончил ли пользователь курс или нет, хочется знать, когда конкретно он это сделал, сколько заданий решил и так далее. Вся эта информация может храниться только в одном месте, именно в той связанной таблице.
Таблица proffesions _items же просто выражает связь между таблицами профессий и курсов.
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







