2.1 - DDL

Propaganda
IMPLEMENTAÇÃO DE
BANCO DE DADOS
MODULO 2 – LINGUAGEM SQL
CONTEÚDO
2. LINGUAGEM SQL
2.1 Linguagens de Definição de Dados (DDL)
2.1.1 Criação de tabela: CREATE
2.1.2 Alteração de Tabela: ALTER
2.1.3 Exclusão da Tabela: DROP
2.2 Linguagem de Manipulação de Dados (DML)
2.2.1 Inserção de dados: INSERT
2.2.2 Atualização de registros: UPDATE
2.2.3 Exclusão de Registros: DELETE
2.3 Cláusula WHERE e seus OPERADORES
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
CONTEÚDO
2.4 Comando SELECT: Seleção de Registros
2.4.1 Sintaxe básica
2.4.2 Operadores lógicos
2.4.3 Comandos com expressões
2.4.4 Cláusula ORDER BY
2.4.5 Cláusula DISTINCT
2.4.6 Agrupamento
2.4.7 Cláusula GROUP BY
2.4.7 Cláusula HAVING
2.4.8 Comandos de junção
2.5 Linguagem de Controle de Dados (DCL)
2.5 VISÕES
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2. LINGUAGEM SQL
DDL - ESTRUTURA
DTL MULTIPROCESSAMENTO
DML - DADOS
DCL - ACESSO
CREATE
SELECT
GRANT
BEGIN
ALTER
INSERT
REVOKE
COMMIT
DROP
UPDATE
RENAME
DELETE
ROLLBACK
TRUNCATE
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1
LINGUAGEM DE DEFINIÇÃO DE DADOS - DDL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
Os comandos DDL (Data Definition Language ou Linguagem de
Definição de Dados) são utilizados para definir a estrutura de
banco de dados, criando ou removendo objetos.
Os principais comandos DDL são:
2.1.1 CREATE DATABASE
2.1.2 CREATE TABLE
2.1.3 DROP DATABASE
2.1.4 DROP TABLE
2.1.5 ALTER TABLE
2.1.6 RENAME
2.1.7 TRUNCATE
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.1 CREATE DATABASE
Objetivo: Criar banco de dados
Sintaxe:
CREATE DATABASE <nome do banco de dados>;
Exemplo: CREATE DATABASE DB_Escola;
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.2 CREATE TABLE
Objetivo: Criar tabelas
Sintaxe 1: CREATE TABLE <nome da tabela> (
<campo e tipos> );
Exemplo: CREATE TABLE Funcionarios (
ID INT,
NOME VARCHAR(50));
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.2 CREATE TABLE
Exemplo – Tabela Departamentos
CREATE TABLE Departamentos (
ID_DEPARTAMENTO INT NOT NULL,
NOME VARCHAR(50) NOT NULL,
CONSTRAINT pk_departamentos
PRIMARY KEY(ID_DEPARTAMENTO)
);
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.2 CREATE TABLE
Exemplo 2 – Tabela Departamentos
CREATE TABLE Departamentos (
ID_DEPARTAMENTO INT NOT NULL,
NOME VARCHAR(50) NOT NULL,
CONSTRAINT pk_departamentos
PRIMARY KEY(ID_DEPARTAMENTO)
);
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
CAMPOS E
VALORES
CHAVE
PRIMÁRIA
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.2 CREATE TABLE
Exemplo 3 – Tabela Funcionários
CREATE TABLE Funcionarios (
MATRICULA INT NOT NULL,
NOME VARCHAR(50) NOT NULL,
CPF CHAR(11) NOT NULL,
SALARIO DECIMAL(10, 2) NOT NULL,
ID_DEPARTAMENTO INT,
CHAVE
CONSTRAINT pk_funcionários
PRIMÁRIA
PRIMARY KEY(MATRICULA),
CONSTRAINT un_funcionarios_cpf UNIQUE(CPF),
CHAVE
CONSTRAINT ck_funcionarios_salario CHECK(SALARIO >= 0), CANDIDATA
CONSTRAINT fk_funcionarios_departamentos
FOREIGN KEY(ID_DEPARTAMENTO)
CHECAGEM
REFERENCES Departamentos(ID_DEPARTAMENTO)
ON UPDATE RESTRICT
CHAVE
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
ON DELETE RESTRICT );
ESTRANGEIRA
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.2 CREATE TABLE
Exemplo 4 – Tabela Funcionários
CREATE TABLE Funcionarios (
MATRICULA INT NOT NULL,
NOME VARCHAR(50) NOT NULL,
CPF CHAR(11) NOT NULL,
SALARIO DECIMAL(10, 2) NOT NULL,
ID_DEPARTAMENTO INT,
CHAVE PRIMÁRIA
PRIMARY KEY (MATRICULA),
UNIQUE (CPF),
CHAVE CANDIDATA
CHECAGEM
CHECK (SALARIO >= 0),
FOREIGN KEY (ID_DEPARTAMENTO) REFERENCES Departamentos
);
CHAVE
ESTRANGEIRA
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.2 CREATE TABLE
Exemplo 5 – Tabela Funcionários
CREATE TABLE Funcionarios (
MATRICULA INT PRIMARY KEY NOT NULL,
CHAVE PRIMÁRIA
NOME VARCHAR(50) NOT NULL,
CPF CHAR(11) UNIQUE NOT NULL,
CHAVE CANDIDATA
SALARIO DECIMAL(10, 2) NOT NULL,
ID_DEPARTAMENTO INT REFERENCES Departamentos,
CHECK (SALARIO >= 0),
CHAVE
);
CHECAGEM
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
ESTRANGEIRA
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.2 CREATE TABLE
a) Tipos de Dados
CREATE TABLE Funcionarios (
ID INT,
NOME VARCHAR(50));
Os tipos de dados são os definidos pelo padrão ANSI SQL: 2011. Cada
SGBD possui sua própria lista de tipos de dados suportados, que pode ou
não seguir o padrão ANSI.
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.2 CREATE TABLE
a) Tipos de Dados (continuação)
SMALLINT
INTEGER (INT)
BIGINT
DECIMAL
NUMERIC
Numéricos exatos
FLOAT
REAL
DOUBLE
Numéricos aproximados
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.2 CREATE TABLE
a) Tipos de Dados (continuação)
CHARACTER (CHAR)
CHARACTER(VARCHAR)
CHARACTER LARGE OBJ (CLOB)
Caracteres
BINARY
BINARY VARYING (VARBINARY)
BINARY LARG OBJ (BLOB)
Binários
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.2 CREATE TABLE
a) Tipos de Dados (continuação)
DATE
TIME
TIMESTAMP
INTERVAL
Data e Hora
BOOLEAN
Booleano
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.2 CREATE TABLE
b) Tipos de Valores
CREATE TABLE Funcionarios (
ID INT NOT NULL,
NOME VARCHAR(50) NULL);
Os tipos de valores são indicados após o tipo de dados para definir se o
campo poderá conter valores nulos ou não.
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.2 CREATE TABLE
b) Tipos de Valores (continuação)
NOT NULL
Coluna não pode admitir valores nulos
NULL
Coluna pode admitir valores nulos
DEFAULT
Valor atribuído automaticamente a coluna
quando um valor especifico não e
informado.
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.2 CREATE TABLE
c) Restrições de Integridade
CREATE TABLE Funcionarios (
ID INT NOT NULL,
NOME VARCHAR(50) NULL
CONSTRAINT <nome_restrição>
PRIMARY KEY (coluna)
);
As restrições de integridade são usados para garantir a exatidão e a
consistência dos dados em um banco de dados.
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.2 CREATE TABLE
c) Restrições de Integridade (continuação)
Chave Primária
CONSTRAINT <nome_restrição>
PRIMARY KEY (coluna)
Chave candidata / alternativa
CONSTRAINT <nome_restrição>
UNIQUE (colunas)
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.2 CREATE TABLE
c) Restrições de Integridade (continuação)
Checagem
Chave estrangeira
CONSTRAINT <nome_restrição>
CHECK(expressão)
CONSTRAINT <nome_restrição>
FOREIGN KEY (colunas)
REFERENCES tabela (colunas)
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.2 CREATE TABLE
d) Chave Estrangeira – Ações Referenciais
CONSTRAINT <nome_restrição>
FOREIGN KEY (colunas)
REFERENCES tabela (colunas)
ON UPDATE ação_referencial
ON DELETE ação_referencial
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.2 CREATE TABLE
d) Chave Estrangeira – Ações Referenciais (continuação)
• CASCATE: Propaga a alteração ou remoção da chave primaria para a
chave estrangeira
• RESTRICT: A alteração ou remoção da chave primaria não é possível se
existirem valores correspondentes na chave estrangeira
• NO ACTION: Não executa qualquer ação na chave estrangeira quando a
chave primária é alterada ou removida
• SET DEFAULT: Altera o valor da chave estrangeira para o valor DEFAULT
da coluna quando a chave primária é alterada ou removida
• SET NULL: Altera o valor da chave estrangeira para o valor NULL quando
a chave primária é alterada ou removida
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.3 DROP DATABASE
Objetivo: Excluir banco de dados
Sintaxe:
Exemplo:
DROP DATABASE <nome do banco de dados>;
DROP TABLE DB_Escola;
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.4 DROP TABLE
Objetivo: Excluir tabelas
Sintaxe:
Exemplo:
DROP TABLE <nome da tabela>;
DROP TABLE Funcionario;
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.5 ALTER TABLE
Objetivo: Alterar tabelas
a) Adicionar colunas na tabela
Sintaxe:
Exemplo:
ALTER TABLE <nome da tabela>
ADD <nome da coluna> <tipo>;
ALTER TABLE Funcionario
ADD CPF varchar(11) DEFAULT NULL;
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.5 ALTER TABLE
Objetivo: Alterar tabelas
b) Alterar tipo das colunas da tabela
Sintaxe:
Exemplo:
ALTER TABLE <nome da tabela>
MODIFY COLUMN <nome da coluna> <tipo>;
ALTER TABLE Funcionario
MODIFY COLUMN CPF varchar(20);
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.5 ALTER TABLE
Objetivo: Alterar tabelas
c) Excluir colunas da tabela
Sintaxe:
Exemplo:
ALTER TABLE <nome da tabela>
DROP <nome da coluna>;
ALTER TABLE Funcionario
DROP CPF;
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.5 ALTER TABLE
Objetivo: Alterar tabelas
d) Excluir índices da tabela
Sintaxe:
Exemplo:
ALTER TABLE <nome da tabela>
DROP INDEX <nome da coluna>;
ALTER TABLE Funcionario
DROP INDEX CPF;
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.6 RENAME
Objetivo: Renomear tabelas
Sintaxe:
Exemplo:
RENAME TABLE <nome da tabela>
TO <novo nome da tabela>;
RENAME TABLE Funcionario
TO Empregados;
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
2.1.7 TRUNCATE
Objetivo: Excluir todos os registros da tabela
Sintaxe:
Exemplo:
TRUNCATE TABLE <nome da tabela>;
TRUNCATE TABLE Funcionario;
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
RESUMO e EXEMPLOS
• Criar banco de dados:
CREATE DATABASE DB_Escola;
• Criar tabela:
CREATE TABLE Departamento (
ID_DEPARTAMENTO INT NOT NULL,
NOME VARCHAR(50) NOT NULL,
CONSTRAINT pk_departamentos
PRIMARY KEY(ID_DEPARTAMENTO)
);
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
RESUMO e EXEMPLOS
• Excluir banco de dados:
DROP DATABASE DB_Escola;
• Excluir tabelas:
DROP TABLE Departamento;
• Adicionar coluna na tabela:
ALTER TABLE Departamento
ADD ANDAR VARCHAR(100);
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
RESUMO e EXEMPLOS
• Alterar o tipo da coluna na tabela:
ALTER TABLE Departamento
MODIFY COLUMN ANDAR INT;
• Excluir coluna na tabela:
ALTER TABLE Departamento
DROP ANDAR;
• Renomear tabelas:
RENAME TABLE Departamento
TO Departamento_Novo
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL)
RESUMO e EXEMPLOS
• Excluir todos os registros da tabela:
TRUNCATE TABLE Departamento
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
MODELO RELACIONAL
EXERCÍCIO 1
a) Criar um banco de dados com o nome: DB_LojaFuturo
b) Criar as tabelas a seguir:
PRODUTO
ID_PRODUTO
DESCRIÇÃO
VALOR
ITEM_PEDIDO
ID_PRODUTO
ID_PEDIDO
QUANTIDADE
FORNECEDOR_PRODUTO
ID_FORNECEDOR
ID_PRODUTO
FORNECEDOR
ID_FORNECEDOR
NOME
IMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL
PEDIDO
ID_PEDIDO
ID_CLIENTE
DATA
CLIENTE
ID_CLIENTE
NOME
CPF
TIPO
MODELO RELACIONAL
FIM DO MÓDULO 2 - DDL
Download