Tag: chave primária

Exemplo prático de como criar tabela com chaves estrangeiras no PostgreSQL

O PostgreSQL, assim como cada banco, tem suas particularidades. O conceito de criação de tabelas é basicamente o mesmo de banco pra banco, mas às vezes a sintaxe muda. Nesse artigo vou mostrar um pequeno exemplo prático de como criar duas tabelas, onde uma referencia a outra por meio de uma chave estrangeira (foreign key). Se você está procurando uma documentação mais completa, pode encontrar aqui e aqui. E vamos ao exemplo:

A primeira tabela a ser criada é uma tabela de estados. Ela possui uma chave primária (ds_sigla_estado):

CREATE TABLE tb_estado (
 ds_sigla_estado char(2) NOT NULL,
 ds_nome_estado character varying(100) NOT NULL,
 CONSTRAINT tb_estado_pkey PRIMARY KEY (ds_sigla_estado)
)

A segunda tabela é tb_município, que possui uma chave primária (id_municipio) e faz referência (chave estrangeira) ao campo ds_sigla_estado em tb_estado.

CREATE TABLE tb_municipio (
 id_municipio serial NOT NULL,
 ds_municipio character varying(100) NOT NULL,
 ds_sigla_estado char(2) NOT NULL references tb_estado(ds_sigla_estado),
 CONSTRAINT tb_municipio_pkey PRIMARY KEY (id_municipio)
)

Entendeu? Se não, utilize os comentários e tire suas dúvidas ou então leia mais sobre o assunto aqui e aqui.


O que são Chaves Primárias e Índices?

Ambos atributos são características essenciais na maioria das tabelas. Da maneira mais simples possível, podemos dizer que:

Chave primária: É um atributo dado a um campo único na tabela. Esse campo servirá para identificar a determinada linha e não poderá ter valores repetidos.

Exemplo 1) Tabela “clientes” com os campos: nome_cliente, data_de_nascimento e cpf_cliente. O campo “cpf_cliente” pode ser definido como chave primária, pois não exitem duas pessoas com o mesmo CPF.

Você também pode gerar o valor da chave primária como auto-incremento.

Exemplo 2) Tabela “produtos” com os campos: idproduto, nome_produto, valor_produto. Poderíamos definir o campo “idproduto” como chave primária com auto-incremento, assim seria gerado um número diferente (automaticamente) para cada registro da tabela.

Índice: É um atributo para aumentar a velocidade na busca de uma tabela.

Exemplo 3) Tabela “cidades” com os campos idcidade,cidade e estado. No campo estado você permitira apenas a sigla do estado e o definiria como Índice. Dessa forma, toda vez que alguem fosse fazer uma busca por todas as cidades do estado, essa busca seria mais rápida.

Você define como índice o campo que você vai utilizar como parâmetro na busca, porém, é interessante que esses campos não tenham muitos caracteres, porque ao utilizar uma chave primária, o tamanho da tabela aumenta consideravelmente.

Use esse recurso com sabedoria. 🙂


  • Publicidade

  • Redes Sociais

    Facebook  Twitter
  • Estatísticas

    Page Views (desde março de 2010):

    Estatísticas detalhadas
  • Novidades por e-mail!

    Digite seu e-mail:


    Fique tranquilo. Seu e-mail não será usado para outros fins, e você poderá se descadastrar quando quizer.

    Eu!

    Tiago Passos
    Todo o conteúdo desse site esta licenciado sob a licença Creative Commons 3.0 (CC BY 3.0). Você pode copiar e modificar o conteúdo desde que cite o autor.
    iDream theme by Templates Next | Powered by WordPress