Я изучаю моделирование данных в базе данных SQL (я использую MySQL), и меня что-то смущает. (Что-то, вероятно, простое.)
Скажем, мои данные выглядят так, как показано ниже ...
"STUDENT" TABLE
ID | FNAME | LNAME | MAJOR_ID (a department)
-----------------------------
01 | John | Smith | 55
02 | Betty | Jones | 56
03 | David | Lee | 55
"DEPARTMENT" TABLE
ID | DEPT_NAME
----------------------
54 | CompSci
55 | Math
56 | History
"CLASS" TABLE
ID | NAME | DEPARTMENT_ID
-------------------------
80 | History of WW2 | 56
81 | Algorithms | 54
82 | Calculus | 55
83 | Geometry | 55
"STUDENTS_TO_CLASSES" TABLE
CLASS_ID | STUDENT_ID
---------------------
80 | 02
81 | 01
81 | 03
У СТУДЕНТА есть МНОГИЕ С ОДНЫМ с ОТДЕЛОМ (их «Основные»). Многие студенты могут иметь одну и ту же специальность.
В КЛАССЕ МНОГИЕ с ОТДЕЛЕНИЕМ. На один и тот же факультет может приходиться несколько классов.
КЛАССОВ МНОГИЕ со СТУДЕНТОМ. В КЛАССЕ может быть много СТУДЕНТОВ.
Мой ВОПРОС в том, считаем ли мы, что все эти отношения по своей сути существуют и в обратном порядке?
То есть ... в случае КЛАССОВ и СТУДЕНТЫ, КЛАССЫ могут иметь много СТУДЕНТОВ, а СТУДЕНТЫ могут иметь много КЛАССОВ. Таким образом, обе связи кажутся существующими (как определено в таблице "STUDENTS_TO_CLASSES").
Но в таблице DEPARTMENT нет ничего, что говорило бы нам, что СТУДЕНТЫ используют его в качестве своей основной или какой КЛАСС находится в этом ОТДЕЛЕНИИ. ..
Итак, правильно ли будет сказать, что ОТДЕЛЕНИЕ имеет отношения МНОГО К ОДНОМ со СТУДЕНТОМ, только потому, что СТУДЕНТ имеет отношения ОДИН К МНОГИМ с ОТДЕЛОМ?
I надеюсь, мой вопрос имеет смысл.