⊗ppPmDOLT 381 of 447 menu

Povezovanje tabel v podatkovnih bazah

Recimo, da imamo tabelo z imeni uporabnikov in mesti, v katerih živijo:

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

Pomanjkljivost te tabele je, da se isto mesto večkrat ponovi za različne uporabnike. To povzroča nekatere težave.

Prvič, stalno ponavljanje vodi v to, da podatkovna baza začne zasedati veliko več prostora.

Drugič, dokaj neprijetno je izvajati operacije z mesti. Na primer, želimo prikazati seznam vseh mest. Tako preprosto tega ne moremo narediti. Morali bomo pridobiti vse uporabnike skupaj z njihovimi mesti, nato odstraniti dvojnike iz pridobljenih mest in šele takrat bomo dobili ta seznam.

Zdaj pa si predstavljajmo, da je v bazi 10000 uporabnikov iz 10 mest - za teh 10 mest bomo morali pridobiti celotno tabelo iz ogromnega števila vrstic - to bo zelo počasna operacija s nesmiselno izgubo virov.

Rešitev problema

Našo tabelo je treba razdeliti na dve: v eni se bodo shranjevala mesta, v drugi pa - uporabniki. Pri tem bo v tabeli z uporabniki stolpec city_id, ki se bo skliceval na mesto uporabnika.

Torej, naredimo dve tabeli. Tabela z mesti:

cities
id name
1 city1
2 city2
3 city3

Tabela z uporabniki:

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

Recimo, da morate shranjevati izdelke (naziv, cena, količina) in kategorije teh izdelkov. Opišite strukturo shranjevanja.

Recimo, da morate shranjevati reke in morja, v katere te te reke izlivajo. Opišite strukturo shranjevanja.

Recimo, da morate shranjevati mesta in države, v katerih se nahajajo. Opišite strukturo shranjevanja.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni