Configuração do Banco de Dados do Sistema de Gerenciamento de Pessoal

SQLBeginner
Pratique Agora

Introdução

Neste projeto, você aprenderá como criar um banco de dados de sistema de gerenciamento de pessoal usando MySQL. O banco de dados armazenará informações sobre funcionários, suas unidades de trabalho e detalhes residenciais.

👀 Visualização

MariaDB [companySys]> DESC company;
+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| company_name | varchar(50) | NO   | PRI | NULL    |       |
| city         | varchar(10) | YES  |     | NULL    |       |
+--------------+-------------+------+-----+---------+-------+
2 rows in set (0.001 sec)

🎯 Tarefas

Neste projeto, você aprenderá:

  • Como acessar o MySQL usando o comando sudo
  • Como criar um banco de dados chamado companySys
  • Como criar três tabelas: company, work e employ
  • Como definir as restrições de chave primária (primary key) e chave estrangeira (foreign key) apropriadas para cada tabela
  • Como inserir dados nas tabelas

🏆 Conquistas

Após concluir este projeto, você será capaz de:

  • Compreender os fundamentos da criação e gerenciamento de bancos de dados
  • Implementar operações CRUD (Create, Read, Update, Delete) em um banco de dados relacional
  • Estabelecer relacionamentos entre tabelas usando chaves primárias e estrangeiras
  • Gerenciar e manipular dados em um banco de dados de sistema de gerenciamento de pessoal

Acessar o MySQL e Criar o Banco de Dados

Nesta etapa, você aprenderá como acessar o MySQL usando o comando sudo e criar o banco de dados companySys.

  1. Abra um terminal e execute o seguinte comando para iniciar o serviço MySQL:
sudo service mysql start
  1. Acesse o MySQL usando o comando sudo:
sudo mysql
  1. Abra o arquivo creatComDatabase.sql.
  2. No arquivo creatComDatabase.sql, crie o banco de dados companySys com o conjunto de caracteres UTF-8:
CREATE DATABASE IF NOT EXISTS companySys DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. Use o banco de dados companySys:
USE companySys;
✨ Verificar Solução e Praticar

Criar as Tabelas

Nesta etapa, você criará as três tabelas: company, work e employ.

  1. Abra o arquivo creatComDatabase.sql e crie as seguintes tabelas no arquivo, em ordem.
  2. Crie a tabela company:
CREATE TABLE IF NOT EXISTS company (
  company_name varchar(50) NOT NULL,
  city varchar(10),
  PRIMARY KEY (company_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  1. Crie a tabela work:
CREATE TABLE IF NOT EXISTS work (
  per_name varchar(10) NOT NULL,
  company_name varchar(50),
  salary decimal(10,2),
  PRIMARY KEY (per_name),
  FOREIGN KEY (company_name) REFERENCES company(company_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  1. Crie a tabela employ:
CREATE TABLE IF NOT EXISTS employ (
  id int NOT NULL,
  person_name varchar(10),
  street varchar(100),
  city varchar(10),
  PRIMARY KEY (id),
  FOREIGN KEY (person_name) REFERENCES work(per_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
✨ Verificar Solução e Praticar

Inserir os Dados

Nesta etapa, você irá inserir os dados nas três tabelas.

  1. Abra o arquivo creatComDatabase.sql e continue a partir da etapa anterior para adicionar a seguinte instrução SQL.
  2. Insira dados na tabela company:
INSERT INTO company (company_name, city) VALUES
  ('ABC Company', 'New York'),
  ('LabEx', 'London'),
  ('Company 3', 'Paris');
  1. Insira dados na tabela work:
INSERT INTO work (per_name, company_name, salary) VALUES
  ('John', 'ABC Company', 5000.00),
  ('Jane', 'LabEx', 6000.00),
  ('Mary', 'Company 3', 5500.00);
  1. Insira dados na tabela employ:
INSERT INTO employ (id, person_name, street, city) VALUES
  (1, 'John', '123 Main Street', 'New York'),
  (2, 'Jane', '456 Park Avenue', 'London'),
  (3, 'Mary', '789 Broadway', 'Paris');
✨ Verificar Solução e Praticar

Verificar o Banco de Dados

Nesta etapa, você verificará o banco de dados descrevendo as tabelas.

  1. No cliente MySQL, execute o seguinte comando para executar o script SQL:
MariaDB [(none)]> SOURCE /home/labex/project/creatComDatabase.sql;
  1. Descreva a tabela company:
DESC company;
MariaDB [companySys]> DESC company;
+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| company_name | varchar(50) | NO   | PRI | NULL    |       |
| city         | varchar(10) | YES  |     | NULL    |       |
+--------------+-------------+------+-----+---------+-------+
2 rows in set (0.001 sec)
  1. Descreva a tabela employ:
DESC employ;
MariaDB [companySys]> DESC employ;
+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| id          | int(11)      | NO   | PRI | NULL    |       |
| person_name | varchar(10)  | YES  | MUL | NULL    |       |
| street      | varchar(100) | YES  |     | NULL    |       |
| city        | varchar(10)  | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
4 rows in set (0.001 sec)
  1. Descreva a tabela work:
DESC work;
MariaDB [companySys]> DESC work;
+--------------+---------------+------+-----+---------+-------+
| Field        | Type          | Null | Key | Default | Extra |
+--------------+---------------+------+-----+---------+-------+
| per_name     | varchar(10)   | NO   | PRI | NULL    |       |
| company_name | varchar(50)   | YES  | MUL | NULL    |       |
| salary       | decimal(10,2) | YES  |     | NULL    |       |
+--------------+---------------+------+-----+---------+-------+
3 rows in set (0.001 sec)

Você criou com sucesso o banco de dados do sistema de gerenciamento de pessoal e inseriu os dados. Parabéns!

✨ Verificar Solução e Praticar

Resumo

Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.