Relacionamentos de banco de dados
Um banco de dados relacional consiste em tabelas vinculadas de alguma forma significativa. Por exemplo, considere uma empresa que vende produtos a clientes. A empresa mantém um banco de dados dos produtos que vende. Cada produto possui um código único para que possa ser identificado. O banco de dados do produto consiste em uma tabela, e cada produto é um registro nessa tabela. O segundo banco de dados que a empresa mantém é um banco de dados de seus clientes. Cada cliente também possui um código exclusivo, bem como seu nome e endereço. O terceiro banco de dados é um banco de dados de pedidos feitos por clientes. Cada pedido também possui um código único.
Então, quais são as relações entre as três tabelas? Pense em um único pedido feito por um cliente. Um pedido conterá pelo menos um produto, mas possivelmente mais de um. Portanto, cada pedido incluirá os códigos exclusivos de cada produto. Um pedido também está vinculado a um cliente específico, portanto, cada pedido incluirá o código exclusivo desse cliente. Como os clientes estão vinculados a seus pedidos e cada pedido contém os códigos de produto, você pode pesquisar quais produtos cada cliente comprou.
Depois que esses relacionamentos são estabelecidos no banco de dados, torna-se possível procurar padrões significativos nos dados. Por exemplo, a empresa pode estar interessada em descobrir se certos produtos costumam ser comprados juntos. Isso pode fornecer alguns insights sobre a melhor forma de comercializar os produtos como um pacote. Ou a empresa pode estar interessada em identificar os clientes que compram produtos semelhantes ao longo do tempo como parte de diferentes pedidos em vez de como um único pedido. Um banco de dados relacional bem projetado torna possível examinar esses padrões com base nas relações entre as várias tabelas.
Regras para bancos de dados relacionais
Para que um banco de dados relacional funcione, uma série de regras básicas devem ser seguidas:
- Cada tabela possui um nome único.
- Cada tabela contém várias linhas.
- Cada linha de uma tabela é única.
- Cada tabela tem uma chave para identificar exclusivamente as linhas.
- Cada coluna em uma tabela possui um nome de atributo exclusivo.
Essas regras são implementadas como parte do design geral do banco de dados . Normalmente, o design de um banco de dados é desenvolvido por um especialista em banco de dados em consulta com várias pessoas na organização. Isso inclui os usuários reais do banco de dados, mas também mais executivos seniores que precisam garantir que o banco de dados suporte não apenas as operações do dia a dia, mas também forneça as informações necessárias para apoiar a tomada de decisões.
Chaves primárias e estrangeiras
Você sabe que um sistema de gerenciamento de banco de dados relacional usa relacionamentos para vincular tabelas. Relacionamentos também são chamados de associações de tabela. Os relacionamentos são criados usando chaves . Uma chave para uma tabela de banco de dados consiste em um ou mais campos que identificam exclusivamente um registro. As chaves são importantes em um banco de dados porque ajudam a manter a consistência dos dados e tornam possível criar associações entre tabelas.
Uma chave primária é um conjunto mínimo de campos cujos valores identificam exclusivamente um registro em uma tabela. Cada tabela pode ter apenas uma chave primária, embora esta possa consistir em vários atributos. Na maioria dos bancos de dados, uma chave consiste em um único atributo. Por exemplo, para um livro, você pode usar o número ISBN, pois não há dois livros com o mesmo número ISBN. Para funcionários de uma organização, você pode usar seu Número de Seguro Social, que é exclusivo para cada indivíduo. Para o exemplo de clientes, produtos e pedidos, você criaria seus próprios códigos exclusivos ao construir o banco de dados. Por exemplo, a tabela de clientes contém um campo para ID do cliente.
Às vezes, uma chave é composta de vários atributos. Isso significa que apenas a combinação desses atributos identifica exclusivamente um registro. Isso é chamado de chave composta .
Uma chave estrangeira é um campo cujos valores são iguais aos da chave primária de outra tabela. Para o exemplo de clientes, produtos e pedidos, você criaria uma tabela de pedidos. Para cada pedido, você registra o cliente usando o ID do cliente. Na tabela de pedidos, o campo Customer ID é a chave estrangeira, pois é a chave primária na tabela de clientes. A tabela de pedidos tem sua própria chave primária, chamada ID do pedido, para identificar cada pedido de maneira única. Se o mesmo cliente fizer vários pedidos, isso resultará em valores duplicados no campo ID do cliente.
Isso se aplica como regra geral: as chaves primárias são únicas, enquanto as chaves estrangeiras podem conter valores duplicados. Lembre-se de que as chaves criam relacionamentos em tabelas e um relacionamento é uma associação entre duas ou mais tabelas. No exemplo, o campo Customer ID é usado para criar a associação. Este campo atua como a chave primária na tabela de clientes e a chave estrangeira na tabela de pedidos.
Cardinalidade de Relacionamentos
Existem vários tipos diferentes de relacionamentos com base em quantos registros em uma tabela estão relacionados a quantos registros na outra tabela. Isso é conhecido como cardinalidade . Existem quatro tipos de cardinalidade:
- Um para um (1: 1).
- Um para muitos (1: m).
- Muitos para um (m: 1).
- Muitos para muitos (m: m).
Vejamos um exemplo de cada um. O relacionamento mais simples é um relacionamento um-para-um (1: 1) . Considere que um eleitor só pode votar em uma eleição. Uma cédula eleitoral pode, portanto, pertencer a apenas um eleitor. Isso significa que há uma relação de um para um entre um eleitor e uma cédula.
Para nosso próximo exemplo de cardinalidade, vamos retornar ao banco de dados da empresa anterior que incluía tabelas para produtos, clientes e pedidos. A tabela de clientes contém os pedidos de cada cliente. Um cliente pode ter um ou mais pedidos. No entanto, um único pedido tem apenas um cliente. Portanto, a relação entre clientes e pedidos é de um para muitos (1: m) : um cliente para vários pedidos. Isso não significa que todo cliente deve ter mais de um pedido, mas é possível que um cliente tenha vários pedidos e, portanto, a cardinalidade é de um para muitos.
A seguir, vamos voltar ao exemplo de votação. Considere a relação entre os eleitores e o partido em que votaram em uma determinada eleição. Um único eleitor só pode votar uma vez, mas um partido pode receber votos de muitos eleitores diferentes. Portanto, a relação é de muitos para um (m: 1) : muitos eleitores para um partido. Embora um-para-muitos e muitos-para-um pareçam ser o mesmo, sua diferença é uma questão de perspectiva, pois depende de qual tabela começar.
Vamos considerar o quarto e último tipo de cardinalidade. No exemplo de produtos, clientes e pedidos, também existe uma relação entre produtos e pedidos. Um único produto pode ocorrer em mais de um pedido e um único pedido pode conter mais de um produto. Portanto, a relação é de muitos para muitos (m: m) : muitos produtos para muitos pedidos.
Resumo da lição
- O banco de dados relacional é o tipo de sistema de gerenciamento de banco de dados mais amplamente usado.
- Um banco de dados relacional consiste em tabelas vinculadas de alguma forma significativa.
- Os relacionamentos são criados usando chaves primárias e estrangeiras .
- Uma chave primária é um conjunto mínimo de atributos cujos valores identificam exclusivamente um registro em uma tabela.
- Uma chave estrangeira é um atributo cujos valores são iguais aos da chave primária de outra tabela.
- Os relacionamentos são caracterizados por sua cardinalidade : quantos registros em uma tabela estão relacionados a quantos registros em outra tabela.
- Existem quatro tipos de cardinalidade: um para um (1: 1) , um para muitos (1: m) , muitos para um (m: 1) e muitos para muitos (m: m) .
Resultados de Aprendizagem
Depois de assistir a esta lição, você será capaz de:
- Nomeie os componentes de um banco de dados relacional
- Indique as regras para bancos de dados relacionais
- Construa um exemplo com chaves e associações
- Analise e compare os quatro tipos de cardinalidade