Você está na página 1de 17

Projeto de Banco de Dados

Linguagem SQL

Adilson Silva
adilson.silva@fsm.com.br
Projeto de Banco de Dados

Linguagem SQL

A linguagem SQL tem três ou quatro vertentes


 DDL - Data Definition Language – Linguagem de definição de dados
 Criar (CREATE) tabelas;
 Remover (DROP) tabelas;
 Alterar (ALTER) tabelas;
 Descrever restrições de integridade(CONSTRAINTS-PK e FK)

 DML - Data Manipulation Language – Linguagem de Manipulação de


Dados
 Atualização da Base de Dados (Instruções INSERT, DELETE e UPDATE)
Projeto de Banco de Dados

Linguagem SQL

DCL - Linguagem de Controle de Dados

Controla os aspectos de autorização de dados e licenças de usuários para controlar


quem tem acesso para ver ou manipular dados dentro do banco de dados.

Duas palavras-chaves da DCL:

GRANT - autoriza ao usuário executar ou setar operações.


REVOKE - remove ou restringe a capacidade de um usuário de executar operações.
Projeto de Banco de Dados

Linguagem SQL

DTL - Linguagem de Transação de Dados

BEGIN WORK (ou START TRANSACTION, dependendo do dialeto SQL) pode ser


usado para marcar o começo de uma transação de banco de dados que pode ser
completada ou não.

COMMIT envia todos os dados das mudanças permanentemente.

ROLLBACK faz com que as mudanças nos dados existentes desde o último


COMMIT ou ROLLBACK sejam descartadas.

COMMIT e ROLLBACK interagem com áreas de controle como transação e


locação. Ambos terminam qualquer transação aberta e liberam qualquer cadeado
ligado a dados. Na ausência de um BEGIN WORK ou uma declaração semelhante, a
semântica de SQL é dependente da implementação.
Projeto de Banco de Dados

Linguagem SQL

DQL - Linguagem de Consulta de Dados

Embora tenha apenas um comando, a DQL é a parte da SQL mais utilizada. O comando
SELECT permite ao usuário especificar uma consulta ("query") como uma descrição do
resultado desejado. Esse comando é composto de várias cláusulas e opções, possibilitando
elaborar consultas das mais simples às mais elaboradas.
Projeto de Banco de Dados

Linguagem SQL

 Criando Tabelas
CREATE TABLE NOME_TABELA
(COLUNA1 TIPO(TAM,DEC) Nulidade,
COLUNA2 TIPO(TAM,DEC) Nulidade,
COLUNA3 TIPO(TAM,DEC) Nulidade,
.
.
.
COLUNA3 TIPO(TAM,DEC) Nulidade);
Projeto de Banco de Dados

Linguagem SQL

 Criando restrições de integridade;

Criando chave primaria:


constraint pk_nome primary key(atributo)

Criando chave estrangeira:


constraint fk_nome foreign key (atb_tabela) references
Tbl_diferente (atb_tbl_dif)
Projeto de Banco de Dados

Linguagem SQL

 Criando visões de tabelas;

CREATE VIEW view [(field1[, field2[, ...]])] AS selectstatement

 Criando índice

CREATE [ UNIQUE ] INDEX index


ON table (field [ASC|DESC][, field [ASC|DESC], ...])
[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]
Projeto de Banco de Dados

Linguagem SQL

 Criando usuário;

CREATE USER user password pid [, user password pid, …]

 Criando grupos;

CREATE GROUP group pid[, group pid, …]


Projeto de Banco de Dados

Linguagem SQL

 Alterando tabelas

ADD (incluir) uma nova coluna

MODIFY (modificar) o tamanho de uma coluna ou se a coluna


deverá aceitar valores nulos
DROP (eliminar) uma coluna existente

RENAME (trocar o nome de) uma coluna existente

RENAME TABLE (trocar nome


tabela)
Projeto de Banco de Dados

Linguagem SQL

 Eliminando uma coluna:


ALTER TABLE LISTA_DE_HOSPEDES
DROP DESCONTO;
 Adicionando uma Coluna:
ALTER TABLE LISTA_DE_HOSPEDES
ADD DESCONTO DECIMAL(2,2);
 Alterando uma coluna:
ALTER TABLE LISTA_DE_HOSPEDES
MODIFY TECNICO VARCHAR(25) NOT NULL;
 Trocando o nome de uma coluna:
ALTER TABLE LISTA_DE_HOSPEDES
RENAME GARCOM SERVENTE;
Projeto de Banco de Dados

Linguagem SQL

 Eliminando uma Tabela:


DROP TABLE QUARTOS;
 Excluindo um Índice:
DROP INDEX PESO_IND;
Projeto de Banco de Dados

Linguagem SQL

 INSERT INTO Nome-Tabela [(col1, col2,..., coln)] []-> opcional


VALUES ( conteudo1, conteúdo2,..., conteúdoN)
Exemplo:
INSERT INTO CATEGORIAS (
CÓDIGODACATEGORIA,
NOMEDACATEGORIA,
DESCRIÇÃO,
FIGURA)
VALUES (
99,
'CATEGORIA 99' ,
'DESCRIÇÃO 99',
' ' );
Projeto de Banco de Dados

Linguagem SQL

 O número de colunas do SELECT tem que ser o mesmo que o


da declaração INSERT ou, como nosso exemplo, o mesmo
número de colunas contidas na tabela, se as colunas não forem
mencionadas.

 O tipo e o tamanho dos dados selecionados têm que ser


compatíveis com as especificações das colunas na tabela de
destino. Por exemplo, números podem ser incluídos em uma
coluna de tipo caractere, mas o contrário não é aceito.
Projeto de Banco de Dados

Linguagem SQL

 Eliminando Linhas
DELETE FROM Nome-da-Tabela [Where condição];
Exemplo:
DELETE FROM CATEGORIAS
WHERE CÓDIGODACATEGORIA = 99;
 Recuperando as operações:
ROLLBACK;
Com esta declaração recuperamos de volta as linhas que havíamos
excluído, e os dados alterados voltaram a ser exatamente o que
eram antes da alteração. Se tivéssemos eliminado as tabelas por
inteiro, elas também seriam recuperadas.
Projeto de Banco de Dados

Linguagem SQL

 Alterando conteúdo de Linhas


UPDATE Nome-da-Tabela
SET coluna = (valor, resultado de operacao)
[Where condição];
Exemplo:
UPDATE CATEGORIAS
SET DESCRICAODACATEGORIA = ‘TESTE DE ALTERACAO”
WHERE CÓDIGODACATEGORIA = 99;
Projeto de Banco de Dados

Dúvidas!?

Adilson Silva
adilson.silva@fsm.com.br

Você também pode gostar