Ответ 1
Родитель и ребенок, владелец и ребенок - общепринятые решения.
Пример: у меня есть две таблицы в моей базе данных classA и classB, а одна таблица называется classA_classB. Последний только что определил два int поля с внешними ключами для связи между classA и classB. Таким образом, один классA может иметь много классов B, и многие classA могут связываться с одним классом B. Простой материал, до сих пор.
В моем специальном случае проблема заключается в том, что у меня есть класс А, который хочет ссылаться на другой класс А. То есть Студент связывается со своими друзьями, которые также являются учениками.
Итак, аналог вышеизложенного, у меня: ученик и student_student. student_student имеет два поля: student_id, student_id. Проблема: не может иметь два поля с одинаковым именем!
Поэтому я должен назвать их как: master_student_id, slave_student_id.
Но я не люблю термины "Master" и "Slave", потому что это напоминания о плохом времени в наших прошлых периодах. Это может показаться глупым, но я считаю, что это не правильно держать их, по крайней мере, с моральной точки зрения. Я знаю, это просто часть современной информатики, но...
как еще я могу их назвать?
Возможно, родитель и ребенок? Также я не уверен, действительно ли существует одна сущность "начальник", а другая - "сотрудник"... Студент и ученик не являются иерархическими. Но опять же, представьте себе, что у нас были два класса "Учитель" и "Студент". Это будет четкая иерархия. Тем не менее, мне нужно нейтральное решение, потому что мои фреймворки так же обращаются к этим отношениям 1: n.
Родитель и ребенок, владелец и ребенок - общепринятые решения.
В настоящее время отраслевым стандартом является {master-follower}
см. следующие ссылки:
[01]
www.mchotline.com/Reference/MN20B302.pdf
[02]
www.ab.com/linked/drives/drvappsw/files/AppSets_PF700S/AS_PF700S_VirtEncdr_PositMaster_SL.pdf
[03]
www05.abb.com/global/scot/scot201.nsf/veritydisplay/bd987cd590c931fcc1257249003d8f4f/$file/factfile_master_follower_pd11_lowres.pdf
[04] www05.abb.com/global/scot/scot201.nsf/veritydisplay/a11e30d538ab1b49c2256def00493279/$file/en_800stdprg_mfguide_a.pdf
[05] www.danfoss.com/BusinessAreas/DrivesSolutions/MUSEC/
[06] forums.ni.com/t5/Motion-Control-and-Motor-Drives/Converting-a-master-follower-type-Cam-Grinding-Machine-to-CNC/td-p/1469070
[07] www.burhansresearch.com/mrcwfdbk1.htm
[08] www.eurekamagazine.co.uk/article/28893/Master-follower-communication-in-ABB-industrial-drives.aspx
[09] www.lockmasters.com/index.asp?PageAction=VIEWPROD&ProdID=49879
[10] www.perfusion.com/cgi-bin/forum/forum_posts.asp?TID=500
это также имеет больше смысла - нет необходимости использовать морально предосудительный термин для иерархического устройства компьютерного/технологического контроля... например, мы бы обозначили разъемы как "мужские" и "женские", а не "мужские" и "мужские" , шлюха ".... оба дела" делают точку "в несколько описательном смысле, однако лучше всего использовать точку, используя не морально предосудительные или воспалительные термины.
отличный вопрос, btw!
Как насчет student_id и friend_id? Там нет правила, в котором говорится, что ваши внешние ключи должны иметь те же имена столбцов, что и первичный ключ.
related_id или associated_student_id будут моими предпочтениями.
Каковы роли двух учеников в отношениях? Друзья? Наставники? Знакомые? Есть много возможных ролей, которые они заполняют.
Вы можете провести мозговой штурм много ролей с асимметричными именами.
friend, friend_of
mentor, mentored_by
referrer, refer_by
В зависимости от того, является ли связь (назовем ее R) симметричной. Если так, то person1, person2 отлично с R (person1, person2) = R (person2, person1). Если они не симметричны, то имена, вероятно, должны отражать отношения "агент и пациент". Поэтому используйте слово для обозначения агента, а другое - для обозначения пациента, например. Дружище, Друг.
{master-follower} вместо {master-slave}
существует 3 конкурирующих отраслевых альтернативы master/slave. они:
Я думаю, что первичный/вторичный странный, потому что у нас может быть несколько вторичных. Я чувствую, что после того, как вторичные будут третичными, четвертичными и т.д. Слишком большая часть боли.
У Учителя/Подследника все еще есть неопределенные коннотации рабства/феодализма.
Это оставляет нас только с родителем/ребенком... но мне это не очень нравится, потому что ребенок звучит неспособно, но есть случаи, когда мы будем зависеть от Ребенка, а не от родителя....
Итак, я собираюсь предложить еще одну комбо:
Это имя должно избегать любых проблем с рабством, полом и множественностью.