⊗ppPmDOLT 381 of 447 menu

Vinculación de tablas en bases de datos

Supongamos que tenemos una tabla con los nombres de usuarios y las ciudades en las que viven:

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

La desventaja de esta tabla es que la misma ciudad se repite varias veces para diferentes usuarios. Esto conlleva algunos problemas.

En primer lugar, la repetición constante hace que la base de datos ocupe mucho más espacio.

En segundo lugar, es bastante incómodo realizar operaciones con las ciudades. Por ejemplo, queremos mostrar en pantalla una lista de todas las ciudades. No podremos hacerlo tan fácilmente. Tendremos que obtener todos los usuarios junto con sus ciudades, luego eliminar los duplicados de las ciudades obtenidas y solo entonces obtendremos esta lista.

Y ahora imaginemos que en la base hay 10000 usuarios de 10 ciudades - para obtener estas 10 ciudades tendremos que extraer toda la tabla con una enorme cantidad de filas - resultará una operación muy lenta con un desperdicio sin sentido de recursos.

Solución del problema

Necesitamos dividir nuestra tabla en dos: en una se almacenarán las ciudades, y en la segunda - los usuarios. Además, en la tabla de usuarios habrá una columna city_id, que referenciará a la ciudad del usuario.

Entonces, hagamos dos tablas. La tabla con ciudades:

cities
id name
1 city1
2 city2
3 city3

La tabla con usuarios:

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

Supongamos que necesitas almacenar productos (nombre, precio, cantidad) y las categorías de estos productos. Describe la estructura de almacenamiento.

Supongamos que necesitas almacenar ríos y los mares en los que desembocan estos ríos. Describe la estructura de almacenamiento.

Supongamos que necesitas almacenar ciudades y los países en los que se encuentran. Describe la estructura de almacenamiento.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar