Baixe o app para aproveitar ainda mais
Prévia do material em texto
IMPLEMENTAÇÃO DE BANCO DE DADOS MODULO 2 – L INGUAGEM SQL MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 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 CONTEÚDO MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 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 CONTEÚDO MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2. LINGUAGEM SQL DDL - ESTRUTURA CREATE ALTER DROP RENAME TRUNCATE DML - DADOS SELECT INSERT UPDATE DELETE DCL - ACESSO GRANT REVOKE DTL - MULTIPROCESSAMENTO BEGIN COMMIT ROLLBACK 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS - DDL MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 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 MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) 2.1.1 CREATE DATABASE CREATE DATABASE <nome do banco de dados>;Sintaxe: Exemplo: CREATE DATABASE DB_Escola; Objetivo: Criar banco de dados MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) CREATE TABLE <nome da tabela> ( <campo e tipos> ); Sintaxe 1: Objetivo: Criar tabelas CREATE TABLE Funcionarios ( ID INT, NOME VARCHAR(50)); Exemplo: 2.1.2 CREATE TABLE MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) Exemplo – Tabela Departamentos 2.1.2 CREATE TABLE CREATE TABLE Departamentos ( ID_DEPARTAMENTO INT NOT NULL, NOME VARCHAR(50) NOT NULL, CONSTRAINT pk_departamentos PRIMARY KEY(ID_DEPARTAMENTO) ); MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) Exemplo 2 – Tabela Departamentos 2.1.2 CREATE TABLE CREATE TABLE Departamentos ( ID_DEPARTAMENTO INT NOT NULL, NOME VARCHAR(50) NOT NULL, CONSTRAINT pk_departamentos PRIMARY KEY(ID_DEPARTAMENTO) ); CAMPOS E VALORES CHAVE PRIMÁRIA MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) 2.1.2 CREATE TABLE Exemplo 3 – Tabela Funcionários CONSTRAINT fk_funcionarios_departamentos FOREIGN KEY(ID_DEPARTAMENTO) REFERENCES Departamentos(ID_DEPARTAMENTO) ON UPDATE RESTRICT ON DELETE RESTRICT ); CONSTRAINT ck_funcionarios_salario CHECK(SALARIO >= 0), 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, CONSTRAINT pk_funcionários PRIMARY KEY(MATRICULA), CONSTRAINT un_funcionarios_cpf UNIQUE(CPF), CHAVE PRIMÁRIA CHAVE CANDIDATA CHECAGEM CHAVE ESTRANGEIRA MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) 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, PRIMARY KEY (MATRICULA), UNIQUE (CPF), CHECK (SALARIO >= 0), FOREIGN KEY (ID_DEPARTAMENTO) REFERENCES Departamentos ); 2.1.2 CREATE TABLE Exemplo 4 – Tabela Funcionários CHAVE PRIMÁRIA CHAVE CANDIDATA CHECAGEM CHAVE ESTRANGEIRA MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) CREATE TABLE Funcionarios ( MATRICULA INT PRIMARY KEY NOT NULL, NOME VARCHAR(50) NOT NULL, CPF CHAR(11) UNIQUE NOT NULL, SALARIO DECIMAL(10, 2) NOT NULL, ID_DEPARTAMENTO INT REFERENCES Departamentos, CHECK (SALARIO >= 0), ); 2.1.2 CREATE TABLE Exemplo 5 – Tabela Funcionários CHAVE PRIMÁRIA CHAVE CANDIDATA CHECAGEM CHAVE ESTRANGEIRA MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) a) Tipos de Dados 2.1.2 CREATE TABLE 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. MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) SMALLINT INTEGER (INT) BIGINT DECIMAL NUMERIC FLOAT REAL DOUBLE Numéricos exatos Numéricos aproximados a) Tipos de Dados (continuação) 2.1.2 CREATE TABLE MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) CHARACTER (CHAR) CHARACTER(VARCHAR) CHARACTER LARGE OBJ (CLOB) BINARY BINARY VARYING (VARBINARY) BINARY LARG OBJ (BLOB) Caracteres Binários a) Tipos de Dados (continuação) 2.1.2 CREATE TABLE MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) DATE TIME TIMESTAMP INTERVAL BOOLEAN Data e Hora Booleano a) Tipos de Dados (continuação) 2.1.2 CREATE TABLE MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) b) Tipos de Valores 2.1.2 CREATE TABLE 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. MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) 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. b) Tipos de Valores (continuação) 2.1.2 CREATE TABLE MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) c) Restrições de Integridade 2.1.2 CREATE TABLE 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. MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) CONSTRAINT <nome_restrição> PRIMARY KEY (coluna) Chave Primária CONSTRAINT <nome_restrição> UNIQUE (colunas) Chave candidata / alternativa c) Restrições de Integridade (continuação) 2.1.2 CREATE TABLE MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) CONSTRAINT<nome_restrição> CHECK(expressão) Checagem CONSTRAINT <nome_restrição> FOREIGN KEY (colunas) REFERENCES tabela (colunas) Chave estrangeira c) Restrições de Integridade (continuação) 2.1.2 CREATE TABLE MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) CONSTRAINT <nome_restrição> FOREIGN KEY (colunas) REFERENCES tabela (colunas) ON UPDATE ação_referencial ON DELETE ação_referencial d) Chave Estrangeira – Ações Referenciais 2.1.2 CREATE TABLE MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) • 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 d) Chave Estrangeira – Ações Referenciais (continuação) 2.1.2 CREATE TABLE MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) DROP DATABASE <nome do banco de dados>;Sintaxe: Exemplo: DROP TABLE DB_Escola; Objetivo: Excluir banco de dados 2.1.3 DROP DATABASE MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) DROP TABLE <nome da tabela>;Sintaxe: Exemplo: DROP TABLE Funcionario; Objetivo: Excluir tabelas 2.1.4 DROP TABLE MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) ALTER TABLE <nome da tabela> ADD <nome da coluna> <tipo>; Sintaxe: Exemplo: ALTER TABLE Funcionario ADD CPF varchar(11) DEFAULT NULL; a) Adicionar colunas na tabela 2.1.5 ALTER TABLE Objetivo: Alterar tabelas MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) ALTER TABLE <nome da tabela> MODIFY COLUMN <nome da coluna> <tipo>; Sintaxe: Exemplo: ALTER TABLE Funcionario MODIFY COLUMN CPF varchar(20); b) Alterar tipo das colunas da tabela 2.1.5 ALTER TABLE Objetivo: Alterar tabelas MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) ALTER TABLE <nome da tabela> DROP <nome da coluna>; Sintaxe: Exemplo: ALTER TABLE Funcionario DROP CPF; 2.1.5 ALTER TABLE c) Excluir colunas da tabela Objetivo: Alterar tabelas MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) ALTER TABLE <nome da tabela> DROP INDEX <nome da coluna>; Sintaxe: Exemplo: ALTER TABLE Funcionario DROP INDEX CPF; 2.1.5 ALTER TABLE d) Excluir índices da tabela Objetivo: Alterar tabelas MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) RENAME TABLE <nome da tabela> TO <novo nome da tabela>; Sintaxe: Exemplo: RENAME TABLE Funcionario TO Empregados; Objetivo: Renomear tabelas 2.1.6 RENAME MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) TRUNCATE TABLE <nome da tabela>;Sintaxe: Exemplo: TRUNCATE TABLE Funcionario; Objetivo: Excluir todos os registros da tabela 2.1.7 TRUNCATE MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) • 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) ); RESUMO e EXEMPLOS MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) • Excluir banco de dados: DROP DATABASE DB_Escola; • Excluir tabelas: DROP TABLE Departamento; • Adicionar coluna na tabela: ALTER TABLE Departamento ADD ANDAR VARCHAR(100); RESUMO e EXEMPLOS MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) • 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 RESUMO e EXEMPLOS MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL 2.1 LINGUAGEM DE DEFINIÇÃO DE DADOS (DDL) RESUMO e EXEMPLOS • Excluir todos os registros da tabela: TRUNCATE TABLE Departamento MODELO RELACIONALIMPLEMENTAÇÃO DE BANCO DE DADOS - MÓDULO 2 – Linguagem SQL EXERCÍCIO 1 PRODUTO ITEM_PEDIDO PEDIDO ID_PRODUTO ID_PRODUTO ID_PEDIDO DESCRIÇÃO ID_PEDIDO ID_CLIENTE VALOR QUANTIDADE DATA FORNECEDOR_PRODUTO CLIENTE ID_FORNECEDOR ID_CLIENTE ID_PRODUTO NOME CPF FORNECEDOR TIPO ID_FORNECEDOR NOME a) Criar um banco de dados com o nome: DB_LojaFuturo b) Criar as tabelas a seguir: FIM DO MÓDULO 2 - DDL
Compartilhar