-- Tabela de Carros: armazena os carros disponíveis na loja.
-- 'id_carro' é a chave primária, que será incrementada automaticamente.
CREATE TABLE carros (
    id_carro INTEGER PRIMARY KEY AUTOINCREMENT, -- Chave primária auto-incrementada
    modelo TEXT,    -- Modelo do carro
    marca TEXT,     -- Marca do carro
    ano INTEGER,    -- Ano de fabricação
    preco REAL      -- Preço de venda
);

-- Tabela de Clientes: armazena as informações dos clientes da loja.
-- 'id_cliente' é a chave primária, que será incrementada automaticamente.
CREATE TABLE clientes (
    id_cliente INTEGER PRIMARY KEY AUTOINCREMENT, -- Chave primária auto-incrementada
    nome TEXT,    -- Nome do cliente
    email TEXT,   -- Email do cliente
    telefone TEXT -- Telefone de contato do cliente
);

-- Tabela de Vendedores: armazena as informações dos vendedores.
-- 'id_vendedor' é a chave primária, que será incrementada automaticamente.
CREATE TABLE vendedores (
    id_vendedor INTEGER PRIMARY KEY AUTOINCREMENT, -- Chave primária auto-incrementada
    nome TEXT,    -- Nome do vendedor
    email TEXT,   -- Email do vendedor
    telefone TEXT -- Telefone de contato
);

-- Tabela de Vendas: registra as vendas realizadas pelos clientes.
-- A tabela relaciona clientes, carros e vendedores com chaves estrangeiras.
CREATE TABLE vendas (
    id_venda INTEGER PRIMARY KEY AUTOINCREMENT,  -- Chave primária auto-incrementada
    id_cliente INTEGER,    -- Chave estrangeira referenciando a tabela 'clientes'
    id_carro INTEGER,      -- Chave estrangeira referenciando a tabela 'carros'
    id_vendedor INTEGER,   -- Chave estrangeira referenciando a tabela 'vendedores'
    data_venda DATE,       -- Data em que a venda foi feita
    FOREIGN KEY (id_cliente) REFERENCES clientes(id_cliente),  -- Relacionamento com a tabela 'clientes'
    FOREIGN KEY (id_carro) REFERENCES carros(id_carro),        -- Relacionamento com a tabela 'carros'
    FOREIGN KEY (id_vendedor) REFERENCES vendedores(id_vendedor) -- Relacionamento com a tabela 'vendedores'
);

-- Inserção de registros na tabela de carros
-- São três carros, com modelo, marca, ano e preço.
INSERT INTO carros (modelo, marca, ano, preco) VALUES
('Civic', 'Honda', 2022, 145000.00),     -- Carro 1
('Corolla', 'Toyota', 2023, 152000.00),  -- Carro 2
('Onix Plus', 'Chevrolet', 2021, 98000.00); -- Carro 3

-- Inserção de registros na tabela de clientes
-- São três clientes, com nome, email e telefone de contato.
INSERT INTO clientes (nome, email, telefone) VALUES
('Carlos Mendes', 'carlos.mendes@example.com', '11987654321'),    -- Cliente 1
('Fernanda Lima', 'fernanda.lima@example.com', '21976543210'),    -- Cliente 2
('Roberto Alves', 'roberto.alves@example.com', '31965432109');    -- Cliente 3

-- Inserção de registros na tabela de vendedores
-- São três vendedores, com nome, email e telefone.
INSERT INTO vendedores (nome, email, telefone) VALUES
('Juliana Costa', 'juliana.costa@loja.com', '11999887766'),    -- Vendedor 1
('Marcos Rocha', 'marcos.rocha@loja.com', '21988776655'),      -- Vendedor 2
('Patricia Souza', 'patricia.souza@loja.com', '31977665544');  -- Vendedor 3

-- Inserção de registros na tabela de vendas
-- Cada venda relaciona um cliente com um carro e um vendedor, além da data.
INSERT INTO vendas (id_cliente, id_carro, id_vendedor, data_venda) VALUES
(1, 1, 1, '2024-09-15'),  -- Cliente 1 compra o Carro 1 com o Vendedor 1
(2, 3, 2, '2024-09-20'),  -- Cliente 2 compra o Carro 3 com o Vendedor 2
(3, 2, 3, '2024-10-01');  -- Cliente 3 compra o Carro 2 com o Vendedor 3

-- Consulta para listar os clientes, os carros que compraram, o vendedor e a data da venda.
-- A consulta faz um JOIN nas tabelas 'vendas', 'clientes', 'carros' e 'vendedores'.
SELECT
    clientes.nome AS Cliente,        -- Nome do cliente
    carros.modelo AS Carro,          -- Modelo do carro comprado
    vendedores.nome AS Vendedor,     -- Nome do vendedor
    vendas.data_venda AS DataVenda   -- Data da venda
FROM
    vendas
JOIN
    clientes ON vendas.id_cliente = clientes.id_cliente  -- Relaciona vendas com clientes
JOIN
    carros ON vendas.id_carro = carros.id_carro          -- Relaciona vendas com carros
JOIN
    vendedores ON vendas.id_vendedor = vendedores.id_vendedor; -- Relaciona vendas com vendedores

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: