Múltiples descendientes en relaciones familiares en Python

En la lección anterior, un padre solo podía tener un hijo. Esto se lograba porque el padre tenía un enlace son_id.

Ahora supongamos que un padre puede tener varios hijos. En este caso, todavía podemos hacer solo una tabla, que estará relacionada consigo misma. Solo que en el campo de enlace almacenaremos no el id del hijo, sino el id del padre. De esta manera, varios usuarios podrán referenciar a su padre - y así el padre tendrá varios hijos:

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

Se puede obtener un usuario junto con su padre de la siguiente manera:

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

Supongamos que tenemos usuarios. Cada usuario tiene un padre y una madre. Describa la estructura de almacenamiento.

Задание 2

Escriba una consulta que obtenga al usuario junto con su padre y madre.