Tables, keys and relationships · Tabelas, chaves e relacionamentos
More than one table
Real databases split data across several tables. This lesson uses a small shop with two of them:
customer— one row per customer (id,name,city)orders— one row per order (id,customer_id,order_date,total)
Storing the customer's name on every order would repeat it again and again. Keeping customers in their own table stores each one once.
Mais de uma tabela
Bancos de dados reais dividem os dados entre várias tabelas. Esta lição usa uma pequena loja com duas delas:
customer— uma linha por cliente (id,name,city)orders— uma linha por pedido (id,customer_id,order_date,total)
Armazenar o nome do cliente em cada pedido o repetiria incessantemente. Manter clientes em sua própria tabela armazena cada um uma vez.
Primary keys
A primary key is the column that uniquely identifies each row. It is never blank and never repeated.
customer.idis the primary key ofcustomer.orders.idis the primary key oforders.
Given a primary key value, you can always find exactly one row.
Chaves primárias
Uma chave primária é a coluna que identifica unicamente cada linha. Ela nunca está em branco e nunca se repete.
customer.idé a chave primária decustomer.orders.idé a chave primária deorders.
Dado um valor de chave primária, você sempre pode encontrar exatamente uma linha.
Foreign keys
A foreign key is a column that holds the primary key of another table, linking the two.
orders.customer_id holds a value from customer.id — it says which customer each order belongs to.
Referential integrity means every foreign-key value must match a real primary key: an order can't belong to a customer who doesn't exist.
Chaves estrangeiras
Uma chave estrangeira é uma coluna que armazena a chave primária de outro tabela, ligando as duas.
orders.customer_id contém um valor de customer.id — ela diz qual cliente cada pedido pertence.
Integridade referencial significa que todo valor de chave estrangeira deve corresponder a uma chave primária real: um pedido não pode pertencer a um cliente que não existe.
Common mistakes
- A PRIMARY KEY is unique and cannot be NULL.
- A foreign key points to another table's primary key.
Erros comuns
- Uma PRIMARY KEY é única e não pode ser NULL.
- Uma chave estrangeira aponta para a chave primária de outra tabela.
Keys link two tables · Chaves conectam duas tabelas
A shared key · chave lets a row in one table point to a row in another. · Uma chave compartilhada permite que uma linha em uma tabela aponte para uma linha em outra.
Show the whole customer table so you can see the rows and their primary key id. · Exiba toda a tabela customer para ver as linhas e sua chave primária id.
Click Run to see the output here. · Clique em Executar para ver a saída aqui.
Show each order's id, its customer_id (the foreign key), and its total, ordered by id. · Exiba a id de cada pedido, sua customer_id (a chave estrangeira) e sua total, ordenado por id.
Click Run to see the output here. · Clique em Executar para ver a saída aqui.