Множество наследници в роднински връзки в Python

В предишния урок бащата можеше да има само един син. Това се постигаше чрез това, че бащата имаше връзка son_id.

Нека сега бащата да може да има няколко сина. В този случай все още можем да направим само една таблица, която ще бъде свързана сама със себе си. Само в полето за връзка ще съхраняваме не id на сина, а id на бащата. В този случай няколко потребители ще могат да се обърнат към своя баща - и по този начин бащата ще има няколко сина:

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

Да се получи потребителят заедно с неговия баща може по следния начин:

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

Нека имаме потребители. Всеки потребител има баща и майка. Описете структурата на съхранение.

Задание 2

Напишете заявка, която ще извлече потребителя заедно с неговия баща и майка.