Laboratório Prático
// Criando e Gerenciando um Banco
Construir e gerenciar um sistema de biblioteca.
- Criar um banco com MER, DDL, DML.
- Usar pgAdmin e MySQL Workbench.
- Conectar via PHP remotamente.
Atividade: Cite um objetivo do laboratório.
Criar um banco com DDL
Modelagem ER
// Sistema de Biblioteca
Entidades: Livros, Usuários, Empréstimos.
Atividade: Identifique uma entidade no MER.
Livros
Mapeamento e DDL
// Criando Tabelas
Mapear o MER para tabelas relacionais com DDL.
db_admin@postgres:~#
CREATE TABLE livros (
livro_id INT PRIMARY KEY,
titulo VARCHAR(100),
autor VARCHAR(50),
ano_publicacao INT
);
CREATE TABLE usuarios (
usuario_id INT PRIMARY KEY,
nome VARCHAR(50),
email VARCHAR(100)
);
CREATE TABLE emprestimos (
emprestimo_id INT PRIMARY KEY,
livro_id INT,
usuario_id INT,
data_emprestimo DATE,
FOREIGN KEY (livro_id) REFERENCES livros,
FOREIGN KEY (usuario_id) REFERENCES usuarios
);
Atividade: Escreva DDL para a tabela
livros
.
CREATE TABLE livros ( livro_id INT PRIMARY KEY, titulo VARCHAR(100), autor VARCHAR(50) );
População de Dados
// Inserindo Dados de Teste
Inserir dados de teste com DML.
db_admin@postgres:~#
INSERT INTO livros (livro_id, titulo, autor, ano_publicacao)
VALUES (1, '1984', 'George Orwell', 1949);
INSERT INTO usuarios (usuario_id, nome, email)
VALUES (1, 'Ana Silva', 'ana@email.com');
INSERT INTO emprestimos (emprestimo_id, livro_id, usuario_id, data_emprestimo)
VALUES (1, 1, 1, '2025-08-01');
Atividade: Insira um usuário via DML.
INSERT INTO usuarios (usuario_id, nome, email) VALUES (2, 'João Pereira', 'joao@email.com');
Consultas SQL
// Recuperando Dados
Escrever consultas DML para análise de dados.
db_admin@postgres:~#
SELECT l.titulo, u.nome
FROM livros l
JOIN emprestimos e ON l.livro_id = e.livro_id
JOIN usuarios u ON e.usuario_id = u.usuario_id
WHERE e.data_emprestimo > '2025-01-01';
SELECT u.nome, COUNT(e.emprestimo_id)
FROM usuarios u
LEFT JOIN emprestimos e ON u.usuario_id = e.usuario_id
GROUP BY u.nome
HAVING COUNT(e.emprestimo_id) > 0;
Atividade: Escreva uma consulta para listar livros.
SELECT titulo, autor FROM livros WHERE ano_publicacao > 1900;
pgAdmin e MySQL Workbench
// Gerenciando o Banco
Use ferramentas GUI para criar e gerenciar o banco.
- Conectar ao SGBD (PostgreSQL/MySQL).
- Criar o banco
biblioteca
via GUI. - Executar DDL e DML no editor SQL.
- Gerar diagrama ER (MySQL Workbench).
db_admin@pgadmin:~#
CREATE DATABASE biblioteca;
Atividade: Crie o banco
biblioteca
no pgAdmin.
CREATE DATABASE biblioteca;
Conexão Remota com PHP
// Acessando o Banco
Conectar ao banco via PHP e listar livros.
php@biblioteca:~#
";
}
pg_close($conn);
?>
Atividade: Modifique o PHP para listar usuários.
$result = pg_query($conn, "SELECT nome, email FROM usuarios"); while ($row = pg_fetch_assoc($result)) { echo $row['nome'] . " - " . $row['email'] . "
"; }
Referências
// Fontes e Leitura Complementar
- Date, C. J. Introdução a Sistemas de Banco de Dados
- Documentação oficial do PostgreSQL
- Documentação do MySQL Workbench
- PHP Manual: pg_connect