Inserir Dados e Testar a Restrição de Chave Estrangeira
Nesta etapa, você inserirá dados nas tabelas customers e orders e testará a restrição de chave estrangeira.
Primeiro, você precisa habilitar as restrições de chave estrangeira no SQLite (elas são desabilitadas por padrão):
PRAGMA foreign_keys = ON;
Agora, insira alguns dados na tabela customers:
INSERT INTO customers (first_name, last_name, email) VALUES
('John', 'Doe', 'john.doe@example.com'),
('Jane', 'Smith', 'jane.smith@example.com');
Este comando insere dois novos clientes na tabela customers. O customer_id será atribuído automaticamente.
Agora, insira um pedido na tabela orders, referenciando um dos clientes existentes:
INSERT INTO orders (customer_id, order_date, total) VALUES
(1, '2023-01-01', 100.00);
Este comando insere um novo pedido na tabela orders, associando-o ao cliente cujo customer_id é 1.
Em seguida, tente inserir um pedido com um customer_id que não existe na tabela customers:
INSERT INTO orders (customer_id, order_date, total) VALUES
(99, '2023-01-02', 50.00);
Você verá uma mensagem de erro semelhante a esta: Error: FOREIGN KEY constraint failed. Isso confirma que a restrição de chave estrangeira está funcionando corretamente, impedindo que você crie um pedido para um cliente inexistente.
Para visualizar os dados nas tabelas, você pode usar os seguintes comandos:
SELECT * FROM customers;
SELECT * FROM orders;
Esses comandos exibirão o conteúdo das tabelas customers e orders, respectivamente.