⊗ppPmDOLT 381 of 447 menu

Sammenlinkning af tabeller i databaser

Lad os antage, at vi har en tabel med brugernavne og byer, hvor de bor:

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

Ulempen ved denne tabel er, at den samme by gentages flere gange for forskellige brugere. Dette fører til nogle problemer.

For det første fører den konstante gentagelse til, at databasen begynder at optage megget mere plads.

For det andet er det ret ubelejligt at udføre operationer med byer. For eksempel ønsker vi at vise en liste over alle byer på skærmen. Så simpelt kan det ikke gøres. Vi bliver nødt til at hente alle brugere sammen med deres byer, derefter fjerne dubletter fra de modtagne byer og først derefter får vi denne liste.

Og lad os forestille os, at databasen indeholder 10000 brugere fra 10 byer - for at få disse 10 byer bliver vi nødt til at hente hele tabellen med et enormt antal rækker - det bliver en meget langsom operation med meningsløst spild af ressourcer.

Løsning på problemet

Vi er nødt til at opdele vores tabel i to: i den ene vil byer blive gemt, og i den anden - brugere. Samtidig vil der i tabellen med brugere være en kolonne city_id, som vil henvise til brugerens by.

Så lad os lave to tabeller. Tabel med byer:

cities
id name
1 city1
2 city2
3 city3

Tabel med brugere:

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

Lad os antage, at du skal opbevare varer (navn, pris, antal) og kategorier for disse varer. Beskriv lagringsstrukturen.

Lad os antage, at du skal opbevare floder og have, som disse floder løber ud i. Beskriv lagringsstrukturen.

Lad os antage, at du skal opbevare byer og lande, som de befinder sig i. Beskriv lagringsstrukturen.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικά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
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis