Пример: в моей базе данных есть две таблицы с именами classA и classB и одна таблица с именем classA_classB . Последний только что определил два поля типа int с внешними ключами для связи между classA и classB. Таким образом, один classA может иметь несколько classB, и многие classA могут связываться с одним и тем же classB. Пока все просто.
Проблема, в моем особом случае, в том, что у меня есть classA, который хочет связать с другим classA. То есть Студент связывается со своими друзьями, которые тоже являются студентами.
Итак, аналог вышеописанной техники, у меня есть: student и student_student . student_student имеет два поля: student_id, student_id. Проблема: не может быть двух полей с одинаковыми именами!
Так что я должен назвать их как: master_student_id, slave_student_id.
Но мне не нравятся термины «Мастер» и «Раб», потому что это напоминание о плохом времени в наших прошлых. Это может звучать глупо, но я думаю, что это неправильно, по крайней мере, с моральной точки зрения. Я знаю, что это только часть современной информатики, но ...
как еще я могу им позвонить?
родитель и ребенок может быть? Также я не уверен, есть ли действительно одна сущность "начальник", в то время как другая - "работник" ... Студент и Студент не иерархичны. Но опять же, давайте представим, что у нас было два класса «Учитель» и «Ученик». Это было бы четкой иерархией. Тем не менее, мне нужно нейтральное решение, потому что мой фреймворк всегда использует эти отношения 1: n одинаково.