La comprensión de tablas relacionales
MySQL es una base de datos relacional. Esto significa que los registros de datos se pueden dividir en varias tablas de una manera lógica. Usted aprenderá cómo diseñar una base de datos relacional en la lección 16, "rel =" nofollow "class =" exlnk "target =" _ blank "El diseño de su base de datos," así que por ahora, se le considera un ejemplo simple de las tablas de ejemplo que ya has visto.
Existe una relación entre los clientes y customer_contacts tablas.
Puede haber más de una persona de contacto para cada cliente, en el supuesto de que un cliente es una empresa y que usted puede tratar con personas de diferentes departamentos. Al dividir esta información en dos tablas, se evita la duplicación de datos que es siempre el mismo para contactos dentro de la misma empresa.
Por no duplicar columnas, no sólo reducir la cantidad de almacenamiento necesario para la base de datos, sino que también elimina la posibilidad de inconsistencia de datos que de otro modo podrían existir.
Por ejemplo, cuando los detalles de una empresa se almacenan en un solo registro de la tabla clientes en lugar de en cada fila en la tabla customer_contacts, no hay peligro de que los datos de los clientes serán inconsistentes de un registro a otro.
Para mantener los ejemplos de este libro sencillo, las tablas de ejemplo contienen una cantidad mucho menor de la información de lo que encontraría en una base de datos del mundo real. Sin embargo, el concepto es el mismo. Los clientes de la tabla de muestra contiene un campo de nombre, que es el nombre del cliente.
En una base de datos en vivo, esta tabla también contendría una dirección corporativa y cualquier otra información que sea lo mismo para un customerand es el mismo para todas las personas de contacto para ese cliente.
La tabla customer_contacts se utiliza para almacenar múltiples contactos para un cliente. El campo customer_code en esta tabla actúa como un enlace a los datos de los clientes. El valor de contacts.customer_code corresponde al valor customers.customer_code y es el campo clave se utiliza al unir estas tablas.
La columna customer_code en los clientes es una campo de clave principal. Contiene un valor único que se puede utilizar para identificar exactamente un registro de la tabla. La columna con el mismo nombre en customer_contacts se conoce como una clav