Você está na página 1de 52

Kelyn Schenatto

Definição
 Linguagem de Consulta Estruturada (Structured
Query Language);

 Desenvolvida inicialmente nos anos 70 nos


laboratórios da IBM com o objetivo de demonstrar a
viabilidade da implementação do modelo relacional;
Definição
 Embora padronizada pela ANSI e ISO, possui muitas
variações e extensões produzidas pelos diferentes
fabricantes de sistemas gerenciados de banco de
dados.

 Tipicamente a linguagem pode ser migrada de


plataforma para plataforma sem mudanças estruturais
principais.
SQL

DDL DML DCL DTL DQL

CREATE
DROP INSERT COMMIT
GRANT
ALTER UPDATE ROLLBACK SELECT
REVOKE
TRUNCATE DELETE SETPOINT
COMMENT
SQL
SQL

DDL
SQL

DDL

CREATE
DROP
ALTER
TRUNCATE
COMMENT
Linguagem de Definição de Dados
 CREATE

CREATE UNIQUE INDEX uk_cliente


(cli_cpf)
Linguagem de Definição de Dados
 ALTER
Linguagem de Definição de Dados
 DROP
Linguagem de Definição de Dados
 TRUNCATE e COMMENT
SQL

DDL

CREATE
DROP
ALTER
TRUNCATE
COMMENT
SQL

DDL DML

CREATE
DROP
ALTER
RENAME
TRUNCATE
COMMENT
SQL

DDL DML

CREATE
DROP INSERT
ALTER UPDATE
TRUNCATE DELETE
COMMENT
Linguagem de Manipulação de Dados
 INSERT, UPDATE, DELETE
SQL

DDL DML

CREATE
DROP INSERT
ALTER UPDATE
TRUNCATE DELETE
COMMENT
SQL

DDL DML DCL

CREATE
DROP INSERT
ALTER UPDATE
TRUNCATE DELETE
COMMENT
SQL

DDL DML DCL

CREATE
DROP INSERT
GRANT
ALTER UPDATE
REVOKE
TRUNCATE DELETE
COMMENT
Linguagem de Controle de Dados
GRANT REVOKE
SQL

DDL DML DCL

CREATE
DROP INSERT
GRANT
ALTER UPDATE
REVOKE
TRUNCATE DELETE
COMMENT
SQL

DDL DML DCL DTL

CREATE
DROP INSERT
GRANT
ALTER UPDATE
REVOKE
TRUNCATE DELETE
COMMENT
SQL

DDL DML DCL DTL

CREATE
DROP INSERT COMMIT
GRANT
ALTER UPDATE ROLLBACK
REVOKE
TRUNCATE DELETE SAVEPOINT
COMMENT
Linguagem de Transação de dados
- Commit

- Rollback

- SavePoint
SQL

DDL DML DCL DTL

CREATE
DROP INSERT COMMIT
GRANT
ALTER UPDATE ROLLBACK
REVOKE
TRUNCATE DELETE SAVEPOINT
COMMENT
SQL

DDL DML DCL DTL DQL

CREATE
DROP INSERT COMMIT
GRANT
ALTER UPDATE ROLLBACK
REVOKE
TRUNCATE DELETE SAVEPOINT
COMMENT
SQL

DDL DML DCL DTL DQL

CREATE
DROP INSERT COMMIT
GRANT
ALTER UPDATE ROLLBACK SELECT
REVOKE
TRUNCATE DELETE SAVEPOINT
COMMENT
Linguagem de Consulta de Dados
• SELECT
Comandos de Definição de Dados
(DDL)
SINTAXE DO COMANDO CREATE
CREATE TABLE <NOME_TABELA> (
<ATRIBUTO_1> <TIPO> [NOT NULL],
<ATRIBUTO_2> <TIPO> [NOT NULL],
...,

PRIMARY KEY(ATRIBUTO)
);
Exemplo – Criação de tabela
CREATE TABLE TB_ALUNO(
ALU_CODIGO SERIAL NOT NULL,
ALU_NOME VARCHAR(45) NOT NULL,
ALU_CPF CHAR(20) NOT NULL,
ALU_RG VARCHAR(15) NULL,
PRIMARY KEY(ALU_CODIGO)
);
Comando create
 SERIAL: Tipo de dados inteiro com auto-incremento,
utilizado geralmente para atributos chave primária;
- OBS: Tipo de dados disponível no banco de dados
PostgreSQL.

 PRIMARY KEY: Indica que o atributo é chave primária


da tabela;

 NOT NULL / NULL: Indica se o atributo é obrigatório


ou não.
Exercícios
 Crie as seguintes tabelas com seus atributos:

TB_ENDEREÇO TB_BAIRRO TB_CIDADE

*END_CODIGO *BAI_CODIGO *CID_CODIGO

END_LOGRADOURO BAI_NOME CID_NOME

CID_UF

* Chave primária da tabela.


Criação de tabelas com chave
estrangeira - SINTAXE
CREATE TABLE <NOME> (
<ATRIBUTO_1> <TIPO> [NOT NULL],
<ATRIBUTO_2> <TIPO> [NOT NULL],
<ATRIBUTO_3> <TIPO> [NOT NULL]
REFERENCES <TABELA> (ATRIBUTO),
...,

PRIMARY KEY(ATRIBUTO)
);
Exemplo criação de tabela com chave
estrangeira
CREATE TABLE TB_ALUNO(
ALU_CODIGO SERIAL NOT NULL,
ALU_NOME VARCHAR(45) NOT NULL,
ALU_CPF CHAR(20) NOT NULL,
ALU_RG VARCHAR(15) NULL,
ALU_CODENDERECO INTEGER NOT NULL
REFERENCES TB_ENDERECO
(END_CODIGO),
PRIMARY KEY(ALU_CODIGO)
);
Exercícios
 Crie a tabela cliente com os seguintes atributos:

TB_CLIENTE
*CLI_CODIGO
CLI_NOME * Chave primária
# Chave estrangeira
CLI_RG
CLI_CPF
#CLI_CODENDERECO
#CLI_CODBAIRRO
#CLI_CODCIDADE
Criação tabelas com chave primária
composta
CREATE TABLE TB_CLIENTE_DEPENDENTE(
CLIDEP_CODCLIENTE INTEGER NOT NULL
REFERENCES
TB_CLIENTE(CLI_CODIGO),
CLIDEP_CODDEPENDENTE INTEGER NOT NULL
REFERENCES
TB_DEPENDENTE(DEP_CODIGO),
PRIMARY KEY(CLIDEP_CODCLIENTE,
CLIDEP_CODDEPENDENTE)
);
Exercícios
 Crie as tabelas:
TB_CURSO TB_ALUNO TB_ALUNO_CURSO

*CUR_CODIGO ALU_CODIGO **AC_CODALUNO


CUR_AREA ALU_NOME **AC_CODCURSO
CUR_MODALIDADE ALU_CPF AC_FREQUENCIA
CUR_DURACAO #ALU_CODENDERECO AC_NOTA
** Chave primária composta
COMANDO DROP
 Utilizado para apagar tabelas, colunas, índices, entre
outros.

Sintaxe:
DROP TABLE <NOME_TABELA>;

Exemplo:
DROP TABLE TB_CLIENTE;
Exercícios
 Execute o comando SELECT * FROM NOME_TABELA
e verifique se a tabela TB_ALUNO_CURSO existe no
BD.

 Exclua a tabela TB_ALUNO_CURSO;

 Execute o comando SELECT * FROM NOME_TABELA


e verifique se a tabela foi excluída no BD.
COMANDO TRUNCATE
 Zerar uma tabela (apagar todos os seus dados)

Sintaxe:

TRUNCATE TABLE <NOME_TABELA>

Exemplo:

TRUNCATE TABLE TB_ALUNO


COMMENT
 Utilizado para fazer comentários em tabelas.
Sintaxe:
COMMENT ON TABLE <NOME_TABELA> IS
‘COMENTÁRIO’;

Exemplo:

COMMENT ON TABLE TB_TESTE IS ‘TABELA DE


TESTES’;
SELECT OBJ_DESCRIPTION(ID);
Exercícios
 Execute o comando TRUNCATE na tabela alunos;

 Adicione um comentário na tabela alunos;

 Adicione um comentário na tabela cursos;

 Consulte os comentários feitos.


COMANDO ALTER - ADD
 Adicionar colunas.

Sintaxe:
ALTER TABLE <NOME_TABELA> ADD
<NOME_COLUNA> <TIPO_COLUNA> [NOT NULL];

Exemplo:
ALTER TABLE TB_ALUNO ADD ALU_FONE
VARCHAR(15) NOT NULL;
Comando ALTER - DROP
 Remover colunas.

Sintaxe:
ALTER TABLE <NOME_TABELA> DROP COLUMN
<NOME_ATRIBUTO>;

Exemplo:
ALTER TABLE TB_ALUNO DROP COLUMN
ALU_FONE;
Comando ALTER – RENAME TABLE
 Alterar o nome de tabelas.

Sintaxe:

ALTER TABLE <NOME_TABELA> RENAME TO


<NOVO_NOME_TABELA>;

Exemplo:

ALTER TABLE TB_CLIENTE RENAME TO


TB_CLIENTES;
Comando ALTER – RENAME COLUMN
- Alterar nome das colunas
Sintaxe:
ALTER TABLE <NOME_TABELA> RENAME COLUMN
<NOME_ARIBUTO> TO <NOME_ATRIBUTO_NOVO>;

Exemplo:
ALTER TABLE TB_ALUNO RENAME COLUMN
ALU_NOME TO ALU_NOME_COMPLETO;
ALTER – ALTER COLUMN TYPE
- Alterar tipo de dados das colunas.

Sintaxe:
ALTER TABLE <NOME_TABELA>
ALTER COLUMN <NOME_ATRIBUTO> TYPE
<NOVO_TIPO_ATRIBUTO>;

Exemplo:
ALTER TABLE TB_ALUNO
ALTER COLUMN ALU_CPF TYPE VARCHAR(80);
ALTER – SET/DROP NOT NULL
 Definir atributo como NULL/NOT NULL.

Exemplo:
ALTER TABLE TB_ALUNO ALTER COLUMN
ALU_NOME DROP NOT NULL;

ALTER TABLE TB_ALUNO ALTER COLUMN


ALU_NOME SET NOT NULL;
Exercícios
 Adicione na tabela aluno os seguintes atributos:
 Nome da Mãe.
 Telefone.

 Adicione o atributo Nome na tabela curso;

 Remova atributo RG da tabela aluno;

 Remova a o atributo duração da tabela curso;

 Renomeie a tabela TB_ALUNO para TB_ALUNOS;


Exercícios
 Renomeie o atributo ALU_TELEFONE da tabela
alunos para ALU_FONE;

 Altere o tipo do atributo ALU_NOME para


varchar(65);

 Defina o atributo ALU_CPF como NULL;

 Execute o comando SELECT para verificar as


diferenças nas tabela.
Exercício
 Utilizando os comandos DDL (Linguagem de
Definição de Dados) vistos até aqui, implemente o
MER (Modelo Entidade Relacionamento) definido
para atender as necessidades de uma biblioteca.
MER - Biblioteca

Você também pode gostar