Nestes exercícios , vamos explorar o uso do número de série campos-chave para relacionar tabelas de dados ea criação de relações secundárias entre as tabelas para melhorar a nossa capacidade de armazenar e processar múltiplas e entradas de dados estendidos . Número de série Campos Chaves
A maneira mais simples de criar uma relação de banco de dados é a utilização de número de série chave campos onde um número exclusivo é atribuído a cada registro em uma determinada tabela. Por exemplo , vamos criar uma lista de endereços com múltiplas relações , permitindo múltiplas entradas no registro de cada pessoa
Tabela 1 , Pessoas : . Registro 1: ( UserID : 1, nome: " Jane Doe" ) ficha 2 : ( UserID : 2, Nome: " Joseph Brown" )
Tabela 2 , Email: Registro 1: ( UserID : 1, Email: " [email protected] " ) Registro 2: ( UserID : 2, Email: " [email protected] " ) Registro 3: ( UserID : 2, Email: " [email protected] " )
Tabela 3 , Telefone: Registro 1: ( UserID : 2, Telefone: " 202-555-8213 " )
o relacionamento é criado usando o campo de chave UserID , que relaciona a UserID na Tabela 1 com o UserID na Tabela 2 e Tabela 3. O e-mail e mesas por telefone, no entanto, não têm qualquer relação entre si que não ligar de volta para UserID , de modo que não precisamos atribuir-lhes números de identificação únicos. Para recuperar a informação completa , o seu relatório ou script de banco de dados (também chamado de "método" ) iria atravessar essas relações : começando com o registro de Pessoas Nome , seria primeiro recuperar todos os números de telefone com o mesmo UserID , em seguida, todos os endereços de e-mail com que . UserID , e formatá-lo para exibição ou impressão
é importante notar que UserIDs na tabela primária deve ser único , é aceitável para pular números (geralmente , isso vai ocorrer quando os registros são excluídos ), mas o mesmo número nunca pode ser usada duas vezes . Nas tabelas secundárias , no entanto, você pode usar esse primário ID quantas vezes você precisa criar vários registros ; Joseph Brown tem dois endereços de e-mail , por isso ele tem duas entradas na tabela de e-mail com o seu UserID
.
chave Secundária de Campo relacionamentos
Freqüentemente, você vai querer criar um segundo conjunto de relações , além do primeiro. Se você deseja armazenar , com cada endereço de e-mail, uma série de instruções a respeito de como esse endereço de e-mail deve ser utilizado : ou seja , HTML contra e-mails de texto simples, e uma etiqueta de trabalho ou em casa . Você pode fazer isso com um banco de dados de arquivo plano , adicionando mais campos para cada registro , mas que pode causar projeto de banco de dados ineficiente quando a tabela cresce grande . Use um relacionamento de chave secundária em vez
Tabela 2 , E-mail : . Registro 1: ( EmailId : 1, UserID : 1, Email: " [email protected] " ) Registro 2: ( EmailId : 2, UserID : 2 , Email: " [email protected] " ) Registro 3: ( EmailId : 3, UserID : 2, Email: " [email protected] " )
Tabela 4 , EmailInstructions : Registro 1: ( EmailId : 1, tipo : "HTML" , tipo : "trabalho" ) Registro 2: ( EmailId : 2, Tipo: "simples" , tipo : "trabalho" ) Registro 3: ( EmailId : 3, tipo: "simples" , tipo : "home" )
Com uma tabela secundária , você pode armazenar dados arbitrários para cada registro , mantendo o máximo de eficiência para recuperações na tabela inicial, que não precisa dos dados secundários
< . br>