tabelas relacionais Entendendo
O MySQL é um banco de dados relacional. Isto significa que os registros de dados podem ser divididos em várias mesas de uma maneira lógica. Você vai aprender como criar um banco de dados relacional na Lição 16, "rel =" nofollow "class =" "target =" exlnk _ blank "Projetando seu banco de dados", então por enquanto, você vai considerar um exemplo simples das tabelas de amostra que você já viu.
Existe uma relação entre os clientes e customer_contacts tabelas.
Pode haver mais de uma pessoa de contato para cada cliente, assumindo que um cliente é uma empresa e que você pode lidar com pessoas em diferentes departamentos. Ao dividir esta informação em duas tabelas, você evitar a duplicação de dados que é sempre o mesmo para contatos dentro da mesma empresa.
Por não duplicação de colunas, não apenas reduzir a quantidade de armazenamento necessário para o banco de dados, mas você também eliminar a possibilidade de inconsistência de dados que poderiam existir.
Por exemplo, quando os detalhes de uma empresa são armazenados em apenas um registro na tabela de clientes em vez de em cada linha na tabela de customer_contacts, não existe o perigo de que os dados do cliente serão inconsistentes de um registro para outro.
Para manter os exemplos neste livro simples, as tabelas de exemplo contêm uma quantidade muito menor de informações do que você encontraria em um banco de dados do mundo real. Ainda assim, o conceito é o mesmo. Os clientes da tabela de amostra contém um campo de nome, que é o nome do cliente.
Em um banco de dados ao vivo, esta tabela também conter um endereço corporativo e qualquer outra informação que é o mesmo para um customerand é o mesmo para todas as pessoas de contacto para esse cliente.
A tabela customer_contacts é usado para armazenar múltiplos contatos para um cliente. O campo de código do cliente na tabela atua como um link de volta para os dados do cliente. O valor de contacts.customer_code corresponde ao valor customers.customer_code e é o campo de chave usada quando juntar essas tabelas.
A coluna código do cliente em clientes é uma campo de chave primária. Ele contém um valor único que pode ser usado para identificar exactamente um registo a partir da tabela. A coluna com o mesmo nome na customer_contacts é conhecido como uma chave estrangeira. Você vai aprender mais sobre as chaves na