⊗ppPmDOLT 381 of 447 menu

Маалымат базаларында таблицаларды байланыштыруу

Андай болсун, бизде колдонуучулардын аты жана жашаган шаарлары бар таблица бар:

users
id name city
1 user1 city1
2 user2 city1
3 user3 city2
4 user4 city1
5 user5 city3
6 user6 city2

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

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

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

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

Көйгөйдү чечүү

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

Ошентип, эки таблица жасайлы. Шаарлар таблицасы:

cities
id name
1 city1
2 city2
3 city3

Колдонуучулар таблицасы:

users
id name city_id
1 user1 1
2 user2 1
3 user3 2
4 user4 1
5 user5 3
6 user6 2

Сизге товарларды (аты, баасы, саны) жана ушул товарлардын категорияларын сактоо керек деп коёлу. Сактоо структурасын жазып бериңиз.

Сизге дарыяларды жана алар куйган деңиздерди сактоо керек деп коёлу. Сактоо структурасын жазып бериңиз.

Сизге шаарларды жана алар жайгашкан өлкөлөрдү сактоо керек деп коёлу. Сактоо структурасын жазып бериңиз.

Кыргызча
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 файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу