Relazioni Parentali con Figli Multipli in Python

Nella lezione precedente, un padre poteva avere solo un figlio. Ciò era ottenuto grazie al fatto che il padre aveva un collegamento son_id.

Supponiamo ora che un padre possa avere diversi figli. In questo caso, possiamo ancora creare una sola tabella, che sarà collegata a se stessa. Solo che nel campo di collegamento memorizzeremo non l'id del figlio, ma l'id del padre. In questo modo, diversi utenti potranno fare riferimento al proprio padre - e così il padre avrà diversi figli:

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

È possibile ottenere un utente insieme a suo padre nel modo seguente:

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

Supponiamo di avere degli utenti. Ogni utente ha un padre e una madre. Descrivete la struttura di memorizzazione.

Задание 2

Scrivete una query che recuperi un utente insieme a suo padre e sua madre.