Neste post, exploramos a criação de um banco de dados relacional utilizando SQL, seguindo o modelo e os conceitos apresentados no livro “Banco de Dados – Projeto e Implementação, 3ª edição“, escrito por Felipe Machado. Vamos criar uma estrutura de banco de dados para um cenário fictício de vendas, aplicando os princípios e as boas práticas descritas no livro.
Introdução
Os bancos de dados relacionais são amplamente utilizados na indústria de TI para armazenar e gerenciar informações. Eles são ideais para organizar dados em tabelas interconectadas, permitindo consultas eficientes e relações claras entre os dados, como explicado em detalhes no livro de Felipe Machado.
Neste exemplo, vamos criar um banco de dados para um sistema de vendas, aplicando os conceitos de modelagem e implementação de banco de dados conforme descritos no livro.
Passo 1 – Criando as Tabelas
A primeira etapa é criar as tabelas que comporão o banco de dados, seguindo as orientações do livro. Vamos começar criando as tabelas para os Vendedores, Clientes, Produtos, Pedidos e Itens de Pedido.
- Tabela Vendedores:
1 2 3 4 5 6 |
CREATE TABLE Vendedores ( Codigo_Vendedor INT PRIMARY KEY, Nome_Vendedor VARCHAR(255) DEFAULT NULL, Salario_Fixo DECIMAL(10, 2) DEFAULT NULL, Faixa_de_Comissao CHAR(1) DEFAULT NULL ); |
- Tabela Clientes:
1 2 3 4 5 6 7 8 9 10 |
CREATE TABLE Clientes ( Cod_Cliente INT PRIMARY KEY, Nome_Cliente VARCHAR(255) DEFAULT NULL, Endereco VARCHAR(255) DEFAULT NULL, Cidade VARCHAR(255) DEFAULT NULL, CEP VARCHAR(8) DEFAULT NULL, UF CHAR(2) DEFAULT NULL, CNPJ VARCHAR(18) DEFAULT NULL, IE VARCHAR(10) DEFAULT NULL ); |
- Tabela Produtos:
1 2 3 4 5 6 |
CREATE TABLE Produto ( Codigo_do_Produto INT PRIMARY KEY, Unidade_do_Produto VARCHAR(10) DEFAULT NULL, Descricao_do_Produto VARCHAR(255) DEFAULT NULL, Valor_Unitario DECIMAL(10, 2) DEFAULT NULL ); |
- Tabela Pedidos:
1 2 3 4 5 6 7 8 |
CREATE TABLE Pedido ( Numero_do_Pedido INT PRIMARY KEY, Prazo_de_Entrega INT DEFAULT NULL, Codigo_do_Cliente INT DEFAULT NULL, Codigo_do_Vendedor INT DEFAULT NULL, FOREIGN KEY (Codigo_do_Cliente) REFERENCES Clientes(Cod_Cliente), FOREIGN KEY (Codigo_do_Vendedor) REFERENCES Vendedores(Codigo_Vendedor) ); |
- Tabela Itens de Pedido:
1 2 3 4 5 6 7 8 |
CREATE TABLE Item_de_Pedido ( Numero_do_Pedido INT, Codigo_do_Produto INT, Quantidade INT DEFAULT NULL, PRIMARY KEY (Numero_do_Pedido, Codigo_do_Produto), FOREIGN KEY (Numero_do_Pedido) REFERENCES Pedido(Numero_do_Pedido), FOREIGN KEY (Codigo_do_Produto) REFERENCES Produto(Codigo_do_Produto) ); |
Passo 2 – Inserindo Dados nas Tabelas
Com as tabelas criadas, a próxima etapa é inserir dados, seguindo as práticas de preenchimento de dados descritas no livro de Felipe Machado.
- Inserção de dados na tabela Vendedores:
1 2 3 4 5 6 7 8 9 10 |
INSERT INTO Vendedores (Codigo_Vendedor, Nome_Vendedor, Salario_Fixo, Faixa_de_Comissao) VALUES (11, 'João', '2780.00', 'C'), (101, 'João', '2650.00', 'C'), (111, 'Carlos', '2490.00', 'A'), (209, 'José', '1800.00', 'C'), (213, 'Jonas', '2300.00', 'A'), (240, 'Antônio', '9500.00', 'C'), (250, 'Maurício', '2930.00', 'B'), (310, 'Josias', '870.00', 'B'), (720, 'Felipe', '4600.00', 'A'); |
- Inserção de dados na tabela Clientes:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
INSERT INTO Clientes (Cod_Cliente, Nome_Cliente, Endereco, Cidade, CEP, UF, CNPJ, IE) VALUES (20, 'Beth', 'Av. Climério 45', 'São Paulo', '25679300', 'SP', '32485126/7326-8', '9280'), (110, 'Jorge', 'Rua Caiapo 13', 'Curitiba', '30078500', 'PR', '14512764/9834-9', NULL), (130, 'Edmar', 'Rua da Praia sn', 'Salvador', '30079300', 'BA', '23463284/234-9', '7121'), (157, 'Paulo', 'Tv. Moraes c/3', 'Londrina', NULL, 'PR', '32848223/324-2', '1923'), (180, 'Lívio', 'Av. Beira Mar n. 1256', 'Florianópolis', '30077500', 'SC', '12736571/2347-4', NULL), (222, 'Lúcia', 'Rua Itabira 123 Loja 9', 'Belo Horizonte', '22124391', 'MG', '28315213/9348-8', '2985'), (234, 'José', 'Quadra 3 bl. 3 sl. 1003', 'Brasília', '22841650', 'DF', '21763576/1232-3', '2931'), (260, 'Susana', 'Rua Lopes Mendes 12', 'Niterói', '30046500', 'RJ', '21763571/232-9', '2530'), (290, 'Renato', 'Rua Meireles 123 bl.2 sl. 345', 'São Paulo', '30225900', 'SP', '13276571/1231-4', '1820'), (390, 'Sebastião', 'Rua da Igreja 10', 'Uberaba', '30438700', 'MG', '32176547/213-3', '9071'), (410, 'Rodolfo', 'Largo da Lapa 27 sobrado', 'Rio de Janeiro', '30078900', 'RJ', '12835128/2346-9', '7431'), (720, 'Ana', 'Rua 17 n. 19', 'Niterói', '24358310', 'RJ', '12113231/0001-34', '2134'), (830, 'Maurício', 'Av. Paulista 1236 sl 2345', 'São Paulo', '3012683', 'SP', '32816985/7465-6', '9343'), (870, 'Flávio', 'Av. Pres. Vargas 10', 'São Paulo', '22763931', 'SP', '22534126/9387-9', '4631'); |
- Inserção de dados na tabela Produtos:
1 2 3 4 5 6 7 8 9 10 11 |
INSERT INTO Produto (Codigo_do_Produto, Unidade_do_Produto, Descricao_do_Produto, Valor_Unitario) VALUES (13, 'G', 'Ouro', '6.18'), (22, 'M', 'Linho', '0.11'), (25, 'Kg', 'Queijo', '0.97'), (30, 'SAC', 'Açúcar', '0.30'), (31, 'BAR', 'Chocolate', '0.87'), (45, 'M', 'Madeira', '0.25'), (53, 'M', 'Linha', '1.80'), (77, 'M', 'Papel', '1.05'), (78, 'L', 'Vinho', '2.00'), (87, 'M', 'Cano', '1.97'); |
- Inserção de dados na tabela Pedidos:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
INSERT INTO Pedido (Numero_do_Pedido, Prazo_de_Entrega, Codigo_do_Cliente, Codigo_do_Vendedor) VALUES (91, 20, 260, 11), (97, 20, 720, 101), (98, 20, 410, 209), (101, 15, 720, 101), (103, 20, 260, 11), (104, 30, 110, 101), (105, 15, 180, 240), (108, 15, 290, 310), (111, 20, 260, 240), (119, 30, 390, 250), (121, 20, 410, 209), (127, 10, 410, 11), (137, 20, 720, 720), (138, 20, 260, 11), (143, 30, 20, 111), (148, 20, 720, 101), (189, 15, 870, 213), (203, 30, 830, 250); |
- Inserção de dados na tabela Itens de Pedido:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
INSERT INTO Item_de_Pedido (Numero_do_Pedido, Codigo_do_Produto, Quantidade) VALUES (91, 77, 40), (97, 77, 20), (98, 77, 5), (101, 13, 5), (101, 31, 9), (101, 78, 18), (103, 53, 37), (104, 53, 32), (105, 78, 10), (108, 13, 17), (111, 25, 10), (111, 78, 70), (119, 13, 6), (119, 22, 10), (119, 53, 43), (119, 77, 40), (121, 25, 10), (121, 31, 35), (137, 13, 8), (138, 22, 10), (138, 53, 18), (138, 77, 35), (143, 31, 20), (143, 78, 10), (148, 25, 10), (148, 31, 7), (148, 45, 8), (148, 77, 3), (148, 78, 30), (189, 78, 45), (203, 31, 6); |
Com todos os dados inseridos, nosso banco de dados está pronto para ser consultado e utilizado em um sistema de vendas. Este artigo cobriu os passos essenciais para criar um banco de dados relacional com base no livro “Banco de Dados – Projeto e Implementação, 3ª edição” de Felipe Machado, fornecendo uma base sólida para futuros desenvolvimentos e consultas.
Lembre-se de que a modelagem de banco de dados é uma parte crucial do desenvolvimento de sistemas de informação, e seguir as boas práticas descritas em fontes confiáveis, como o livro mencionado, é fundamental para criar um sistema robusto e eficiente.
*Atualizado em 22 de setembro de 2023