Բազմաթիվ ժառանգներ հայրական կապերում Python-ում

Նախորդ դասում հայրը կարող էր ունենալ միայն մեկ որդի: Դրան հասնում էինք նրանով, որ հայրը ուներ son_id կապ:

Թող հիմա հայրը կարողանա ունենալ մի քանի որդի: Այս դեպքում մենք դարձյալ կարող ենք պատրաստել միայն մեկ աղյուսակ, որը կլինի կապված ինքն իր հետ: Միայն կապի դաշտում կպահենք ոչ թե id որդու, այլ id հոր: Այս դեպքում մի քանի user-ներ կկարողանան հղվել իրենց հորը - և այդպիսով հայրը կունենա մի քանի որդի:

users
id name father_id
1 user1 3
2 user2 3
3 user3 4
4 user4 null

User-ին նրա հոր հետ միասին ստանալ կարելի է հետևյալ կերպ.

sqlSELECT
  users.name as user_name,
  fathers.name as father_name
FROM
  users
LEFT JOIN users as fathers ON fathers.id=users.father_id
Задание 1

Ենթադրենք ունենք user-ներ: Յուրաքանչյուր user ունի հայր և մայր: Նկարագրեք պահպանման կառուցվածքը:

Задание 2

Գրեք հարցում, որը կբերի user-ին նրա հոր և մոր հետ միասին: