Banco de Dados
Prof. Me. Karlos Oliveira
O que veremos hoje...
• SQL
BANCO DE DADOS 2
Tipos de Modelo de Dados
• Conceitual, visão geral dos dados e suas
relações (planta baixa).
• Lógico, que detalha a estrutura dos dados
(tabelas e colunas).
• Físico, que descreve como os dados são
armazenados fisicamente no sistema.
BANCO DE DADOS 3
Tipos de Modelo de Dados
BANCO DE DADOS 4
SGBD
• SGBD (Sistema de
Gerenciamento de Banco de
Dados)
• Software para criar, manter e
manipular bancos de dados.
• Organiza e gerencia dados de
forma eficiente.
• Controla o acesso e garante a
segurança dos dados.
BANCO DE DADOS 5
SGBD
• Funcionalidades:
• Controle de redundância
• Acesso limitado aos dados (segurança)
• Armazenamento persistente dos dados
• Definição e manutenção de restrições de
integridade
• Controle de concorrência
• Recuperação de falhas
• Proporcionar ao usuário uma visão
abstrata dos dados
• Os usuários não precisam ter
conhecimento sobre detalhes de
implementação e manutenção dos
dados
BANCO DE DADOS 6
Tipos de SGBD no Mercado
• MySQL: Gratuito e muito usado em
desenvolvimento web.
• PostgreSQL: Gratuito, robusto, com suporte
a dados avançados.
• SQL Server: Pago, popular em grandes
empresas que usam produtos Microsoft.
• Oracle: Potente, seguro e usado em
corporações de grande porte.
• NoSQL (Ex: MongoDB): Para dados não
estruturados, como vídeos e redes sociais.
BANCO DE DADOS 7
SQL
• Structured Query Language é uma linguagem para acesso e manipulação de
banco de dados relacionais.
• Padronizada pela ANSI (American National Standards Institute).
• Porém, existem diferentes versões da linguagem.
BANCO DE DADOS 8
SQL - Elementos
• Cláusulas: Definem o que será feito com os dados no banco de dados.
• Operadores relacionais e lógicos:
• Relacionais são usados para comparar valores. Eles retornam valores booleanos
• Lógicos são usados para combinar várias condições dentro de uma cláusula.
• Funções de agregação: Usados para realizar cálculos sobre conjuntos de dados
• Expressões: Combinam valores, operadores e funções para formar um resultado
• Predicados: Condições que retornam verdadeiro ou falso e são usados principalmente nas
cláusulas WHERE e HAVING
BANCO DE DADOS 9
Subconjuntos SQL
BANCO DE DADOS 10
Data Definition Language - DDL
• Utilizada para a criação do esquema do banco de dados.
• As principais ações desta linguagem são:
• Criação de tabelas (CREATE TABLE)
• Alteração das tabelas (ALTER TABLE)
• Remoção de tabelas (DROP TABLE)
• Renomear (RENAME)
• Remover conteúdo de tabelas (TRUNCATE)
BANCO DE DADOS 11
Data Definition Language - DDL
CREATE DATABASE LojaVirtual;
USE LojaVirtual;
CREATE TABLE Produtos (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
preco DECIMAL(10,2),
estoque INT
);
ALTER TABLE Produtos MODIFY preco FLOAT;
DROP TABLE Produtos;
RENAME TABLE Produtos TO ItensEstoque;
TRUNCATE TABLE ItensEstoque;
BANCO DE DADOS 12
Data Manipulation Language - DML
• Utilizada para manipulação de dados.
• As principais ações desta linguagem são:
• Inclusão de dados (INSERT)
• Alteração dos dados (UPDATE)
• Exclusão de dados(DELETE)
BANCO DE DADOS 13
Data Manipulation Language - DML
INSERT INTO Produtos (nome, preco, estoque)
VALUES ('Camiseta Algodão', 49.90, 100);
UPDATE Produtos
SET estoque = 200
WHERE nome = 'Camiseta Algodão';
DELETE FROM Produtos
WHERE nome = 'Camiseta Algodão';
BANCO DE DADOS 14
Insert
Possui duas formas de utilizar esse comando:
1. Informando as colunas que deseja colocar valores: Insert into Cliente (codigo, nome,
endereco) values (1, ‘Karlos’, ‘Rua teste’);
2. Não informamos as colunas e valores para todas as colunas: Insert into Cliente
values (1, ‘Karlos’, ‘Rua teste’, ’04/04/1984’);
Forma Quando usar
Quando insere valores em todas as colunas e na ordem
Sem colunas (VALUES (...))
certa.
Quando insere em colunas específicas ou para maior
Com colunas ((coluna1, ...))
clareza e manutenção.
BANCO DE DADOS 15
Data Query Language - DQL
• Utilizada para selecionar tuplas de uma ou mais tabelas.
• A ação desta linguagem é:
• Selecionar dados (SELECT)
BANCO DE DADOS 16
Data Query Language - DQL
SELECT nome, preco FROM Produtos
WHERE estoque < 50;
BANCO DE DADOS 17
MySQL WorkBench
BANCO DE DADOS 18
MySQL WorkBench
BANCO DE DADOS 19
MySQL WorkBench
BANCO DE DADOS 20
MySQL
CREATE DATABASE cadastro;
BANCO DE DADOS 21
MySQL – Tipos Primitivos
BANCO DE DADOS 22
MySQL
CREATE TABLE pessoas (
nome VARCHAR(100),
idade INT,
sexo CHAR(1),
peso FLOAT,
altura FLOAT,
nacionalidade VARCHAR(50)
);
BANCO DE DADOS 23
MySQL
Error Code: 1046. No database selected Select the
default DB to be used by double-clicking its name in
the SCHEMAS list in the sidebar.
USE cadastro;
BANCO DE DADOS 24
MySQL
DESCRIBE pessoas;
BANCO DE DADOS 25
Melhorando nosso BD
DROP DATABASE cadastro;
BANCO DE DADOS 26
Melhorando nosso BD
CREATE DATABASE cadastro;
CREATE TABLE pessoas (
nome VARCHAR(100),
idade INT,
sexo CHAR(1),
peso FLOAT,
altura FLOAT,
nacionalidade VARCHAR(50)
);
BANCO DE DADOS 27
Melhorando nosso BD
CREATE TABLE pessoas (
id INT NOT NULL AUTO_INCREMENT,
nome VARCHAR(100) NOT NULL,
nascimento DATE,
sexo ENUM(‘M’, ‘F’),
peso DECIMAL(5,2),
altura DECIMAL(3,2),
nacionalidade VARCHAR(50) DEFAULT ‘Brasil’,
PRIMARY KEY(id)
);
BANCO DE DADOS 28
INSERT INTO
INSERT INTO pessoas (nome, nascimento, sexo, peso, altura, nacionalidade)
VALUES ('Ana Souza', '1995-07-12', 'F', 62.50, 1.65, 'Brasil’);
SELECT * FROM pessoas;
INSERT INTO pessoas (nome, nascimento, sexo, peso, altura, nacionalidade)
VALUES (‘Maria Silva', ‘1949-07-02', 'F’, 52.50, 1.45, 'Brasil’);
INSERT INTO pessoas (id, nome, nascimento, sexo, peso, altura, nacionalidade)
VALUES (DEFAULT, 'Rafael Souza', ‘2021-08-24', 'M’, 19.50, 1.03, 'Brasil');
BANCO DE DADOS 29
INSERT INTO
INSERT INTO pessoas
VALUES (DEFAULT, ‘Karlos Oliveira', ‘1989-04-30', ‘M’, 73.50, 1.61, 'Brasil’);
SELECT * FROM pessoas;
BANCO DE DADOS 30
INSERT INTO
INSERT INTO pessoas VALUES
(DEFAULT, 'João Silva', '1990-05-10', 'M', 75.50, 1.78, 'Brasil'),
(DEFAULT, 'Maria Oliveira', '1985-12-22', 'F', 63.20, 1.65, 'Portugal'),
(DEFAULT, 'Lucas Ferreira', '2000-08-30', 'M', 82.00, 1.82, 'Brasil');
BANCO DE DADOS 31
Bibliografia
• ELMASRI, R.; NAVATHE, S. B. Sistemas de Banco de Dados. Pearson, 4ª edição, 1128p.
2005. Disponível em: [Link]
(Capítulo 3 – Páginas 35 a 59).
• PUGA, S.; FRANÇA, E.; GOYA, M. Banco de Dados: implementação em SQL, PL/SQL e
Oracle 11g. São Paulo, São Paulo, 2013. Disponível em:
[Link] (Capítulo 4 – Páginas 77 a
108).
• SETZER, V. W.; SILVA, F. S. C. Bancos de dados: aprenda o que são, melhore seu
conhecimento, construa os seus. Edgard Blücher, 2005. Disponível em:
[Link] (Capítulo 2 – Páginas
21 a 50).
BANCO DE DADOS 32
Próxima aula...
• Prática
BANCO DE DADOS 33
Até a próxima...
BANCO DE DADOS 34