ESTRUTURA DA LINGUAGEM SQL Kelyn Schenatto Definio Linguagem

  • Slides: 52
Download presentation
ESTRUTURA DA LINGUAGEM SQL Kelyn Schenatto

ESTRUTURA DA LINGUAGEM SQL Kelyn Schenatto

Definição �Linguagem de Consulta Estruturada (Structured Query Language); �Desenvolvida inicialmente nos anos 70 nos

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

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 CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE DCL DTL DQL

SQL DDL DML CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE DCL DTL DQL GRANT REVOKE COMMIT ROLLBACK SETPOINT SELECT

SQL

SQL

SQL DDL

SQL DDL

SQL DDL CREATE DROP ALTER TRUNCATE COMMENT

SQL DDL CREATE DROP ALTER TRUNCATE COMMENT

Linguagem de Definição de Dados �CREATE UNIQUE INDEX uk_cliente (cli_cpf)

Linguagem de Definição de Dados �CREATE UNIQUE INDEX uk_cliente (cli_cpf)

Linguagem de Definição de Dados �ALTER

Linguagem de Definição de Dados �ALTER

Linguagem de Definição de Dados �DROP

Linguagem de Definição de Dados �DROP

Linguagem de Definição de Dados �TRUNCATE e COMMENT

Linguagem de Definição de Dados �TRUNCATE e COMMENT

SQL DDL CREATE DROP ALTER TRUNCATE COMMENT

SQL DDL CREATE DROP ALTER TRUNCATE COMMENT

SQL DDL CREATE DROP ALTER RENAME TRUNCATE COMMENT DML

SQL DDL CREATE DROP ALTER RENAME TRUNCATE COMMENT DML

SQL DDL DML CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE

SQL DDL DML CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE

Linguagem de Manipulação de Dados �INSERT, UPDATE, DELETE

Linguagem de Manipulação de Dados �INSERT, UPDATE, DELETE

SQL DDL DML CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE

SQL DDL DML CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE

SQL DDL DML CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE DCL

SQL DDL DML CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE DCL

SQL DDL DML DCL CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE GRANT REVOKE

SQL DDL DML DCL CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE GRANT REVOKE

Linguagem de Controle de Dados GRANT REVOKE

Linguagem de Controle de Dados GRANT REVOKE

SQL DDL DML DCL CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE GRANT REVOKE

SQL DDL DML DCL CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE GRANT REVOKE

SQL DDL DML DCL CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE GRANT REVOKE

SQL DDL DML DCL CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE GRANT REVOKE DTL

SQL DDL DML CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE DCL DTL GRANT

SQL DDL DML CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE DCL DTL GRANT REVOKE COMMIT ROLLBACK SAVEPOINT

Linguagem de Transação de dados - Commit - Rollback - Save. Point

Linguagem de Transação de dados - Commit - Rollback - Save. Point

SQL DDL DML CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE DCL DTL GRANT

SQL DDL DML CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE DCL DTL GRANT REVOKE COMMIT ROLLBACK SAVEPOINT

SQL DDL DML CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE DCL DTL GRANT

SQL DDL DML CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE DCL DTL GRANT REVOKE COMMIT ROLLBACK SAVEPOINT DQL

SQL DDL DML CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE DCL DTL DQL

SQL DDL DML CREATE DROP ALTER TRUNCATE COMMENT INSERT UPDATE DELETE DCL DTL DQL GRANT REVOKE COMMIT ROLLBACK SAVEPOINT SELECT

Linguagem de Consulta de Dados • SELECT

Linguagem de Consulta de Dados • SELECT

Comandos de Definição de Dados (DDL)

Comandos de Definição de Dados (DDL)

SINTAXE DO COMANDO CREATE TABLE <NOME_TABELA> ( <ATRIBUTO_1> <TIPO> [NOT NULL], <ATRIBUTO_2> <TIPO> [NOT

SINTAXE DO COMANDO 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)

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

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 Postgre. SQL. �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

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_UF * Chave primária da tabela.

Criação de tabelas com chave estrangeira - SINTAXE CREATE TABLE <NOME> ( <ATRIBUTO_1> <TIPO>

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

Exemplo criação de tabela com chave estrangeira CREATE TABLE TB_ALUNO( ALU_CODIGO SERIAL NOT NULL,

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 CLI_RG CLI_CPF

Exercícios �Crie a tabela cliente com os seguintes atributos: TB_CLIENTE *CLI_CODIGO CLI_NOME CLI_RG CLI_CPF #CLI_CODENDERECO #CLI_CODBAIRRO #CLI_CODCIDADE * Chave primária # Chave estrangeira

Criação tabelas com chave primária composta CREATE TABLE TB_CLIENTE_DEPENDENTE( CLIDEP_CODCLIENTE INTEGER NOT NULL REFERENCES

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_CURSO *CUR_CODIGO ALU_CODIGO **AC_CODALUNO CUR_AREA ALU_NOME **AC_CODCURSO CUR_MODALIDADE ALU_CPF

Exercícios �Crie as tabelas: TB_CURSO 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>;

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

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>

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’;

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 cursos;

Exercícios �Execute o comando TRUNCATE 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

COMANDO ALTER - ADD �Adicionar colunas. Sintaxe: ALTER TABLE <NOME_TABELA> ADD <NOME_COLUNA> <TIPO_COLUNA> [NOT NULL]; Exemplo: ALTER TABLE TB_ALUNO VARCHAR(15) NOT NULL; ADD ALU_FONE

Comando ALTER - DROP �Remover colunas. Sintaxe: ALTER TABLE <NOME_TABELA> DROP COLUMN <NOME_ATRIBUTO>; Exemplo:

Comando ALTER - DROP �Remover colunas. Sintaxe: ALTER TABLE <NOME_TABELA> DROP COLUMN <NOME_ATRIBUTO>; Exemplo: ALTER TABLE ALU_FONE; TB_ALUNO DROP COLUMN

Comando ALTER – RENAME TABLE �Alterar o nome de tabelas. Sintaxe: ALTER TABLE <NOME_TABELA>

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>

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 ALU_NOME TO ALU_NOME_COMPLETO; COLUMN

ALTER – ALTER COLUMN TYPE - Alterar tipo de dados das colunas. Sintaxe: ALTER

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 – SET/DROP NOT NULL �Definir atributo como NULL/NOT NULL. Exemplo: ALTER TABLE TB_ALUNO ALTER ALU_NOME DROP NOT NULL; ALTER TABLE TB_ALUNO ALU_NOME SET NOT NULL; ALTER COLUMN

Exercícios �Adicione na tabela aluno os seguintes atributos: �Nome da Mãe. �Telefone. �Adicione o

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

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

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

MER - Biblioteca