⊗ppPmDOLT 381 of 447 menu

Collegamento di tabelle nei database

Supponiamo di avere una tabella con i nomi degli utenti e le città in cui vivono:

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

Lo svantaggio di questa tabella è che la stessa città si ripete più volte per utenti diversi. Ciò porta ad alcuni problemi.

In primo luogo, la ripetizione continua porta al fatto che il database inizia a occupare molto più spazio.

In secondo luogo, è piuttosto scomodo eseguire operazioni con le città. Ad esempio, vogliamo visualizzare un elenco di tutte le città. Non sarà possibile farlo in modo semplice. Dovremo ottenere tutti gli utenti con le loro città, poi rimuovere i duplicati dalle città ottenute e solo allora otterremo questo elenco.

E ora immaginiamo che nel database ci siano 10000 utenti da 10 città - per queste 10 cità dovremo estrarre l'intera tabella con un numero enorme di righe - risulterà un'operazione molto lenta con uno spreco insensato di risorse.

Soluzione del problema

È necessario dividere la nostra tabella in due: in una verranno memorizzate le città, e nella seconda - gli utenti. Allo stesso tempo, nella tabella degli utenti ci sarà una colonna city_id, che farà riferimento alla città dell'utente.

Quindi, creiamo due tabelle. Tabella con le città:

cities
id name
1 city1
2 city2
3 city3

Tabella con gli utenti:

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

Supponiamo di dover memorizzare prodotti (nome, prezzo, quantità) e le categorie di questi prodotti. Descrivete la struttura di memorizzazione.

Supponiamo di dover memorizzare fiumi e mari in cui questi fiumi sfociano. Descrivete la struttura di memorizzazione.

Supponiamo di dover memorizzare città e paesi in cui si trovano. Descrivete la struttura di memorizzazione.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta