www.samueldiasneto.com: Tutorial MySQL

<<< Voltar Avançar >>>

1. Conceitos básicos sobre banco de dados relacional

Tabelas

Um banco de dados relacional é formado por tabelas.

NrDoCliente Nome Endereço CEP
1 José Manuel Rua 15 de Novembro, Nr 125, Centro 89022000
2 Maria José Rua Gen Sampaio, Nr 1185, Várzea 56870320
3 Severina Raimunda Rua 23, Nr 15, Cidade Nova 87032000
4 Desidério Aureliano Rua do Cemitério, S/N, Buraco Fundo 15687320

Cada coluna da tabela armazena um tipo de dado e representa um campo do banco de dados. Cada linha armazena os dados de um cliente e representa um registro.

Chave primária

A tabela deve ter um campo que identifica o registro. Este campo é chamado de chave ou chave primária. Os dados da chave primária devem ser únicos e não devem haver dois ou mais registros que possuam os mesmos dados armazenados no campo que for a chave primária. Na nossa tabela de exemplo acima, a chave primária é o campo NrDoCliente. Uma chave pode ser formada juntando-se mais de um campo da tabela.

Chave estrangeira

Uma tabela também pode fazer referência a chave de uma outra tabela, quando isto acontece a chave da outra tabela é chamada chave estrangeira. Exemplo:

NrDoPedido NrDoCliente Valor Data
1 5 200,00 050603
2 3 50,00 050603
3 1 175,00 060603
4 2 300,00 060603

Nesta tabela, o campo NrDoPedido é a chave primária e o campo NrDoCliente é uma chave estrangeira. Neste caso, a chave estrangeira serve para referenciar qual o cliente que fez o pedido, por isso ela contém a chave primária da tabela dos clientes. Como cada cliente tem um número de identificação único, fica fácil descobrir quem fez o pedido. É por esta razão que os dados da chave primária devem ser únicos para cada registro.

Esquemas

O conjunto dos desenhos de todas as tabelas do banco de dados chama-se esquema. Como mostrado nos exemplos acima, o esquema deve exibir campos, tipos de dados, chave primária e, se for o caso, chave estrangeira das tabelas. Não é obrigatório, mas também é interessante incluir alguns dados de exemplo. O esquema pode ser exibido em forma de desenho de tabelas, como mostrado nos exemplos acima, ou em forma de texto:

Cliente(NrDoCliente, Nome, Endereço, CEP)

observe que a chave primária está sublinhada. De modo semelhante, se a tabela tiver alguma chave estrangeira, esta deve estar sublinhada com uma linha pontilhada.

Relacionamentos

As chaves estrangeiras representam um relacionamento entre as tabelas. Existem três tipos de relacionamentos:

O relacionamento de um para um significa que um registro em uma tabela só se relaciona com um registro na outra tabela. Como exemplo poderíamos citar uma tabela contendo clientes e uma tabela contendo endereços. Cada cliente só tem um endereço de residência e cada endereço refere-se a um cliente, assim o relacionamento entre estas tabelas será de um para um.

O relacionamento de um para muitos significa que um registro em uma tabela relaciona-se a muitos registros na outra tabela. Por exemplo, uma tabela clientes e uma tabela pedidos. Cada cliente pode fazer muitos pedidos, porém um pedido só pode ser feito por um cliente. Temos, assim, um relacionamento de um para muitos.

O relacionamento de muitos para muitos significa que muitos registros de uma tabela relacionam-se a muitos pedidos da outra tabela. Por exemplo, uma tabela livros e uma tabela autores. Um livro pode ser escrito por mais de um autor juntos e um autor pode escrever muitos livros. Este tipo de relacionamento, normalmente merece uma tabela própria. Assim, seria o caso criar as tabelas: Livros, Autores e LivrosAutores. A tabela LivroAutores teria chaves estrangeiras para as outras tabelas.

Normalmente as tabelas que descrevem objetos ou seres do mundo real possuem relacionamento de um para um ou de um para muitos (Clientes, Produtos, etc.) e as tabelas que descrevem transações possuem relacionamento de muitos para muitos (Pedidos).

Dicas para projetar um banco de dados relacional

<<< Voltar Avançar >>>