⊗pyPmDOLT 122 of 129 menu

Lidhja e Tabelave në Bazat e të Dhënave në Python

Le të supozojmë se kemi një tabelë me emrat e përdoruesve dhe qytetet ku ata jetojnë:

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

Disavantazhi i kësaj tabele është se i njëjti qytet përsëritet disa herë për përdorues të ndryshëm. Kjo çon në disa probleme.

Së pari, përsëritja e vazhdueshme çon në faktin se baza e të dhënave fillon të zërë shumë më tepër hapësirë.

Së dyti, është mjaft e papërshtatshme të kryhen operacione me qytete. Për shembull, ne duam të shfaqim në ekran një listë me të gjitha qytetet. Nuk do të jetë e lehtë ta bësh këtë. Ne do të duhet të marrim të gjithë përdoruesit së bashku me qytetet e tyre, pastaj të fshim dublikatat nga të dhënat e marra dhe vetëm atëherë do të marrim këtë listë.

Tani le të imagjinojmë se në bazën e të dhënave ka 10000 përdorues nga 10 qytete - për këto 10 qytete ne do të duhet të nxjerrim të gjithë tabelën nga një numër i madh rreshtash - do të rezultojë një operacion shumë i ngadaltë me harxhim të kotë burimesh.

Zgjidhja e problemit

Duhet ta ndajmë tabelën tonë në dy: në njërën do të ruhen qytetet, kurse në tjetrën - përdoruesit. Në këtë rast, në tabelën me përdorues do të ketë një kolonë city_id, e cila do të referohet në qytetin e përdoruesit.

Pra, le të krijojmë dy tabela. Tabela me qytete:

cities
id name
1 city1
2 city2
3 city3

Tabela me përdorues:

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

Detyra praktike

Le të supozojmë se ju duhet të ruani produktet (emri, çmimi, sasia) dhe kategoritë e këtyre produkteve. Përshkruani strukturën e ruajtjes.

Le të supozojmë se ju duhet të ruani lumenj dhe dete, në të cilët derdhen këto lumenj. Përshkruani strukturën e ruajtjes.

Le të supozojmë se ju duhet të ruani qytete dhe vende, ku ndodhen ato. Përshkruani strukturën e ruajtjes.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo