Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

🏁 CONSIDERAÇÕES FINAIS: UNIDADE III

Você concluiu a jornada pelos fundamentos da linguagem SQL. Agora você é capaz de estruturar bancos de dados e manipular informações com precisão técnica. 🛡️🧩


Objetivo: Consolidar os conhecimentos de DDL e DML através de exercícios práticos e desafios de lógica SQL.


📗 Tabelas de Referência Acadêmica

Utilize as estruturas abaixo para resolver os desafios:

🎓 Tabela: ALUNO

ID (PK)NomeSobrenomeRA (Unique)E-mail
1JoãoSilva202401joao@univ.br

👨‍🏫 Tabela: PROFESSOR

ID (PK)NomeSobrenomeTitulação
10RafaelPetryDoutor

✅ Verificação de Aprendizagem (Unidade III)

📝 Questões Objetivas

1. Qual bloco da linguagem SQL é responsável pela criação, alteração e exclusão de estruturas de dados (como tabelas e índices)? a) DML (Data Manipulation Language). b) DDL (Data Definition Language). c) DCL (Data Control Language). d) TCL (Transaction Control Language).

2. Durante a manipulação de dados em uma tabela transacional corporativa, um DBA esqueceu a cláusula WHERE em um comando UPDATE. Qual será a consequência arquitetural dessa ação no SGBD PostgreSQL 17? a) O comando falhará imediatamente devido à proteção de segurança nativa contra perdas (Safe Updates block). b) Todas as linhas (tuplas) da tabela sofrerão a atualização mencionada. c) Apenas a última linha modificada será revertida (Rollback automático). d) O PostgreSQL exigirá a confirmação do comando.


🧠 Atividades Práticas: Unidade III

📝 Parte 1: Engenharia de Estruturas (DDL)

  1. 🏗️ Nova Entidade: Crie a tabela CURSO com ID (PK), NOME (Not Null) e DURACAO_HORAS.
  2. ⚙️ Evolução: Adicione a coluna DATA_CONTRATACAO (DATE) à tabela PROFESSOR.

📝 Parte 2: Manipulação de Dados (DML)

  1. ➕ Inserção: Insira a professora 'Ana Souza', 'Mestre'.
  2. 🔄 Atualização: Altere o e-mail do 'João Silva' para joao.silva@nova.br.
  3. ❌ Remoção: Remova alunos com RA IS NULL.

📝 Parte 3: Inteligência de Dados (SELECT)

  1. 🔍 Filtro: Selecione alunos com e-mail terminando em @univ.br.
  2. 🔢 Ordenação: Liste professores por NOME (A-Z).

➡️ Clique aqui para revelar o Gabarito e Soluções (SPOILER) ⬅️

📊 Gabarito das Questões Objetivas:

  1. Letra B (DDL). É a sub-linguagem para definição da estrutura do banco (CREATE, ALTER, DROP).
  2. Letra B. Um UPDATE sem WHERE altera todos os registros da tabela indiscriminadamente. Diferente do MySQL (que possui modo Safe Updates por padrão no Workbench), um SGBD sem travas executará a alteração em todas as tuplas.

🏗️ Resolução Parte 1 (DDL):

CREATE TABLE CURSO (
    ID INT PRIMARY KEY,
    NOME VARCHAR(100) NOT NULL,
    DURACAO_HORAS INT
);

ALTER TABLE PROFESSOR ADD COLUMN DATA_CONTRATACAO DATE;

📝 Resolução Parte 2 (DML):

INSERT INTO PROFESSOR (ID, NOME, SOBRENOME, TITULACAO) 
VALUES (11, 'ANA', 'SOUZA', 'MESTRE');

UPDATE ALUNO 
SET EMAIL = 'JOAO.SILVA@NOVA.BR' 
WHERE ID = 1;

DELETE FROM ALUNO WHERE RA IS NULL;

🔍 Resolução Parte 3 (SELECT):

SELECT NOME, SOBRENOME 
FROM ALUNO 
WHERE EMAIL LIKE '%@univ.br';

SELECT * FROM PROFESSOR ORDER BY NOME ASC;

💡 Dica de Engenheiro: A SQL exige prática. Tente modificar as resoluções acima adicionando filtros mais complexos ou usando LIMIT para restringir resultados. 🚀🛡️