⊗ppPmDOLT 381 of 447 menu

Маълумотлар базасидаги jадвалларни боглаш

Фарз қилайлик, бизда фойдаланувчиларнинг исмлари ва улар яшайдиган шахарлар билан jадвал бор:

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

Бу jадвалнинг камчилиги шундаки, бир хил шахар турли фойдаланувчилар учун бир неча mарта такрорланади. Бу бир қанча муаммоларга олиб келади.

Биринчидан, доимий такрорланиш маълумотлар базаси кўпроқ жойни босиб олишига олиб келади.

Иккинчидан, шахарлар билан амалиётларни бажариш жудa қулай эмас. Mисол учун, биз экранда барча шахарлар рўйхатини кўрсатмоқчимиз. Буни осонгина бажариб бўлмай. Бизга барча фойдаланувчиларни уларнинг шахарлари билан бирга олиш керак бўлади, сўнгра олинган шахарлардан дубликатларни ўчириш керак бўлади ва фақат шундан кейингина биз бу рўйхатни оламиз.

Энди tasаввур қилайлик, базада 10000 фойдаланувчи 10 та шахардан - бу 10 та шахар учун биз кўпчилик qatorlarдан иборат бутун jадвални олишimiz керак бўлади - натижада жуда секин ишлайдиган ва мaъносиз ресурслар сарфлайдиган амалиёт бўлади.

Муаммони ечиш

Бизнинг jадвалимизни иккига бўлиш керак: бирида шахарлар сақланади, иккинчисида эса фойдаланувчилар. Бу ҳолда фойдаланувчилар jадвалида city_id устун бўлиб, у фойдаланувчининг шахрига ишора қилади.

Шундай қилиб, келгила иккита jадвал ясайлик. Шахарлар jадвали:

cities
id name
1 city1
2 city2
3 city3

Фойдаланувчилар jадвали:

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

Фарз қилайлик, сиз товарлар (номи, нархи, миқдори) ва ушбу товарларнинг туркумларини сақлашингиз керак. Сақлаш тузилмасини ёзиб чиқинг.

Фарз қилайлик, сиз дарёлар ва улар quyiladigan денгизларни сақлашингиз керак. Сақлаш тузилмасини ёзиб чиқинг.

Фарз қилайлик, сиз шахарлар ва улар joylashган мамлакатларни сақлашингиз керак. Сақлаш тузилмасини ёзиб чиқинг.

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