⊗pyPmDOLT 122 of 129 menu

Python-da maglumatlar bazasyndaky tablisalary birikdirmek

Bizde ulanyjylaryň atlary we olaryň ýaşaýan şäherleri bolan bir tablisa bolsun:

ulanyjylar
id ady şäher
1 ulanyjy1 şäher1
2 ulanyjy2 şäher1
3 ulanyjy3 şäher2
4 ulanyjy4 şäher1
5 ulanyjy5 şäher3
6 ulanyjy6 şäher2

Bu tablisanyň kemçiligi şonda bir şäher dürli ulanyjylar üçin birnäçe gezek gaýtalanylýar. Bu käbir problemalara getirýär.

Birinjiden, yzygiderli gaýtalama maglumatlar bazasynyň örän köp ýer eýeleýändigine getirýär.

Ikinjiden, şäherler bilen amallary ýerine ýetirmek örän amatsyz. Mysal üçin, biz ekrana ähli şäherleriň sanawyny çykarmak isleýäris. Bu ýönekeý şekilde amala aşyrylmaz. Biz şäherleri bilen bilelikde ähli ulanyjylary alyp, soňra alynan şäherlerden dublikatlary aýyryp, şondan soň biz bu sanawy alarys.

Indi bolsa, bazada 10000 ulanyjy we 10 şäher bolanda - bu 10 şäher üçin biz setirleriň uly sanyndan ybarat bolan bütün tablisany çekmeli bolarys - bu peýdasiz resurs sarp edişli we örän ýavaş amal bolar.

Problemani çözme

Bizim tablisamyzy iki bölüme bölmeli: biri şäherleri saklar, ikinjisi bolsa ulanyjylary. Şol bir wagtyň özünde ulanyjylar tablisasynda ulanyjynyň şäherine salgy berýän city_id sütüni bolmaly.

Şeýlelik bilen, iki tablisa dözdüreli. Şäherler tablisasy:

şäherler
id ady
1 şäher1
2 şäher2
3 şäher3

Ulanyjylar tablisasy:

ulanyjylar
id ady şäher_id
1 ulanyjy1 1
2 ulanyjy2 1
3 ulanyjy3 2
4 ulanyjy4 1
5 ulanyjy5 3
6 ulanyjy6 2

Amaly wezipeler

Sizde harytlar (ady, bahasy, sany) we şol harytlaryň kategoriýalary saklanmaly diýeli. Saklama gurluşyny düzüň.

Sizde derýalar we şol derýalaryň guýýan deňizleri saklanmaly diýeli. Saklama gurluşyny düzüň.

Sizde şäherler we olaryň ýerleşýän ýurtlary saklanmaly diýeli. Saklama gurluşyny düzüň.

Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et