⊗ppPmDOLT 381 of 447 menu

Länkning av tabeller i databaser

Låt oss anta att vi har en tabell med användarnamn och de städer där de bor:

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

Nackdelen med denna tabell är att samma stad upprepas flera gånger för olika användare. Detta leder till vissa problem.

För det första leder den ständiga upprepningen till att databasen tar upp mycket mer utrymme.

För det andra är det ganska obekvämt att utföra operationer med städer. Till exempel vill vi visa en lista över alla städer på skärmen. Så enkelt går det inte att göra. Vi måste få alla användare tillsammans med deras städer, sedan ta bort dubbletter från de erhållna städerna och först då får vi denna lista.

Och låt oss nu föreställa oss att databasen har 10000 användare från 10 städer - för dessa 10 städer måste vi hämta hela tabellen med ett enormt antal rader - det blir en mycket långsam operation med meningslös resursförbrukning.

Lösning på problemet

Vi behöver dela upp vår tabell i två: i den ena kommer städer att lagras, och i den andra - användare. Samtidigt kommer det i tabellen med användare att finnas en kolumn city_id, som kommer att referera till användarens stad.

Så, låt oss skapa två tabeller. Tabell med städer:

cities
id name
1 city1
2 city2
3 city3

Tabell med användare:

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

Antag att du behöver lagra varor (namn, pris, kvantitet) och kategorier för dessa varor. Beskriv lagringsstrukturen.

Antag att du behöver lagra floder och hav som floderna mynnar ut i. Beskriv lagringsstrukturen.

Antag att du behöver lagra städer och länder där de finns. Beskriv lagringsstrukturen.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa