Kelios įpėdinio ryšio šaknys PHP

Ankstesnėje pamokoje tėvas galėjo turėti tik vieną sūnų. Tai buvo pasiekta dėl to, kad tėvas turėjo ryšį son_id.

Tarkime, kad dabar tėvas gali turėti kelis sūnus. Šiuo atveju mes vis dar galime sukurti tik vieną lentelę, kuri bus susieta pati su savimi. Tik ryšio lauke saugosime ne id sūnaus, o id tėvo. Šiuo atveju keli vartotojai galės nurodyti savo tėvą - ir taip tėvas turės kelis sūnus:

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

Gauti vartotoją kartu su jo tėvu galima tokiu būdu:

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

Tarkime, kad mes turime vartotojus. Kiekvienas vartotojas turi tėvą ir motiną. Aprašykite saugojimo struktūrą.

Задание 2

Parašykite užklausą, kuri gautų vartotoją kartu su jo tėvu ir motina.