⊗ppPmDOLT 381 of 447 menu

Tabellenverknüpfung in Datenbanken

Nehmen wir an, wir haben eine Tabelle mit Benutzernamen und den Städten, in denen sie leben:

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

Der Nachteil dieser Tabelle ist, dass dieselbe Stadt mehrmals für verschiedene Benutzer wiederholt wird. Dies führt zu einigen Problemen.

Erstens führt die ständige Wiederholung dazu, dass die Datenbank viel mehr Speicherplatz benötigt.

Zweitens ist es ziemlich umständlich, Operationen mit Städten durchzuführen. Zum Beispiel wollen wir eine Liste aller Städte ausgeben. So einfach ist das nicht möglich. Wir müssten alle Benutzer zusammen mit ihren Städten abrufen, dann Duplikate aus den erhaltenen Städten entfernen und erst dann erhalten wir diese Liste.

Stellen wir uns nun vor, dass die Datenbank 10000 Benutzer aus 10 Städten enthält - für diese 10 Städte müssten wir die gesamte Tabelle mit einer enormen Anzahl von Zeilen abrufen - das wäre eine sehr langsame Operation mit sinnloser Ressourcenverschwendung.

Lösung des Problems

Wir müssen unsere Tabelle in zwei Teile aufteilen: In einer werden die Städte gespeichert, und in der zweiten - die Benutzer. Dabei wird in der Tabelle mit den Benutzern eine Spalte city_id vorhanden sein, die auf die Stadt des Benutzers verweist.

Also, lassen Sie uns zwei Tabellen erstellen. Tabelle mit den Städten:

cities
id name
1 city1
2 city2
3 city3

Tabelle mit den Benutzern:

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

Angenommen, Sie müssen Produkte (Name, Preis, Menge) und Kategorien dieser Produkte speichern. Beschreiben Sie die Speicherstruktur.

Angenommen, Sie müssen Flüsse und die Meere speichern, in die diese Flüsse münden. Beschreiben Sie die Speicherstruktur.

Angenommen, Sie müssen Städte und Länder speichern, in denen sie sich befinden. Beschreiben Sie die Speicherstruktur.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικά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
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen