¿Es así como funcionan las bases de datos relacionales?

Un DB relacional se compone de varias cosas, pero para simplificarlo, limitaré esta respuesta.

Tiene dos tablas, una de ellas contiene SOLO la información que es exclusiva de una persona. Ninguna de la información tendrá más de una respuesta (generalmente) para una persona determinada. Por ejemplo, una persona solo puede tener una altura; no pueden, al mismo tiempo, ser a la vez 5′10 ″ y 4′3 ″. No pueden pesar tanto 150 libras como 210 libras. así que esta tabla contiene cosas como el nombre de una persona, edad, género, etc. Junto con esta información hay una identificación. La identificación será utilizada por el sistema para identificar a esa persona. Lo más probable es que haya otras columnas, pero llegaremos a eso.

La otra tabla contiene información sobre direcciones. Esto incluiría el número de casa, el número de apto, el nombre de la calle, la ciudad, el estado y el código postal. Ahora, puede pensar que una dirección de personas también debe estar en la tabla de personas. Pero, ¿qué pasa con las personas que tienen más de una dirección? Si hubiera una tercera tabla, una que contuviera números de teléfono, esta información también tendría que estar en su propia tabla. ¿Cuántos teléfonos tienes? Tengo un teléfono de casa, un teléfono celular, un teléfono de trabajo … ¿entiendes?

Ahora, algunos argumentan que no todas las tablas necesitan tener números de identificación y hay casos en los que esto es cierto, pero por ahora solo agreguemos una columna en cada tabla que contenga la identificación para cada registro. Ahora, si en la tabla de direcciones agregamos una columna adicional para guardar la identificación de una persona, ahora podemos relacionar a la persona con su dirección. Simplemente busque en la tabla de direcciones la identificación de las personas y ahora tenemos sus direcciones. Sí, direcciones en plural; porque esa persona pasa el invierno en el sur y los veranos en el norte; Son ricos, por supuesto. Podemos hacer lo mismo para la tabla de números de teléfono. Se seleccionará cada número de teléfono que tenga la identificación de persona asociada.

Este es el ejemplo más simple de una base de datos relacional. Las relaciones entre tablas pueden ser uno a uno, uno a muchos y muchos a muchos; la última realmente requiere tres tablas para funcionar. Pero la información en las tablas está relacionada entre sí por los ID de otras tablas. Si se pierde una columna de ID o incluso una ID, los datos ahora se convierten en lo que llamamos datos huérfanos.

Esto no explica todo acerca de los DB, hay mucho más para ellos, pero esto debería darle una idea de lo que se entiende por una base de datos relacional.

Espero que esto ayude.

Tienes un comienzo. Sin embargo, a menos que planee permitir múltiples direcciones por Usuario, aquí hay pocos beneficios.

Pero supongamos que agrega una columna, “AddressType” y pueden tener una dirección de envío o una factura a la dirección, entonces tiene una razón para tener una tabla de direcciones.

(Básicamente, cada vez que piense que va a tener 2 o más de algo para un objeto en particular, comience a pensar en una tabla separada).

Las columnas de identificación no contienen todos los datos de una fila, pero ayudan a señalarlo.

Por lo tanto, puede usar lo anterior (con un tipo de dirección) en algo como,

Seleccione apellido, nombre del usuario u
Dirección de unión interna A en a.user_id = u.user_id donde a.address_type = “Shipping” y a.Country = “France”
ordenar por apellido

Esto le daría una lista alfabética de todos los usuarios que tienen una dirección de envío en Francia.

¡Las claves en su base de datos se usan como referencias!
Su addres_id es una clave foránea.
Las claves externas ayudan a reforzar la integridad referencial a nivel de datos. También mejoran el rendimiento porque normalmente están indexados de forma predeterminada.
Los datos no se almacenan, solo se hace referencia a ellos. en palabras simples ” crea un enlace entre las dos tablas

1. No. Lo que realmente está sucediendo es que usando la columna user_id, puede encontrar rápidamente las direcciones asociadas con un usuario determinado.
2. No. Es solo un número.
Ni address_id ni la tabla de direcciones cumplen ningún propósito a menos que desee tener varias direcciones por usuario.

More Interesting

¿El enfoque naturalista para el SLA funciona en adultos o solo en niños? Si no es así, ¿qué enfoque funciona mejor para los adultos?

¿Cómo fue trabajar con el Dr. APJ Abdul Kalam?

Todos los días en el trabajo fantaseo con suicidarme para no tener que trabajar más allí. ¿Es así como se siente la edad adulta normal?

¿Pueden funcionar 'Slow Money' y 'Nurture Capital'?

¿Cuáles son algunos libros que son lecturas informativas para alguien que trabaja / tiene el objetivo de trabajar en la industria petroquímica?

Mi padre es dueño de su propio negocio conjunto (dos fábricas químicas y una empresa constructora) y he terminado con mi ingeniería civil y no planeo estudiar más. ¿Qué debería hacer ahora?

Cómo estudiar para CFA L2 cuando estoy trabajando 5 días a la semana

¿Qué se siente al trabajar con colegas que han vendido su startup y se han unido a su organización? ¿Los trata de manera diferente a otros colegas?

¿Cuáles son algunas cosas que te encantan de tu trabajo?

¿Por qué el trabajo de algunas personas se vuelve popular solo después de su muerte?

Mi entrevista final fue reprogramada de último minuto para el final de la semana, pero trabajo en un estado diferente. ¿Debo reprogramar mi tiempo o aceptarlo?

¿Qué se siente trabajar con 'buenas personas'? ¿Cuánto se afecta a uno mismo?

Cómo encontrar un propósito en tu 9-5

Cómo gamificar un proceso de trabajo que involucra solo el trabajo de entrada de datos y verlo para referencia futura

¿Cuál es la mejor manera de obtener trabajo de desarrollo de software por contrato de un país extranjero?