projeto de banco de dados relacional é baseado em três técnicas principais: o relacionamento um-para- muitos, a tabela de junção , eo relacionamento muitos- para-muitos. Para entender o projeto de banco de dados relacional , é importante conhecer essas técnicas , bem como conceitos específicos sobre o campo de chave . O One- para-muitos
A técnica de banco de dados relacional mais comum é o relacionamento de um- para-muitos. Isto conecta um único registro na tabela primária ( isto é, um banco de dados de registros e campos de arquivo simples ) , com qualquer número de registros em uma tabela secundária. Um-para -muitos são caracterizadas por conexões únicas na tabela secundária; cada um desses registros não podem ter mais de um registro relacionado na tabela primária
Essas conexões são feitas usando "campos -chave" , . que são entradas exclusivas na tabela primária , geralmente estes campos são criadas e executadas atribuindo automaticamente um número de série seqüencial para cada novo registro . Qualquer registro na tabela secundária que compartilha esses dados únicos estará relacionada com um registro primário .
Agora , explorar isso com um banco de dados exemplo do livro de endereços. Digamos que você quer um projeto que permite que todos no banco de dados para ter vários números de telefone. Esta é a maneira mais comum de fazer isso:
Pessoas tabela: Registro 1: ( PersonID : 1, nome: " Franklin Roosevelt " ) Registro 2: ( PersonID : 2, Nome: " Lyndon Johnson " )
Telefones tabela: Registro 1: ( PersonID : 1, Telefone: " 202-555-1932 " ) Registro 2: ( PersonID : 1, Telefone: " 202-555-1936 " ) Registro 3: ( PersonID : 2 , telefone: " 202-555-1964 " )
Quando essas duas tabelas estão relacionadas pelo campo de chave PersonID , Franklin terá dois números de telefone , mas Lyndon só vai ter um. Da mesma forma, cada número de telefone está associado exclusivamente a uma única pessoa na tabela de Pessoas .
Unir tabelas
A segunda técnica é chamada de " unir a tabela " , que é usado para registros que são puxados a partir de outras duas tabelas . Isto é comumente usado quando os dados devem ser selecionados a partir de tabelas fixas ; unir tabelas só pode armazenar dados relacionais , para que todos os dados inseridos dentro deles deve ser puxado a partir de tabelas existentes
Por exemplo , suponha que você deseja adicionar. um "trabalho" ou rótulo de " casa" para cada um dos números de telefone do banco de dados exemplo . Faça isso por reescrever a relação como uma tabela de união :
Pessoas tabela: Registro 1: ( PersonID : 1, nome: " Franklin Roosevelt " ) Registro 2: ( PersonID : 2, Nome: " Lyndon Johnson " )
Telefones tabela: Registro 1: ( phoneid : 1, Telefone: " 202-555-1932 " ) Registro 2: ( phoneid : 2, Telefone: " 202-555-1936 " ) Registro 3: ( phoneid : 3, Telefone: " 202-555-1964 " )
mesa
PhoneType : Registro 1: ( PhoneTypeID : 1, tipo : "trabalho" ) Registro 2: ( PhoneTypeID : 2, Tipo: "home" )
Junte-se a tabela : Registro 1: ( PersonID : 1, phoneid : 1, PhoneTypeID : 1) ficha 2 : ( PersonID : 2, phoneid : 2, PhoneTypeID : 2) Registro 3: ( PersonID : 3, phoneid : 3, PhoneTypeID : 1)
Neste banco de dados, todas as relações se conectar à tabela de junção , que faz todo o trabalho de relacionar um nome a um número de telefone e de ambos para um número de telefone digita. Uma versão mais eficiente poderia usar dois unir tabelas , uma vez que o nome da pessoa não precisa estar diretamente relacionado com o tipo de telefone : . PersonID e phoneid em unir a tabela 1 , phoneid e PhoneTypeID em unir a tabela 2
Usando Junte-se tabelas para criar muitos-para -muitos relacionamentos
unir tabelas , o relacionamento um -para-muitos não é mais aplicada. Se quiser, podemos atribuir o mesmo número de telefone para muitas pessoas , ou a "casa" ou etiqueta "trabalho" como muitos telefones como nós gostamos. Isso nos permite configurar muitos -para-muitos relacionamentos, onde qualquer um registro em uma tabela pode se conectar a vários registros em outras tabelas. Esta é uma poderosa técnica de banco de dados, mas uma vez que pode criar relacionamentos de dados complicados , ele só deve ser utilizado quando um relacionamento um -para-muitos não será suficiente.