15-Script DDL Completo + Revisão Geral do Bimestre
Materiais desta aula
Script DDL Completo + Revisão Geral do Bimestre
1. Fechamento do bimestre
Hoje juntamos os dois blocos do bimestre: vamos pegar o cenário da Oficina Mecânica, que vocês já modelaram conceitualmente no Encontro 9, e escrever o script DDL completo — todas as tabelas, tipos de dados, constraints, chaves estrangeiras e índices — do zero, em SQL de verdade.
Isso é literalmente o "de trás para frente" do que fizemos a maior parte do bimestre: em vez de desenhar no Workbench e deixar a ferramenta gerar o SQL, hoje vocês escrevem o SQL direto, aplicando tudo que aprenderam sobre sintaxe.
2. Checklist de revisão geral do bimestre
Antes de começar, uma passada rápida por tudo que vimos:
| Bloco | Conceitos-chave |
|---|---|
| 1 — Fundamentos | Dado x informação, SGBD, tabela/registro/campo, chave primária/estrangeira, MySQL |
| 2 — Modelagem (DER) | Entidade, atributo (4 tipos), relacionamento, cardinalidade (1:1, 1:N, N:N), Identifying x Non-Identifying, auto-relacionamento, mapeamento conceitual→lógico→físico |
| 3 — SQL (DDL) | CREATE DATABASE/TABLE, tipos de dados, NOT NULL, UNIQUE, ALTER TABLE, DROP TABLE, índices |
Se algum item da tabela soar estranho, é sinal de dar uma olhada rápida no texto de apoio daquele encontro antes da Avaliação 2.
3. O cenário: Oficina Mecânica (do Encontro 9)
Mesmo cenário de antes — mas agora, em vez de desenhar, vamos escrever o SQL. Os campos de cada entidade estão no exercício; a escolha do tipo de dado de cada um é sua (aplicando o Encontro 12).
4. Estrutura sugerida do script
CREATE DATABASE oficina;
USE oficina;
CREATE TABLE cliente (...);
CREATE TABLE veiculo (...);
CREATE TABLE ordem_servico (...);
CREATE TABLE peca (...);
CREATE TABLE item_os (...);
CREATE TABLE mecanico (...);
CREATE TABLE cartao_fidelidade (...);
CREATE TABLE telefone_cliente (...);
CREATE INDEX ...;
Dica de ordem: crie primeiro as tabelas que NÃO dependem de nenhuma outra (ex.: cliente, mecanico, peca), e só depois as que têm FOREIGN KEY apontando para elas (ex.: veiculo depende de cliente; ordem_servico depende de veiculo e mecanico). Se você tentar criar uma FK para uma tabela que ainda não existe, o MySQL dá erro.
5. Prévia do próximo encontro
O Encontro 16 é a Avaliação 2 — teórico-prática, cobrindo conceitos do bimestre inteiro e DDL.