Neste desafio, você terá a tarefa de projetar e criar uma tabela employee_contacts no PostgreSQL para armazenar informações de contato dos colaboradores, assegurando a consistência dos dados através de tipos e restrições apropriadas. O ambiente de trabalho já conta com uma tabela employees previamente configurada.
Sua missão consiste em conectar-se ao banco de dados PostgreSQL utilizando o usuário postgres através do utilitário psql e, em seguida, executar comandos SQL para gerar a tabela employee_contacts. A tabela deve conter as colunas contact_id (chave primária com incremento automático), employee_id (chave estrangeira referenciando a tabela employees), phone_number (valor único) e email (obrigatório/não nulo).
Criar Tabela de Funcionários
Projete uma tabela para armazenar os detalhes de contato dos funcionários, garantindo a integridade dos dados por meio de tipos de dados e restrições (constraints) adequadas.
A tabela employees já foi criada para você. Caso não a encontre, você pode criá-la utilizando o seguinte comando:
CREATE TABLE employees (
employee_id SERIAL PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL
);
Tarefas
Criar uma tabela chamada employee_contacts no PostgreSQL. A tabela deve incluir as colunas contact_id (chave primária), employee_id (chave estrangeira referenciando a tabela employees), phone_number (único) e email (não nulo).
Garantir que a coluna employee_id referencie corretamente a coluna employee_id da tabela employees.
Requisitos
A coluna contact_id deve ser uma chave primária de incremento automático.
A coluna phone_number deve ser única (UNIQUE).
A coluna email não deve permitir valores nulos (NOT NULL).
A coluna employee_id deve ser uma chave estrangeira (FOREIGN KEY) referenciando a tabela employees.
Execute os comandos SQL utilizando o psql.
Exemplos
As tabelas employees e employee_contacts devem apresentar a seguinte estrutura:
Utilize a instrução CREATE TABLE para criar a tabela.
Use o tipo de dado SERIAL para a coluna contact_id para gerar valores inteiros únicos automaticamente.
Utilize a restrição PRIMARY KEY para definir a chave primária.
Utilize a restrição UNIQUE para garantir que a coluna phone_number contenha valores exclusivos.
Utilize a restrição NOT NULL para assegurar que a coluna email não aceite valores nulos.
Utilize a restrição FOREIGN KEY para estabelecer o relacionamento entre a coluna employee_id da tabela employee_contacts e a coluna employee_id da tabela employees.
Lembre-se de conectar ao banco de dados PostgreSQL usando sudo -u postgres psql antes de executar os comandos SQL.
Neste desafio, o objetivo foi criar uma tabela no PostgreSQL chamada employee_contacts dentro de um ambiente controlado. Isso envolveu o design da estrutura da tabela com colunas para contact_id (chave primária auto-incrementável), employee_id (chave estrangeira referenciando a tabela employees), phone_number (único) e email (obrigatório).
A solução exigiu a conexão ao banco de dados como usuário postgres via psql e a execução de comandos SQL para definir a tabela e suas restrições, garantindo a integridade dos dados e o relacionamento correto entre as entidades do banco de dados.