Chave primária composta do Postgres

Chave primária composta do Postgres
Neste artigo, o conceito de chave primária composta será discutida no PostgreSQL. Uma chave primária é um campo atribuído a uma linha com valores únicos na tabela de um banco de dados, mas quando uma tabela tem mais de um valor único, usamos uma chave primária composta para esses atributos que os diferenciam para distinção. O PostgreSQL permite que seus usuários tenham teclas primárias compostas em suas mesas. Discutiremos vários exemplos do conceito de chave primária composta no PostgreSQL para entender melhor este conceito.

Sintaxe da chave primária composta no PostgreSQL

Antes de saltarmos direto para a implementação do conceito de chave primária composta, devemos saber sobre a sintaxe para fazer 2 ou mais atributos uma chave primária na tabela. Portanto, uma chave primária composta é declarada como um primário normal é declarado quando estamos criando uma tabela. A sintaxe para a chave primária composta é descrita abaixo, juntamente com suas características ou nomes de colunas:

>> Crie a tabela name_of_table
(Column_1 Datatype,
colun_2 datatype,
.. ,
colun_n datatype
Chave primária (column_1, column_2));

Nesta consulta, estamos inicializando uma tabela com várias colunas e, em vez de inicialização de chave primária única em linha para as colunas, estamos inicializando separadamente depois de definirmos o nome da coluna e o Datatype da coluna. Usamos a palavra -chave “chave primária” com um suporte em que escrevemos os nomes das colunas separados com vírgulas para especificá -las como uma chave primária composta.

Inicializando uma chave primária composta no PostgreSQL

Como a sintaxe está familiarizada para nós agora, podemos ver alguns exemplos para criar uma tabela com várias chaves primárias. Então, primeiro, abriremos nosso editor de consultas e criaremos uma tabela.

>> Crie Tabela Funcionário1 (
e_id int,
e_type int,
e_name varchar,
e_sal int);

Agora, podemos criar uma tabela a partir dessa consulta, mas há um problema nesta tabela, pois nenhuma coluna foi especificada para ser uma chave primária. Nesta tabela, pode haver mais de uma chave primária de acordo com as necessidades, como se o salário tiver que ser adicionado com bônus a certos funcionários com certos tipos e nomes, para que todos tenham que ser uma chave primária. E se inicializarmos cada um deles como uma chave primária separadamente? Vamos ver como isso acaba quando executarmos isso no PostGresql.

Criar Tabela Funcionário1 (
e_id int a chave primária,
e_type int a chave primária,
e_name varchar,
e_sal int);

A saída está anexada na imagem anexada.

Como a saída sugere que não podemos criar mais de uma chave primária em nossas tabelas se usarmos o método de uma linha. Este método não é permitido no ambiente PostgreSQL e só pode ser usado quando precisamos declarar apenas uma coluna como uma chave primária. Então agora, examinaremos o método correto para declarar mais de uma chave primária em uma tabela no PostgreSQL.

Declarando duas colunas como a chave primária

Nesta situação, faremos duas colunas da tabela para serem chaves primárias ao mesmo tempo. Fazeremos a coluna de identificação uma chave primária e o tipo de coluna do funcionário uma chave primária em nossa tabela. Devemos construir esta consulta da seguinte forma para que ela seja executada com sucesso:

>> Crie Tabela Funcionário1 (
e_id int,
e_type int,
e_name varchar,
e_sal int,
Chave primária (e_id, e_type)
);

A saída está anexada na imagem anexada.

Como você pode ver, a saída sugere que a tabela foi criada com sucesso e podemos usá -la para inserir valores. Agora vamos verificar isso em nosso ambiente Postgres.

>> Insira nos valores do funcionário1 (011,1, 'Josh', 10000),
(021,1, 'John', 18800),
(031,1, 'James', 17000),
(041,2, 'Harry', 13000),
(051,2, 'Alex', 14000),
(061,2, 'Ron', 15000);
Selecione * FROM FOLIGE1;

A saída está anexada na imagem anexada.

Como você pode ver, criamos com sucesso uma tabela e inserimos valores nela enquanto tínhamos duas chaves primárias atribuídas às colunas da tabela. Então, nesta tabela, as chaves primárias são "e_id" e "e_type", e nós as definimos como atributos exclusivos para a tabela chamada "funcionário1".

Declarando três colunas como chave primária

Nesta situação, faremos três colunas da tabela para se tornarem chaves primárias ao mesmo tempo. Tornaremos a coluna de identificação uma chave primária, o nome do funcionário será definido como chave primária e também o tipo de coluna do funcionário como uma chave primária em nossa tabela. Para fazer esta consulta executar com sucesso, precisaremos montá -la assim:

>> Crie Tabela Funcionário1 (
e_id int,
e_type int,
e_name varchar,
e_sal int,
Chave primária (e_id, e_type, e_name)
);

A saída está anexada na imagem anexada.

Como você pode ver, a saída sugere que a tabela foi criada com sucesso e podemos usá -la para inserir valores. Agora vamos verificar se a inserção é aplicável em nosso ambiente Postgres ou não.

Insira em valores do funcionário1 (011,1, 'James', 10000),
(041,2, 'Harry', 13000),
(061,2, 'Ron', 15000),
(031,1, 'James', 17000),
(051,2, 'Alex', 14000),
(021,1, 'John', 18800);
Selecione * FROM FOLIGE1;

A saída está anexada na imagem anexada.

Como você pode ver, criamos com sucesso uma tabela e inserimos dados nela ao atribuir três chaves primárias às colunas da tabela. Portanto, nesta tabela, as chaves primárias são "e id", "E tipo" e "E Name", e nós as designamos como um atributo exclusivo para a tabela "funcionário1".

Declarando todas as colunas como chave primária

Nesta situação, faremos com que todas as quatro colunas da tabela sejam chaves primárias ao mesmo tempo. Para que esta consulta seja executada com sucesso, temos que escrever assim como mostrado abaixo:

Criar Tabela Funcionário1 (
e_id int,
e_type int,
e_name varchar,
e_sal int,
Chave primária (e_id, e_type, e_name, e_sal)
);

A saída está anexada na imagem anexada.

Como você pode ver, o resultado indica que a tabela foi criada com sucesso e agora podemos usá -la para inserir valores. Agora vamos ver se a inserção funciona em nosso ambiente Postgres.

>> Insira nos valores do funcionário1 (011,1, 'Jacob', 8000),
(051,2, 'Alexander', 1400),
(041,2, 'Harry', 100),
(031,1, 'Jake', 17000),
(061,2, 'Ray', 3500),
(021,1, 'Johnathan', 18800);
Selecione * FROM FOLIGE1;

A saída está anexada na imagem anexada.

Como você pode ver, criamos uma tabela, enchemos dados e atribuímos quatro chaves primárias para as colunas da tabela. As chaves primárias nesta tabela são "e_id", "e_type", "e_name" e "e_sal". Eles foram declarados como um atributo exclusivo para a tabela "funcionário1".

Concluímos que o PostgreSQL nos permite ter mais de uma chave primária em nossa tabela. Podemos ampliá -lo para o maior número possível de colunas usando a função de chave primária composta ou mesmo atribuindo a singularidade de chave primária a todas as colunas da tabela.

Conclusão

Neste artigo, aprendemos sobre o conceito de chave primária composta no PostgreSQL. Portanto, se contrariarmos uma situação em que temos que declarar mais de uma chave primária, podemos usar a função de chave primária composta para essa situação com a ajuda deste artigo. A sintaxe para a declaração de chave primária composta também foi discutida em um breve detalhe no Postgres, pois todos os aspectos da função foram discutidos em partes. Então também implementamos esse conceito no ambiente PostgreSQL. A maneira correta de declarar dois, três ou mais de 3 chaves primárias em uma única tabela no PostgreSQL é usando a função de chave primária composta.