Você está na página 1de 80

TECNOLOGIA E LINGUAGEM DE

BANCO DE DADOS II (TLBD II)


LINGUAGEM SQL
Profa. Simone Andreia de Campos Camargo
Prof. Reginaldo
Email: simone.camargo@etec.sp.gov.br

Ementa
Conceitos de Banco de Dados
Relacional
Linguagem de Consulta SQL
Histrico do MySQL
O programa MYSQL
Instalao e Configurao do Programa
MySQL Banco de Dados
Criao de Banco de Dados
Uso do Banco de Dados
Remoo Banco de Dados
MySQL Tabelas e Registros
Criao de Tabelas
Insero de Registros
Consultas de Registros
Alterao de Registros
Remoo de Registros
Alterao de Tabelas
MySQL Consulta com Operadores
Operadores Aritmticos
Operadores de Comparao
Operadores Lgicos
MySQL Funes
Agregao
Data e Hora
Numricas
String
MySQL Agrupamento e Unio de Tabelas
MySQL Junes
MySQL Exerccios Fixao

Material Didtico Pedaggico


Notas de Sala de Aula
Listas de Exerccios
Livros:
MySQL 5.5 - Interativo - Guia Essencial de Orientao e
Desenvolvimento
Jos Augusto N. G. Manzano
Linguagem SQL - Guia Prtico de Aprendizagem
Luciana Ferreira Baptista

Critrio de Avaliao
Assiduidade /Participao em Sala de Aula.
Entrega de Atividades.
Avaliaes (Bimestral e Semestral).

Nota = (Assiduidade + Atividades + Avaliao 1 + Avaliao 2) /4


Meno:

MB

Introduo Conceitos Bsicos


Campo: menor unidade de armazenamento em um

banco de dados. Um conjunto de dados e cada dado


isoladamente representa um determinado valor de
identificao. Ex: nome, idade, telefone, etc.
Registros: conjunto de campos relacionados.
Tabela: conjunto de registros.
Banco de Dados: conjunto de Tabelas relacionadas
Base de Dados: conjunto de vrios banco de dados em

uma nica estrutura organizacional.

SQL - INTRODUO
Definies e Conceitos Bsicos

Introduo Conceitos Processo de


Criao do Banco de Dados
Chave Primria: associada a um campo ou a um

conjunto de campos de uma tabela que a identifica como


nica.
Chave Estrangeira: a chave de uma tabela associada
a chave primria de outra tabela, pode ocorrer quatro
situaes (cardinalidade)
Relacionamento um para um
Relacionamento um para muitos

Relacionamento muitos para um


Relacionamentos muitos para muitos

Introduo Conceitos Processo de


Criao do Banco de Dados
Integridade Referencial: mecanismo que evita a quebra

de ligao entre os relacionamentos estabelecidos.

O que SQL ?
SQL uma LINGUAGEM declarativa utilizada para facilitar

o acesso e manipulao s informaes armazenadas em


um banco de dados relacional.
NO um banco de dados.
A sigla SQL significa Structured Query Language.
Em portugus: Linguagem de Consulta Estruturada.
Destaquei o consulta porque o foco dela justamente
isso: consultar!

Um pouco de Histria
A linguagem de consulta estrutura SQL foi desenvolvida

inicialmente pela IBM, nas dcadas de 1960 e 1970 e


recebeu o nome de SEQUEL "Structured English Query
Language" (Linguagem de Consulta Estruturada, em
Ingls)para ser utilizada em um prottipo de banco de dados
que estava sendo criado na poca. Posteriormente passou
por uma formulao e foi apresentada como SQL.
Em 1979, um grupo de engenheiros que participou do

projeto de criao fundou uma empresa chamada Relational


Software, Inc que disponibilizou para o mercado o primeiro
sistema de gerenciamento de banco de dados baseado em
SQL, denominado ORACLE.

SQL - Histria
Logo depois outros fabricantes, alm da IBM e da Oracle

disponibilizaram no mercado sistemas gerenciadores de


banco de dados baseados nesta linguagem, mas cada
qual com suas prprias particularidades.
Com esta grande variao, no demorou muito tempo

para usurios e fabricantes notaram que isso no era


interessante e optaram pela criao de um nico idioma
para consultar bancos de dados relacionais.

SQL - Histria
O instituto ANSI (American National Standards Institute )

juntamente como a organizao ISO (International


Standards Organization) ficaram responsveis pela
padronizao desta linguagem e de tempos em tempos
realizam encontros entre fabricantes para discutir a
linguagem SQL e propor melhorias;
No entanto esta padronizao no impede que cada

fabricante personalize a linguagem SQL para atender


suas necessidades, e a que surgem os dialetos. Por
exemplo, o dialeto do gerenciador de banco de dados
Oracle o PL/SQL; o do SQL Server o T-SQL (transact
SQL) e etc.

SQL - Histria
Atualmente existem diversos Sistemas Gerenciadores de

Bancos de Dados disponveis no mercado, como o


Oracle, o Microsoft SQL Server, o PostgreSQL, entre
outros.
Todos utilizam a linguagem SQL para consultar dados

Qual o melhor ???


A grande dvida que paira na cabea de alguns

profissionais de TI : qual o melhor banco de dados? SQL


Server? Oracle?! DB2?
O melhor gerenciador de banco de dados aquele que

atende adequadamente o seu negcio.


como comprar um carro: voc compraria uma Ferrari

para fazer rally?!


Compraria um Fusca para fazer uma longa viagem pelo
Brasil?

CONCLUSO
SQL uma linguagem de consulta a bancos de dados

relacionais.
No mercado atual existem inmeros sistemas
gerenciadores de bancos de dados relacionais
(comumente chamados apenas pela sigla SGBD);
podemos citar como exemplo o Oracle, Microsoft SQL
Server, DB2, etc.
Estes gerenciadores de bancos de dados utilizam a
linguagem SQL para consultar os dados; porm,
adicionam esta linguagem solues para atender suas
particularidades e a nascem dialetos como o PL/SQL,
PL/pgSQL e o T-SQL.

A LINGUAGEM SQL E O
MYSQL
Classificao da Linguagem e o Gerenciador
de Banco de Dados MySQL

A Linguagem SQL
A linguagem SQL atualmente composta por seis grupos

que forma a estrutura bsica das instrues.


Comandos que manipulam dados;
Comandos que definem dados;
Comandos que pesquisam dados;
Comandos de controle de dados;

Comandos que administram dados;


Comandos que controlam transaes.

DML
Data Manipulation Language (Linguagem de Manipulao

de banco de dados)
Possui o maior conjunto de comandos responsveis por

oferecer recursos para o gerenciamento dos banco de


dados, manuteno das tabelas e manipulao de dados.
Principais comandos: Insert, Select, Join, Udate, Delete,

Show Create Databases, etc.

DDL
Data Definition Language ( Linguagem de Definio de

Dados).
Este conjunto de comandos possui os comandos que

oferecem recursos para definio e controle de dados.


Principais Comandos: Alter Database, Alter Table, Create

DataBase, Drop Table.

DCL
Data Control Language: linguagem de Controle de

Dados.
Este conjunto de comandos oferece recursos para

controle de acesso de usurios ao programa.


Principais Comandos: Create User, Drop User, Rename

User, Set Password.

DQL
Data Query Language: Linguagem de pesquisa de

Dados.
Divergncia: alguns autores consideram o comando

como parte do conjunto DML.


Possui apenas o comando: Select.

DAC
Data Administration Commands: Comandos de

Administrao de dados.
Este conjunto de comandos oferece recursos para a

execuo do acompanhamento e administrao dos


dados.
Principais Comandos: Describe, Flush Query Cache, Help

Command, Help Statement.

TCL
Transactions Control Commands: Comandos de Controle

de Transao.
Conjunto de Comandos que permite definir o incio, fim e

controle de definio de transaes.


Principais Comandos: Isolation, Lock, Save Point, Start

Point, Start Transaction.

MySQL
O programa MySQL um SGDG Sistema Gerenciador

de Banco de Dados relacional que utiliza a linguagem de


consulta estruturada SQL como interface de acesso a
extrao de informao em um banco dados.
Muito utilizado no mundo todo rpido, multitarefa e

multiusurio.

MySQL
O MySQL foi criado na Sucia por dois suecos e um

finlands: David Axmark, Allan Larsson e Michael "Monty"


Widenius, que tm trabalhado juntos desde a dcada de
1980.
Em 2008, a MySQL AB, desenvolvedora do MySQL foi
adquirida pela Sun Microsystems.
Em 2009 a Oracle comprou a Sun Microsystems e todos
o seus produtos, incluindo o MySQL e hoje a Sun faz
parte da Oracle.
Alguns usurios MySQL: Yahoo! Finance, MP3.com,
Motorola, NASA, Silicon Graphics e Texas Instruments, a
Wikipdia.

MySQL Instalao e Configurao


http://www.mysql.com/downloads/

Pontos Importantes
Instalar como Developers.
Observar a porta de instalao: padro 3306.
Definir uma senha para o Root.

Configuraes extra para Windows 8.

Acesso e Finalizao
Teste rpido de acesso:

Notao Bsica Utilizada para Comandos


Os comandos apresentados esto de acordo com a

documentao oficial do Programa MySQL.


Todos os comandos esto escritos em MAIUSCULO.
Toda a referncia a nomes de banco de dados e tabelas
esto escritos em minsculo.
Todos elementos apresentados entre os sinais [ e ]
so considerados opcionais.
Todos os elementos apresentados entre os sinais < e
> so considerados obrigatrios.

Notao Bsica Utilizada para Comandos


Exemplo:

INSERT INTO cadfun VALUES(


15,
Marcos Jose da Silva,
Gerente
);

Pedindo Ajuda ao MySQL


O ambiente de trabalho MySQL permite a exibio de
diversos comando operacionais.
HELP ou \h ou ?
Help Contents;

Mais Informaes
http://dev.mysql.com/doc/refman/5.5/en/index.html

SQL COMANDOS
Estrutura de Dados e Consultas

Criao de Banco de Dados


CREATE DATABASE: comando para criao de um

banco de dados.
Sintaxe:
CREATE DATABASE [IF NOT EXISTS]<nome_banco>;

Exemplo:
CREATE DATABASE escola;

A tela do Prompt MySQL

Consultar Banco de Dados


SHOW DATABASES: comando utilizado para mostrar os

banco de dados criados;


Sintaxe:
SHOW DATABASES;

Uso do Banco de Dados


USE: comando utilizado para indicar ao gerenciador qual

banco de dados vai ser utilizado.


Sintaxe:
USE <nome>;

Exemplo:
USE escola;

Remoo/Excluso do banco de Dados


DROP DATABASE: comando utilizado para remover um

banco de dados inteiro;


Sintaxe:
DROP DATABASE <nome do banco>;

Exemplo
DROP DATABASE escola;

Criao de Tabelas
CREATE TABLE: comando utilizado para a criao de

tabelas em um banco de dados.


Sintaxe:
CREATE TABLE [IF NOT EXISTS] <tabela> (

<coluna> <tipo coluna> [NULL/NOT NULL]


[DEFAULT <valor>] [AUTO_INCREMENT]
[PRIMARY KEY]

);

Criao de Tabela - Parmetros


Tabela: nome da tabela;
Coluna: nome do campo;
Tipo Coluna: tipo do dado a ser criado (ver tabela de

tipos);
Null ou Not Null: indica se o campo pode ou no aceitar
valores nulos;
Default: o campo pode receber um valor padro;
Auto_Increment: indica se o campo vai ser
incrementado automaticamente;
Primary Key: define se o campo vai ser chave primria
da tabela.

Tipos de Dados

Criao de Tabelas - Exemplo


Criar o Banco de Dados empresa que possui a tabela de
funcionrios conforme descrita abaixo.
Campo

Tipo

Descrio

CODFUN

INTEGER

Cdigo no nulo (chave Primria)

NOME

VARCHAR(40)

Nome do funcionrio ( no nulo)

FUNCAO

VARCHAR(20)

Funo do funcionrio

SALARIO

DECIMAL(10,2)

Salrio do Funcionrio

CREATE TABLE cadfun (


CodFun
Integer Not Null Primary Key,
Nome
VarChar(40) Not Null,
Funcao
VarChar(20),
Salario
Decimal(10,2)
);

O comando INSERT no Prompt MySQL

Visualizao das Tabelas do Banco de


Dados
Show Tables: comando utilizado para exibir as tabelas de

um determinado banco de dados.


Sintaxe:
SHOW TABLES;

Exemplo
SHOW TABLES;

Visualizao da Estrutura da Tabela


DESCRIBE: comando utilizado para exibir a estrutura da

tabela criada.
Sintaxe:
DESCRIBE <nome da tabela> [coluna];

Exemplo:
DESCRIBE CadFun;

Tambm pode ser usado o comando DES com a mesma


sintaxe.

O comando DESCRIBE no prompt


MySQL

Exerccios
Crie um banco de dados chamado: locadora;
Crie a tabela

Insero de Registros
INSERT INTO: comando utilizado para inserir registro em

uma tabela de um banco de dados.


Sintaxe:
INSERT INTO <tabela (

campo1,
campo 2,
campoN)> VALUES <(
valor1,
valor2,
valorN

)>;

Insero de Registros
Exemplo:
INSERT INTO cadfun (
CodFun,
Nome,
Funcao,
Salario) VALUES (
12,
Simone,
Analista de Sistemas,
1200.00
);

Insero de Registro
Para testar se os dados foram inseridos corretamente

podemos utilizar o seguinte comando:


SELECT * FROM cadfun;

Iremos ver comando SELECT com mais detalhes nas prximas aulas

Exerccios
Insira os seguintes registros na tabela de funcionrios

(cadfun) do banco de dados funcionarios.

Cdigo

Nome

Funo

Salario

15

Rodrigo
Martins

Empresrio

24890.00

16

Janete
Ferreira

Professora

5350.00

17

Ana Lucia
Souza

Enfermeira

2590.00

SQL COMANDOS DE
MANUTENO
TABELAS
Comando ALTER TABLE e Variaes

Alterao da Estrutura das Tabelas


ALTER TABLE: comando utilizado para modificar a

tabela, seja para incluir novos campos, excluir campos


existentes ou renomear tabela.
Sintaxe:
ALTER TABLE <tabela> <operao>
Onde operacao:
ADD <campo> <tipo> : para adicionar um novo campo.

DROP <campo>: para remover um campo j criado.

Alterao da Estrutura das Tabelas


Incluso de Campos
Exemplo: Incluir o campo idade na tabela cadfun.
ALTER TABLE cadfun ADD idade integer;

Alterao da Estrutura das Tabelas


Excluso Campos
Exemplo: excluir o campo funcao da tabela cadfun.
ALTER TABLE cadfun DROP Funcao;

Alterao da Estrutura das Tabelas


Renomear Tabela
Exemplo: renomear a tabela cadfun para cadastro.
ALTER TABLE cadfun
RENAME TO funcionarios;

Alterao da Estrutura das Tabelas


Renomear /Alterar Campos
Exemplo: Renomear o campo salario da tabela cadfun

para salariofun.
ALTER TABLE cadfun CHANGE Salario Salariofun double;

Exerccios

SQL COMANDO PARA


CONSULTAS AO BANCO
DE DADOS
Comando SELECT e Variaes

Consulta de Registros - SELECT (bsico)


SELECT: para extrair uma listagem de registros de uma tabela,

ou seja para fazer consultas.


Sintaxe:

SELECT [ tipo] <campos> FROM <tabela> [condicoes];


Tipo
DISTINCT: registros distintos (selecionados).
ALL: todos dos registros.

Campos
* (aterisco): todos os campos da tabela.
nome do campo ou campos.

Tabela
Nome da tabela que se deseja consultar.

Condies
WHERE: condio lgica.
GROUP BY: para criar agrupamentos.
ORDER BY : Ascendente (ASC) ou Descente (Desc).

Consulta Registros - Select


Exemplo: Exibir todos os registros da tabela funcionarios.
SELECT * FROM cadfun;

Consulta Registros - Select


Exemplo: Consultar o nome de todos os funcionrios.
SELECT nome FROM cadfun;

Consulta Registros - Select


Exemplo: Consultar o nome e o salario de todos os

funcionrios.
SELECT nome, salario FROM cadfun;

Consulta Registros - Select


Exemplo: Exibir o nome e a funo dos funcionrios em

ordem alfabtica.
SELECT nome, funcao FROM cadfun ORDER BY nome;

Consulta Registros - Select


Exemplo: Exibir o nome e a funo dos funcionarios em

formato descendente .
SELECT nome, funcao FROM cadfun ORDER BY nome DESC;

Consulta Registros - Select


Exemplo: Exibir o nome dos funcionarios, eliminando os

nomes repetidos.
SELECT DISTINCT nome FROM cadfun;

Consulta Registros - Select


Exemplo: Consultar os funcionrios que ganham R$

2.000,00.
SELECT * FROM cadfun WHERE salario=2000;

Consulta Registros - Select


Exemplo: Consultar os funcionrios que ganham R$

2.000,00.
SELECT * FROM cadfun WHERE salario=2000;

Exerccios

SQL COMANDO
ATUALIZAO DOS
REGISTROS
Comando UPDATE e Variaes

Alterao de Registros - UPDATE


UPDATE: Comando utilizado para manuteno dos

registros, ou seja atualizao/alterao dos dados.


Sintaxe:

UPDATE <tabela>SET<campos> = <expresso>[condio];


Tabela: nome da tabela a ser alterada.
Campo: nome do campo que da tabela a ser atualizado.
Expresso: a indicado do valor do campo a ser atualizado.
Condio: se necessrio (WHERE).

Atualizao de Registros - UPDATE


Exemplo: Atualizar o salario do funcionrio Roberto para

R$ 1020,00.
UPDATE cadfun SET salario=1020.00 WHERE
nome=Roberto;

Atualizao de Registros - UPDATE


Exemplo: Atualizar o nome do funcionrio 12 para

Sandra.
UPDATE cadfun SET nome=Sandra WHERE
codFun=12;

Atualizao de Registros - UPDATE


Exemplo: Reajustar o salrio dos funcionrios em 10%.
UPDATE cadfun SET salario= salario*1.10;

Exerccios

SQL COMANDO PARA


REMOO DOS
REGISTROS
Comando DELETE e Variaes

Excluso de Registros DELETE FROM


DELETE FROM: comando utilizado para

remoo/excluso dos registros da tabela.


Sintaxe:
DELETE FROM <tabela> [condio];
Tabela: nome da tabela onde os registros sero excluidos.
Condio: se necessrio (WHERE).

Exemplo: Exlcuir todos os registros da tabela

funcionrios.
DELETE FROM funcionarios;

Excluso de Registros DELETE FROM


Exemplo: Excluir o funcionrio de codigo 101 que foi

demitido da empresa.
DETELE FROM cadfun WHERE codFun=101;

Exerccios

http://www.officeguru.com.br/cursos/acces
s/curso-access-2010/criar-banco-dedados-no-access/