Escolar Documentos
Profissional Documentos
Cultura Documentos
Agenda
Introduo
Histrico
Comandos DDL
Comandos DML
Comandos DCL
Importancia do SQL
Introduo
Structure Query Language (SQL) Linguagem de
Consulta Estruturada.
Permite:
Consultas;
manipulao de dados;
Introduo
Introduo
H pequenas variaes entre os SGDBs.
Dentro da SQL, h vrias funes e comandos que so
divididos em grupos:
DDL
DML
DCL
Histrico
197
0
197
6
198
6
198
9
Histrico
199
2
Lanamento da SQL - 92
199
9
SQL3
200
3
SQL:2003
200
8
SQL:2008
Comandos DDL
DDL - Data Definition Language (Linguagem de
Definio de Dados).
Permite:
Create
Create:
Create
CREATE TABLE nome da tabela (
Descrio do campo 1
Descrio das chaves );
Create
Devemos definir para cada atributo o seu respectivo tipo. Os
tipos mais comuns de dados so:
CHAR (tamanho) sequncia de caracteres (string) de
comprimento fixo. O tamanho especificado entre
parnteses. O tamanho mximo permitido de 255
caracteres.
VARCHAR (tamanho) - sequncia de caracteres (string) com
tamanho varivel. A quantidade mxima de caracteres que
poder ser armazenada no campo especificada entre
parnteses.
Create
INT tipo numrico que aceita valores inteiros.
Podemos representar com esse tipo qualquer valor
inteiro na faixa entre -2.147.483.648 e 2.147.483.647.
NUMERIC(n,d) tipo numrico que aceita valores
reais (n indica a quantidade total de nmeros e d
indica a quantidade do total que corresponde a casas
decimais).
Exemplo: NUMERIC(5,2) corresponde a nmeros com 5
dgitos com at duas casas decimais, como 256,12.
Create
TIME tipo tempo no formato hora:minuto:segundo.
DATE tipo data no formato ano-ms-dia.
Create
Create
Create
Create
Create
CONSTRAINT significa restrio e impede que o
usurio insira no campo de chave estrangeira um valor
que seja diferente de quaisquer valores inseridos na PK
da tabela clientes.
C1 apenas o nome dado para a restrio criada.
DROP
DROP:
ALTER
ALTER:
ALTER
Ainda possvel substituir o ADD e alterar da seguinte
forma:
Comandos DML
DML - Data Manipulation Language (Linguagem de
Manipulao de Dados)
Comandos para:
INSERT
INSERT
INSERT
Os dados do tipo CHAR, VARCHAR, DATE, TIME (texto em
geral) devem ser representados entre aspas simples ().
Dados do tipo NUMERIC(n,d) aceita valores reais (n indica
a quantidade total de nmeros e d indica a quantidade do
total que corresponde a casas decimais).
Exemplo: NUMERIC(5,2) corresponde a nmeros com 5
dgitos com at duas casas decimais, como 256,12.
INSERT
Dados do tipo TIME devem seguir o formato
hora:minuto:segundo.
Dados do tipo DATE devem seguir o formato anoms-dia.
Observe ainda que as casas decimais dos nmeros
devem ser separadas por pontos ao invs de vrgulas;
Os valores do tipo VARCHAR podem conter acentos e
espaos em branco.
INSERT
DELETE
DELETE:
DELETE
Ateno: a clusula WHERE opcional no comando
DELETE;
Se ela no for informada voc pode excluir todas as
linhas de uma tabela, mas no exclui a tabela do
Banco de dados.
Para excluir a tabela inteira (dados e estrutura) do
banco de dados voc deve utilizar o comando DROP
(j explicado anteriormente).
SELECT
SELECT
SELECT
SELECT cd_livro,nm_livro FROM livro;
cd_livro
nm_Livro
O Hobbit
O Milagre
SELECT
cd_livro
nm_Livro
autor_livro
O Hobbit
J.R.R. Tolkien
O Milagre
Nicolas Sparks
SELECT
Para limitar as consultas, trazer resultados mais
limpos e onerar menos os recursos do servidor,
utilizam-se a clusula WHERE e:
operadores aritmticos: +, e /
SELECT
SELECT nm_livro WHERE cd_livro = 1;
nm_Livro
O Hobbit
UPDATE
Uma instruo UPDATE permite alterar:
UPDATE
Para obter o que foi descrito acima usamos:
UPDATE
Se a condio no WHERE no for informada, a
atualizao ser realizada em toda a tabela, ento,
voc deve tomar muito cuidado ao atualizar um campo
sem a clusula WHERE.
Voc pode utilizar o UPDATE com um nico atributo ou
com um conjunto de atributos;
Para isso preciso adicionar mais pares de atributo =
valor na clusula SET. Coloque vrgula aps cada um
dos pares de atributo = valor;
UPDATE
Sintaxe:
UPDATE nome_da_tabela
SET atributo = valor
WHERE condio;
Exemplo:
UPDATE livro
SET titulo = O Casamento
WHERE cd_livro = 2;
Comandos DCL
DCL - Data Control Language (Linguagem de Controle
de Dados)
Possui comandos responsveis pelo controle de acesso
ao banco de dados.
Esse processo extremamente importante para
manter a segurana das informaes constantes no
banco de dados.
Comandos DCL
Cada usurio tem uma determinada necessidade em
relao aos dados armazenados.
Na maioria dos casos, os acessos so controlados por
funes e departamentos ou, tecnicamente falando,
por tabelas.
As permisses de acesso podem se dar para um
conjunto de dados.
GRANT
O comando GRANT, que concede acesso a uma tabela
especfica a um determinado usurio, possui a seguinte
sintaxe:
GRANT lista de privilgios ON Nome da tabela TO
usurio
GRANT SELECT ON livro TO Kelly
GRANT INSERT ON livro TO Mauricio
GRANT UPDATE ON livro TO Charles
GRANT DELETE ON livro TO Alice
GRANT
Caso queira conceder todos os privilgios ao usurio:
REVOKE
REVOKE:
Assim como um administrador ou usurio avanado
pode dar acesso a outro usurio, ele tambm pode
revog-lo, ou seja, retirar o acesso do usurio.
REVOKE INSERT ON cliente FROM Paulo
REVOKE INSERT, SELECT ON cliente FROM Paulo
REVOKE
Algumas vantagens da utilizao da linguagem SQL:
A desvantagem:
Referncias
Apostila do curso de Bancos de Dados I - Senai
SILBERSCHATZ, Abraham; KORTH, Henry F.;
SUDARSHAN, S.. Sistema de banco de dados. 3 ed. So
Paulo: Pearson Makron Books, 2005, Cap. 4
Elmasri, Navath, Sistemas de Banco de Dados, 4
edio, 2005.
http://www.w3schools.com/sql
44
Obrigada!
gksquirino@inf.ufes.br
45