⊗ppPmDOFR 385 of 447 menu

PHP'деги маалыматтардын туугандык байланыштары

Алдыбызга аталарды жана уулдарды сактоо милдети коюлсын. Ар бир атанын бир гана уулу болсун, ал эми уул өз кезегинде бир гана уулга ээ болушу мүмкүн.

Биз маалыматтарды кантип сактай тургандыгыбызды ойлоп табышыбыз керек. Акылга биринчи келген ой - эки таблица түзүү: аталар үчүн parents жана уулдар үчүн sons. Андан кийин бул таблицаларды бир кандайдыр талаа менен байланыштыруу: son_id же parent_id.

Бирок, бул ой абдан жакшы эмес - анткени бир эле адам ошол эле учурда ата да, уул да болушу мүмкүн - жана аны эки таблицада сактоого туура келет, бул ыңгайсыз, көбүрөөк орун ээлейт жана каталарга алып келүүгө оңой.

Жакшыраак варианты - таблицаны өзү менен өзү байланыштыруу: users таблицасын түзөлү, анын ичинде бардык колдонуучуларды сактайбыз жана ар бирине son_id талаасын түзөбүз, ал талаада ошол эле таблицадагы уулдун id сакталат:

users
id name son_id
1 user1 2
2 user2 3
3 user3 null

Супрагулар

Эми колдонуучуну анын уулу менен чогултуп алган супрагын жазалы.

Башында жөн гана колдонуучуларды чогултуп алалы:

SELECT * FROM users

Эми колдонуучуларга алардын уулдарын кошобуз (JOIN). Биз таблицаны өзү менен өзүнө кошобуз (JOIN), ошондуктан бизге анын атын өзгөртүү керек:

LEFT JOIN users as sons

Эми биз негизги таблица менен аты өзгөртүлгөн таблицанын ортосундагы байланышты көрсөтө алабыз:

LEFT JOIN users as sons ON sons.id=users.son_id

Эми талааларды көрсөтөлү:

SELECT users.name as user_name, sons.name as son_name

Баарын бириктирип, төмөнкү супрагын алабыз:

SELECT users.name as user_name, sons.name as son_name FROM users LEFT JOIN users as sons ON sons.id=users.son_id

Практикалык тапшырмалар

Анда бизде категориялар бар дейли. Ар бир категория ата-эне категориясына тиешелүү болушу мүмкүн, ал өз кезегинде өзүнүн ата-энесине жана ушу сыяктуу аракеттерге таандык. Сақтоо түзүмүн сүрөттөп бериңиз.

Категорияны анын ата-эне категориясы менен бирге чогултуп алуучу супрагын жазыңыз.

Категорияны анын ата-энеси жана чоң ата-энеси менен бирге чогултуп алуучу супрагын жазыңыз.

Категорияны анын ата-энеси, чоң ата-энеси жана чоң-чоң ата-энеси менен бирге чогултуп алуучу супрагын жазыңыз.

Кыргызча
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어LietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу