Edgar Frank Codd desenvolveu o modelo relacional de dados. Na época, Frank era pesquisador da IBM quando publicou o artigo “Relational Model of Data for Large Shared Data Banks” na revista ACM. Neste artigo, Edgar demonstra a teoria de banco de dados relacional, na qual utiliza tabelas (linhas e colunas) e operações da lógica matemática e teoria dos conjuntos para interagir com os dados.

Pelo fato de que grande parte dos clientes utilizavam produtos de tecnologias anteriores ao relacional, a IBM decidiu inicialmente não implementar o modelo. Codd então vai até os grandes clientes da IBM e mostra a eles a simplicidade e eficiência do seu modelo. Assim, vendo que as ideias de Codd tinham muito potencial, os próprios clientes pressionaram a IBM para implementar a nova tecnologia.

Conceitos básicos para compreensão do Modelo relacional

Entidade: elemento do campo de atuação do sistema que possui propriedades que o distingue.

Ex: Carro, Pessoa, Animal

Atributo: propriedade da entidade. Sinônimos: Coluna, Campo;

Ex: cor, nome, tamanho

Tupla: conjunto de atributos de uma entidade. Sinônimos: Linha, registro.

Ex: Cachorro (rex, preto, 8)

Relação: conjunto de tuplas. Sinônimos: Tabela, Arquivo.

Ex: Cachorro (nome, cor, idade)

Chave Primária

Conhecida no Diagrama de Entidade e relacionamento (DER) como atributo identificador, a chave primária no modelo lógico é o conjunto de um ou mais atributos de uma entidade. Tem como função garantir que não haverá tuplas duplicadas, repetidas em uma relação.

Quando a chave primaria possui um único campo é chamada Chave primária simples. Quando possui mais de um campo, Chave primária composta.

A chave primária de uma relação vem sublinhada.

Exemplos de aplicação

Em uma relação Pessoa(cpf, numero_identidade, nome, idade) podemos dizer que o cpf e o numero_identidade são chaves candidatas, ou seja, chaves que podem servir como chave primaria por serem únicas para cada pessoa. Nesse caso escolhemos o cpf para ser chave primária. A representação no modelo lógico fica assim:

Pessoa(cpf, numero_identidade, nome, idade)

Agora, se nenhum dos atributos de uma relação lhe garantir unicidade, podemos criar um atributo. Nesse mesmo exemplo supomos que seja somente Pessoa(nome, idade), nem nome nem idade garantem a unicidade da tupla, pode existir pessoas que tenham o mesmo nome e a mesma idade. Sendo assim, podemos criar o nosso próprio atributo identificador, chamaremos de id_pessoa e a cada pessoa criada, acrescentamos, incrementamos +1 a esse atributo. Fica assim:

Pessoa(id_pessoa, nome, idade)

OBS: Não é regra que a chave primaria fique no começo da tupla, mas normalmente adota-se essa convenção.

Chave Estrangeira

Uma chave externa ou estrangeira é criada quando há um relacionamento entre tabelas. Essa chave é um campo que referencia a chave primaria de uma outra relação.

Considere os esquemas a seguir:

Moto(placa, modelo, cor, cpfProprietario)

Proprietario(cpf, id, nome, endereço)

Nessas relações podemos afirmar: placa é chave primaria (atributo identificador) de Moto; cpfProprietario é chave estrangeira em Moto que referencia o Proprietário da mesma; cpf é chave primaria de Proprietario; id é chave candidata.

Conclusão

Nesse post foram vistos o conceitos de atributo, tupla, relação, chave primaria e chave estrangeira. Para o próximo post veremos o assunto “mapeando do modelo conceitual para o modelo lógico relacional”.

Fontes: https://pt.wikipedia.org/wiki/Chave_prim%C3%A1ria

https://pt.wikipedia.org/wiki/Chave_estrangeira

 

Categorias: Banco de Dados

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Posts Relacionados

Banco de Dados

Conheça os melhores treinamentos de Banco de dados

Para um bom programador não só conhecer mas dominar a linguagem sql e junto, algum software famoso de gerenciamento de banco, é fundamental. Por isso, preparamos uma lista com quatro ótimos cursos. O primeiro, focado Leia mais…

Banco de Dados

Aprendendo as principais operações da Álgebra Relacional

Neste artigo serão abordados os conceitos básicos de álgebra relacional. Esta que está por trás de consultas relacionadas a bancos de dados relacionais. A linguagem SQL foi criada a partir da álgebra relacional e por Leia mais…

Banco de Dados

Os 8 comandos mais utilizados da linguagem SQL

A SQL ou Structured Query Language (linguagem estruturada para consulta) possui duas linguagens internas: DDL: é a linguagem de definição de dados, utilizada para a criação dos esquemas de bancos de dados. DML: é a Leia mais…