Logo Passei Direto
Buscar

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Banco de dados MySQL e comandos SQL 
Prof. Msc. Allan CostaProf. Msc. Allan Costa
• SQL (Structured Query Language)
• Desenvolvida pela IBM - 1970 para bds relacionais
• Operações não procedurais de manipulação de 
conjuntos de dados
• Padrão ANSI 86, 89 e 92
• Suporte a linguagens de programação
• Atualmente: em direção ao padrão SQL3
HistHistóóricorico
MySql - Introdução
• O MySql é um servidor de banco de dados cliente-
servidor, relacional, multi-usuário e multi-thread.
• SQL – Structured Query Language
É uma linguagem estruturada de consulta que 
torna possível a manipulação do banco de dados.
MySql
• Empresa desenvolvedora:
T.c.X DataKonsultAB
• A equipe tem usado o MySql desde 1996 em um 
ambiente com mais de 40 bancos de dados 
contendo 10.000 tabelas, somando 
aproximadamente 100Gbytes de dados (na época)
• Atualmente o MySql foi adquirido pela Sun.
Características
• Suporta grande número de usuários simultâneos
• Alta velocidade de execução
• Plataformas: Windows, Linux, OS/2, Mac OS X , etc...
• Manipula grandes bancos de dados, na ordem de 
50.000.000 registros
• ACID Transactions: responsável por construir 
aplicações críticas de maneira confiável e segura;
• Stored Procedures;
• Triggers; 
• Views;
• Information Schema: provê rápido acesso aos 
metadados; 
• Distributed Transactions (XA): suporta transações 
complexas sobre múltiplos bancos de dados;
Comandos Básicos
• mysql –u <usuário> -p <ENTER>
– Conectar com o banco de dados mysql
• show databases;
– Lista todos os bancos de dados existentes
• use <banco de dados>;
– Seta o banco de dados para ser utilizado
• show tables;
– Lista as tabelas do banco de dados setado
SQL - Comandos
• SELECT
Faz consultas
• INSERT
Insere um registro
• UPDATE
Modifica um registro
• DELETE
Exclui um registro
Modelo Entidade Relacionamento
• Sem relacionamento
• Com relacionamento
Criando o banco de dados
• Utilize o console ou qualquer ferramenta gráfica;
• Comando para criar banco de dados;
– CREATE DATABASE <banco de dados>
• Exemplo:
– CREATE DATABASE BD1NA;
Criando a tabela baseada no modelo
/*
Tabela aluno
*/
Create table Aluno (
Matricula Varchar(20) 
NOT NULL ,
nome Varchar(200) ,
idade Integer(3) ,
email Varchar(100) ,
cd_turma Varchar(5) 
NOT NULL ,
Primary Key (Matricula)
);
/*
Tabela Turma
*/
Create table Turma (
cd_turma Varchar(5) 
NOT NULL ,
nome_turma
Varchar(70) ,
Primary Key (cd_turma)
);
• Show tables;
• Describe turma;
• Describe aluno;
Inserindo Informação no banco de dados
• INSERT INTO
tabela
VALUES
(null, ‘joao’, 10, ...)
OU informando a sequencia dos campos a serem 
inseridos
• INSERT INTO
tabela (<campo1>, <campo2>, ...)
VALUES
(null, ‘joao’, 10, ...)
Exemplo
• Insert into turma (cd_turma, nome_turma) VALUES 
(“a1”, “BIA2009”);
• Insert into turma (cd_turma, nome_turma) VALUES 
(“a2”, “LIC2009”);
• Insert into turma (nome_turma, cd_turma) VALUES 
(“BIA2010”, “a3”);
• Insert into turma VALUES (“a4”, “BIA2011”);
• Insert into turma VALUES (“a5”, “LIC2011”);
Exercício
• Insira 5 informações na 
tabela aluno:
matricula nome idade email cd_turma
1 Edvar 15 e@ a4
2 João 23 j@ a5
3 Maria 23 m@ a3
5 Remo 43 re@ a1
8 Cunha 55 souleao@ a1
Exercício
• Crie:
– Banco de dados empregado;
– Tabela conforme o modelo E-R abaixo:
Recursos das Instruções SELECT SQL
SeleçãoProjeção
Tabela 1 Tabela 2
Tabela 1Tabela 1
Junção
Instrução SELECT Básica
SELECT coluna1,coluna2
FROM tabela;
SELECT coluna1,coluna2
FROM tabela;
• SELECT identifica quais colunas
• FROM identifica qual tabela
SELECT *
FROM departamento;
Selecionando TODAS as Colunas
Selecionando Colunas Específicas
SELECT departamento_id, localizacao_id
FROM departamento;
Criando Instruções SQL
• As instruções SQL não fazem distinção entre 
maiúsculas e minúsculas.
• As instruções SQL podem estar em uma ou mais
linhas.
• As palavras-chave não podem ser abreviadas ou
dividas de uma linha para outra.
• Normalmente, as cláusulas são colocadas em linhas
separadas.
• Os recuos são usados para aperfeiçoar a legibilidade.
Linhas Duplicadas
A exibição default das consultas é de todas as linhas,
incluindo linhas duplicadas.
SELECT empregado_id
FROM departamento;
SELECT empregado_id
FROM departamento;
…
Eliminando Linhas Duplicadas
Elimine linhas duplicadas usando a palavra-chave
DISTINCT na cláusula SELECT.
SELECT DISTINCT empregado_id
FROM departamento;
Exercício
Baseado na tabela no quadro faça o que se pede 
abaixo:
1. Faca uma consulta para exibir todos os dados da
tabela empregados.
2. Faca uma consulta para exibir todos os dados da
tabela LOCALIZACAO.
3. Selecione o nome do empregado da tabela
empregado.
Respostas
• SELECT * FROM DEPARTAMENTOS;
• SELECT * FROM LOCALIZACAO;
• SELECT empregado_nome FROM EMPREGADOS;
Restrições – Chave Estrangeira
• Aplicação do conceito de integridade referencial 
entre relações por meio de chaves estrangeiras 
(FOREIGN KEY)
• Tipos de restrições com Chaves estrangeiras
– ON UPDATE ou ON DELETE
– CASCADE
– SET NULL
– NO ACTION
Exemplo
CREATE TABLE pai(
Id_pai INT NOT NULL,
PRIMARY KEY (id_pai));
CREATE TABLE filho(
Id_filho INT NOT NULL,
CE_pai VARCHAR(12),
PRIMARY KEY(id_filho),
INDEX CE_id_pai(CE_pai),
FOREIGN KEY(CE_pai) REFERENCES pai(id_pai)
ON UPDATE CASCADE ON DELETE CASCADE);
Da forma certa...
CREATE TABLE pai(
Id_pai INT NOT NULL,
PRIMARY KEY (id_pai));
CREATE TABLE filho(
Id_filho INT NOT NULL,
CE_pai INT,
PRIMARY KEY(id_filho),
INDEX CE_id_pai(CE_pai),
FOREIGN KEY(CE_pai) REFERENCES pai(id_pai)
ON UPDATE CASCADE ON DELETE CASCADE);

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?