Oracle 10g: Fundamentals I - SQL e SQL*PLUS
Duração:
24hs
Oracle 10g Fundamentals I - Introdução, conceitos, criação de estruturas, SQL e SQL*PLUS.
Objetivos
- Consultar os dados armazenados no banco de dados
- Criar e manter objetos de banco de dados, assim como armazenar, recuperar e manipular dados
- Controlar transações
- Utilizar funções de banco de dados
- Utilizar comandos básicos de SQL*PLUS
- Utilizar o SQL*PLUS para formatar relatórios
- Este treinamento é aplicável a usuários Oracle 8i, Oracle 9i e Oracle 10g
Pré-requisitos
- Conhecimentos de Lógica de Programação
- Noções de Sistemas Operacionais
- Noções de Modelagem de Sistemas
Público alvo
- Administradores de Dados
- Administradores de Banco de Dados
- Administradores de Sistema Operacional e Redes
- Analistas de Sistemas
- Arquitetos de Sistemas e Projetistas
- Desenvolvedores de Aplicações
- Diretores de Informática
- Gerentes de Informática
- Gerentes de Suporte
- Profissionais do Suporte Técnico
- Programadores
Conteúdo
1. Introdução
- Ciclo de Vida do Desenvolvimento de Sistemas
- Armazenamento de Dados em Diferentes Mídias
- Conceito de Banco de Dados Relacional
- Definição de Banco de Dados Relacional
- Modelos de Dados
- Modelo Entidade-Relacionamento
- Convenções do Modelo Entidade-Relacionamento
- Terminologia Utilizada em Bancos de Dados Relacionais
- Relacionando Múltiplas Tabelas
- Propriedades de um Banco de Dados Relacional
- Comunicando com um SGDB utilizando SQL
- Sistema de Gerenciamento de Banco de Dados
- Conheça o Mundo Oracle
- Oracle10g: SGBD Objeto Relacional
- Solução Oracle
- Comandos SQL
- Tabelas Utilizadas no Curso
2. Executando Comandos SQL Básicos
- Características do Comando SQL SELECT
- Comando SELECT Básico
- Escrevendo Comandos SQL
- Selecionando todas as Colunas
- Selecionando Colunas Específicas
- Padrões de Cabeçalho de Colunas
- Expressões Aritméticas
- Utilizando Operadores Aritméticos
- Precedência dos Operadores
- Utilizando Parênteses
- Definindo um Valor Nulo
- Valores Nulos em Expressões Aritméticas
- Definindo um Alias de Coluna
- Utilizando Alias de Colunas
- Operador de Concatenação
- Strings de Caracteres Literais
- Linhas Duplicadas
- Eliminando Linhas Duplicadas
- Interação entre SQL e SQL*Plus
- Visão Geral do SQL*Plus
- Conectando com o SQL*Plus
- Exibindo a Estrutura de Tabelas
- Comandos de Edição do SQL*Plus
- Comandos de Arquivo do SQL*Plus
- iSQL*Plus
- Oracle SQL Developer
3. Restringindo e Ordenando Dados
- Limitando as Linhas Selecionadas
- Utilizando a Cláusula WHERE
- Strings de Caractere e Datas
- Operadores de Comparação
- Utilizando os Operadores de Comparação
- Outros Operadores de Comparação
- Operador BETWEEN
- Operador IN
- Operador LIKE
- Operador IS NULL
- Operadores Lógicos
- Operador AND
- Operador OR
- Operador NOT
- Regras de Precedência
- Cláusula ORDER BY
- Classificando em Ordem Descendente
- Ordenando pelo Alias de Coluna
- Ordenando por Múltiplas Colunas
4. Funções Básicas
- Funções SQL
- Tipos de Funções SQL
- Funções do Tipo Single-Row
- Funções single-row
- Funções de Caracteres
- Funções de Conversão entre Maiúsculas/Minúsculas
- Utilizando Funções de Conversão entre Maiúsculas/Minúsculas
- Funções de Manipulação de Caracteres
- Utilizando as Funções de Manipulação de Caracteres
- Funções Numéricas
- Utilizando a Função ROUND
- Utilizando a Função TRUNC
- Utilizando a Função MOD
- Trabalhando com Datas
- Formato Padrão de Datas
- Cálculos com Datas
- Utilizando Operadores Aritméticos com Datas
- Funções de Data
- Utilizando Funções de Data
- Funções de Conversão
- Conversão Explícita de Tipos de Dados
- Função TO_CHAR com Datas
- Elementos de Formatação de Datas
- Utilizando a Função TO_CHAR com Datas
- Função TO_CHAR com Números
- Utilizando a Função TO_CHAR com Números
- Funções TO_NUMBER e TO_DATE
- Função NVL, NVL2
- Utilizando a Função NVL e NVL2
- Uso de CASE no SELECT
- Função DECODE
- Utilizando a Função DECODE
- Aninhando Funções
5. Exibindo Dados a Partir de Múltiplas Tabelas
- Obtendo Dados a Partir de Múltiplas Tabelas
- Produto Cartesiano
- Gerando um Produto Cartesiano
- Tipos de Joins
- O que é um Equijoin?
- Recuperando Registros com Equijoins
- Qualificando Nomes de Colunas Ambíguos
- Condições Adicionais de Pesquisa com o Operador AND
- Utilizando Alias de Tabela
- Relacionando mais de Duas Tabelas
- Non-Equijoins
- Recuperando Registros com Non-Equijoins
- Outer Joins
- Recuperando Registros sem Correspondência Direta Utilizando Outer Joins
- Utilizando Outer Joins
- Self Joins
- Relacionando uma Tabela com Ela Mesma
6. Agregando Dados Utilizando Funções de Grupo
- O que são Funções de Grupo?
- Tipos de Funções de Grupo
- Utilizando Funções de Grupo
- Utilizando as Funções AVG e SUM
- Utilizando as Funções MIN e MAX
- Utilizando a Função COUNT
- Funções de Grupo e Valores Nulos
- Utilizando a Função NVL com Funções de Grupo
- Criando Grupos de Dados
- Criando Grupos de Dados: Cláusula GROUP BY
- Utilizando a Cláusula GROUP BY
- Agrupando por Mais de Uma Coluna
- Utilizando a Cláusula GROUP BY em Múltiplas Colunas
- Consultas Ilegais Utilizando Funções de Grupo
- Excluindo Resultados de Grupos
- Excluindo Resultados de Grupos: Cláusula HAVING
- Utilizando a Cláusula HAVING
- Aninhando Funções de Grupo
7. Produzindo Resultados Formatados com SQL*Plus
- Relatórios Interativos
- Utilizando Variáveis de Substituição com (&)
- Utilizando o Comando SET VERIFY
- Valores Caractere e Data com Variáveis de Substituição
- Especificando Nomes de Colunas, Expressões e Textos em Tempo de Execução
- Execução
- Utilizando Variáveis de Substituição com (&&)
- Definindo Variáveis de Usuário
- O Comando ACCEPT
- Utilizando o Comando ACCEPT
- Comandos DEFINE e UNDEFINE
- Utilizando o Comando DEFINE e UNDEFINE
- Customizando o Ambiente do SQL*Plus
- Variáveis do Comando SET
- Salvando as Customizações no Arquivo glogin.sql
8. Manipulando Dados
- Linguagem de Manipulação de Dados
- Comando INSERT
- Inserindo Novas Linhas
- Inserindo Linhas com Valores Nulos
- Inserindo Valores Especiais
- Inserindo Valores de Data Específicos
- Inserindo Valores Utilizando Variáveis de Substituição
- Criando um Script com Prompts Customizados
- Comando UPDATE
- Alterando Linhas em uma Tabela
- Atualizando Linhas: Erro de Constraint de Integridade
- Comando DELETE
- Removendo Linhas de uma Tabela
- Removendo Linhas: Erro de Constraint de Integridade
- Transações de Banco de Dados
- Vantagens do COMMIT e ROLLBACK
- Controlando Transações
- Processamento Implícito de Transações
- Situação dos Dados Antes do COMMIT ou ROLLBACK
- Situação dos Dados Após o COMMIT
- Efetivando os Dados
- Situação dos Dados Após o ROLLBACK
- Desfazendo as Alterações Até uma Marca
- Rollback ao Nível de Comando
- Leitura Consistente
- Implementação de Leitura Consistente
- Lock
9. Criando e Gerenciando Tabelas
- Objetos do Banco de Dados
- Convenções de Nomes
- Comando CREATE TABLE
- Opção DEFAULT
- Criando Tabelas
- Consultando o Dicionário de Dados
- Tipos de Dados
- Binary_Float e Binary_Double
- Criando uma Tabela Utilizando uma subconsulta
- Criando uma Tabela a Partir de Linhas em Outra Tabela
- Comando ALTER TABLE
- Adicionando uma Coluna
- Modificando uma Coluna
- Removendo uma Coluna
- Removendo uma Tabela
- Modificando o Nome de um Objeto
- Truncando uma Tabela
- Adicionando Comentários para Tabelas e Colunas
10. Implementando Constraints
- O Que são Constraints?
- Diretrizes para Constraints
- Definindo Constraints
- Constraint NOT NULL
- Constraint UNIQUE KEY
- Constraint PRIMARY KEY
- Constraint FOREIGN KEY
- Palavras Chave de Constraints FOREIGN KEY
- Constraint CHECK
- Adicionando uma Constraint
- Removendo uma Constraint
- Desabilitando Constraints
- Habilitando Constraints
- Visualizando Constraints
- Visualizando as Colunas Associadas com Constraints
11. Criando Visões
- O que é uma Visão?
- Porquê Utilizar Visões?
- Visões Simples e Visões Complexas
- Criando uma Visão
- Recuperando Dados de uma Visão
- Consultando uma Visão
- Modificando uma Visão
- Criando uma Visão Complexa
- Removendo uma Visão
12. Outros Objetos do Banco de Dados
- O que é uma Sequence?
- Comando CREATE SEQUENCE
- Criando uma Sequence
- Confirmando Sequences
- Pseudocolunas NEXTVAL e CURRVAL
- Utilizando uma Sequence
- Modificando uma Sequence
- Diretrizes para Modificar uma Sequence
- Removendo uma Sequence
- O que é um Índice?
- Como os Índices são Criados?
- Criando um Índice
- Diretrizes para a Criação de Índices
- Confirmando Índices
- Removendo um Índice
13. Subconsultas
- Utilizando uma Subconsulta para Resolver um Problema
- Subconsultas
- Utilizando uma Subconsulta
- Diretrizes para Utilização de Subconsultas
- Tipos de Subconsultas
- Subconsultas Single-Row
- Executando Subconsultas Single-Row
- Utilizando Funções de Grupo em uma Subconsulta
- Cláusula HAVING com Subconsultas
- Qual o Erro deste Comando?
- Este Comando Funcionará?
- Subconsultas do Tipo Multiple-Row
- Utilizando o Operador ANY em Subconsultas Multiple-Row
- Utilizando o Operador ALL em Subconsultas Multiple-Row
- Subconsultas Multiple-Column
- Utilizando Subconsultas Multiple-Column
- Utilizando uma Subconsulta na Cláusula FROM
14. Operadores SET
- União - UNION
- Interseção - INTERSECT
- Diferença - MINUS
- Usos Incomuns do Comando SELECT
15. SQL Hierárquico
- SQL Hierárquico
- A Pseudocoluna LEVEL
- Ordenando SELECTs Hierárquicos
16. Expressões Regulares
- Expressões Regulares
- Expressões Regulares no Oracle 10g
- REGEXP_LIKE()
- REGEXP_INSTR()
- REGEXP_REPLACE()
- REGEXP_SUBSTR()