Create your own awesome maps

Even on the go

with our free apps for iPhone, iPad and Android

Get Started

Already have an account?
Log In

ORACLE DATABASE OCA - 1Z0 - 051 by Mind Map: ORACLE DATABASE
OCA - 1Z0 - 051
5.0 stars - 1 reviews range from 0 to 5

ORACLE DATABASE OCA - 1Z0 - 051

Ch 1 Introdução

Comandos SQL

DML, Comandos, UPDATE, MERGE, DELETE, INSERT, SELECT

DDL, Comandos, RENAME, COMMENT, CREATE, ALTER, TRUNCATE, DROP, Def: Quando se executa algum comando DDL todas as transações sofrem COMMIT

DCL, Comandos, REVOKE, GRANT

TCL, Comandos, SAVEPOINT, ROLLBACK, COMMIT

Ch 2 Manejando SQL

Operadores Aritmeticos

Tipos, (), /, *, -, +

É avaliada da esquerda para direita

Null

Definição, É um valor que não está acessivel, disponivel e desconhecido

Alias de Colunas

Operação de Concatenação ||

Ch 3 Registrando e Ordenando Dados

Restringindo

Comparação (relacionais), IN, BETWEEN, LIKE, Escape caracter indicando o simbolo que queremos no escape name LIKE '!%' escape '!' = name is % - literal name LIKE 'H%!%' escape '!' = name is H% - literal name LIKE 'H%!_' escape '!' = name is H_ - literal

Condicionais (logicas), AND, OR, NOT

Ordenando

Definição: * Ultima clausula do Select * Campos LONG não podem ser ordenados

Tipos, ASC (Defalt) - NULL vai sempre em ultimo, DESC

Ch 4 Funções simples

Definição

* É possivel realizar calculos * Realiza conversão * Manipula dado * Opera sobre cada linha por vez e retorna uma linha de saída para cada

Tipos

Geral, Definição, * Aplica-se sobre qualquer tipo de dado * Usa-se muito para valores null, Tipos, NVL, NVL (exp1, exp2) Se exp1 é NULL, retorna exp2, Se exp1 NOT NULL, retorna exp1., NVL2, NVL2 (exp1, exp2, exp3), Se exp1 é NULL, retorna exp3. Se exp1 NOT NULL, retorna exp2., NULLIF, NULLIF (exp1, exp2) Se exp1 = exp2 retorna NULL Se exp1 != exp2 retorna exp1, COALESCE, Retorna a primeira expressão diferente de NULL entre seus argumentos. Todos os dados tem que ter o mesmo tipo., CASE, CASE WHEN exp1 THEN val1 WHEN exp2 THEN val2 ... ELSE valn END, DECODE, DECODE(exp, value1 [, return1, value2, return2,...,] default)

Numericas, Funções, ROUND, *Arrendonda nº ROUND(5.75, 1) = 5.8 ROUND(5.75, -1) = 10, TRUNC, *Arrendonda nº TRUNC(5.75, 1) = 5.7 TRUNC(5.75, -1) = 0, MOD, *Retorna o resto da divisão de dois nº, FLOOR, Arredonda N a Vrl inferior, CEIL, Arredonda N a Vlr Superior, SIGN, Se N < 0 retorna -1, N = 0 retorna 0, Se N > 0 retorna 1, POWER, *Retorna a potência de um numero, ABS, *Retorna o nº positivo, SQRT, * Retorna a raiz quadrada, Outras, acos, asin, atan, atan2, cos, cosh, exp, ln, log, sin, sinh, tan, tanh

Data, Definição, * A data guarda formato numerico * Operações artimeticas de datas, Tipos, MONTHS_BETWEEN, ADD_MONTHS, NEXT_DAY, ROUND, TRUNC

Caracteres, Definição, * Entrada: Caracteres * Saída: Caracteres ou Numeros, Tipos, Formato, LOWER, UPPER, INITCAP, Manipulação, CONCAT, *Faz o mesmo que o operador ||, SUBSTR, *Retorna um pedaço determinado de uma string SUBSTR('string', início, comprimento), LENGTH, *Retorna a quantidade de caracteres da string, INSTR, *Serve para retornar a posição de uma string INSTR('string da pesquisa', 'string procurada', inicio, ocorrência);, LDAP | RPAD, * Preenche string com um determinado n° de caracteres LPAD('string', tamanho que vai ser a string, 'string para preenchimento');, TRIM, *Retira string dos cantos de uma string TRIM('string', 'string que será cortada se vazia corta o vazio'), REPLACE, *Usada para procurar string e substitui-la REPLACE('string', 'string_busca', 'string_substituta')

Conversão, Tipos, Implicitos, Definição, Conversão automatica dos dados para o tipo esperado, Explicito, Definição, * Utiliza função de conversão de dados, Tipos, CHAR A NUMBER = TO_NUMBER, CHAR A DATE = TO_DATE, DATE A CHAR = TO_CHAR, *Pag: 160, NUMBER A CHAR = TO_CHAR, *Pag: 133

Expressões Regulares, *Pag: 138

Ch 5 Funções de Grupo

Definição

* Retorna um resultado por grupo em cada Conjunto. (GROUP BY) * Pode ser aninhados a mais de dois níveis. (Group by x,y,z,....) * Incluir ou Excluir HAVING * Todas a funções de Grupo ignoram NULL

Normas

* Usar DISTINCT ou UNIQUE para não repetir valores

* Só podem ser utilizados em CHAR, VARCHAR, DATE, NUMBER

* Para substituir NULL use NVL, NVL2, COALESCE

Tipos

Total

Agrupados

Funções

COUNT, Count(*) = all (null e repetidos) Count(distinct) = all(menos repetidos)

AVG, Media dos dados not null

SUM, Somatoria dos dados not null

MAX, Max de dados not null

MIN, MIN de dados not null

STDDEV, Desvio Padrão de dados not null

VARIANCE, Variancia de n dados not null

Ch 6 Multiplas Tabelas

Definição

* Joins podem ser usadas para conectar qualquer n° de tabelas

Produto Cartesiano

Se estiver faltando join. Retorna a união de todas as linhas de uma tabela com outra

Tipos

Tipos de Joins, Equijoin, select x.employee_id, x.job_id, y.job_title from employees x, jobs y where x.job_id=y.job_id, Não-equijoins, select x.employee_id, x.job_id, y.job_title from employees x, jobs y where x.salary between y.min_salary and y.max_salary, Outer Join, left (+), Def. todos os registros da esquerda são inclusos, (+) right, Def. todos os registros da direita são inclusos, select e.last_name, e.department_id, d.department_name from employees e, departments d where e.departament_id(+)=d.department_id;, Self Join, select x.last_name||' trabalha para '|| y.first_name from employees x, employees y where x.employee_id=y.manager_id;

Joins Sintaxe SQL/92, Cross join, Def. Produto Cartesiano das tabelas, select last_name, department_name from employees cross join departments;, Natural Join, Def. Join de 2 tabelas com mesmo nome de coluna (pk-fk), select department_id, department_name, city from departments natural join locations;, Join, ON, Def. Diferente nomes, mas tipos de dados compativeis, select x.country_name, y.region_name from countries x join regions y on (x.region_id=y.region_id), USING, Def. Mesmo nome e tipo de dado * Pode receber varias colunas, select e.last_name, d.location_id from employees e join departments d using (department_id) where department_id in (10, 30), Outer Join, LEFT OUTER JOIN, Def. todos os registros a esquerda do join, RIGHT OUTER JOIN, Def. todos os registros a direita do join, Full Outer Join, Def. Utiliza todas as linhas da tabela1 e da tabela2, incuindo NULL. Para junção., select p.name, pt.name from products p full outer join product_types pt using (product_type_id) order by p.name;

Ch 7 Subqueries

Definição

* É uma sentença "select" usada em outra sentença "select", "insert", "update" ou "delete" * Usado quando uma consulta é muito complexa * Subconsultas inclusas entre parenteses * Podem ter GROUP BY e ORDER BY * Pode conseguir dados de varias tabelas * Multiplas colunas podem ser comparadas

Podem ser usadas

* Nos nomes de campos em um "SELECT" * Na clausula "FROM" em um "SELECT" * Na clausula "HAVING" em um "SELECT" * Na clausula "WHERE" do "SELECT", e em todas sentenças DML

Tipos

Simples, Definição, * Retorna uma só linha * Não retorna então retorna NULL * Pode ser aplicado com operadores de comparação

Multiplo, Definição, * Pode retornar mais de uma linha, Operadores, IN = A um item da lista, ANY = Compara o valor com cada valor retornado pela subconsulta, ALL = Compara o valor por todos os valores retornados por uma subconsulta, EQUIVALENCIAS, < ANY significa < (SELECT MAX ...) > ANY significa > (SELECT MIN ...) = ANY significa mesmo que IN < ALL significa < (SELECT MIN...) > ALL significa > (SELECT MAX...) <> ALL significa o mesmo que NOT IN

Ch 8 Operações de Grupo

Definição

Permite combinar as linhas retornadas por duas ou mais consultas.

Tipos

UNION, * Valores nulos não são levados em conta durante a verificação duplicada

UNION ALL, Unico que não ordena os registros

INTERSEC, Número de colunas e tipos de dados devem ser idênticos para todas a consulta

MINUS, Retorna linhas restantes, quando as linhas recuperadas pela segunda consulta são subtraídas das linhas recuperadas pela primeira

Objetos

Synonyms

Publicos, * Pode ter o mesmo nome que o privado * O proprietario é o SYS * Pode ser referenciado sem schema de associação

Privados

View

Simples, * Numero de tabelas uma. * Não contem funções * Não contem funções de grupo ou grupos de dados * Sempre DML

Complexo, * Mas de uma tabela * Contem funções * Contem funções de grupo e grupos de Dados * Não sempre DML

Criação, Com CHECK Option, * Todos os Insert e Update são checados para asegurar que os dados satisfação a condição definida pela view * Se uma Subquery tem WHERE, previne a inserção e atualização de linhas, Com Check Option local, * Checa a integridade da view, Com CHECK Option cascade, * verificar a integridade e qualquer visão independente

Constraints

Definicion, * Creação de restrições * Podem ser desabilitados ainda que continue com dados

Tipos, Unique, * Podem conter NULL

Tipos de Dados

Interval, * Intervalo de Tempo

Tabelas

Fisicas, PCTFREE, PCTUSED, INITRANS E MAXTRANS

Particionadas, Tipos, Range, Pode ser por datas ou numeros, Hash, Retorna um valor que determina o registro automático particionado, List, Lista os valores definidos sobre o valor de uma coluna especifica, Composite, Ele combina dois tipos de partições como no exemplo (RANGE e HASH), Interval, O sistema automaticamente cria uma partição quando se insere um novo registro no banco de dados, System, Se define a partição da tabela indicando as partições desejadas, mas não se indica uma chave de particionamento

Temporarias, Podem ser, Sub Topico, DELETE ROWS, Ao realizar o commit, Oracle faz um truncate, PRESERVE ROWS, Mantem até que a sessão do usuário termine

Por Indices

PL/SQL

Introdução, Def. * L. Programação para Oracle * Se executa no mesmo Oracle Sever * Linguagem de 4º geração

Beneficios, * Permite criar programas modulares * Integração com ferramentas Oracle * Portabilidade

Tipos, Anonimo, SET SEVEROUTPU ON DECLARE V_MIVARIABLE VARCHAR(20):='OLÁ MUNDO'; BEGIN DBMS_OUTPUT.PUT_LINE(V_MIVARIABLE); DBMS_OUTPUT.PUT_LINE('FIM DO PROGRAMA'); END; /, Sub_Programas, Function, Def. Retorna um valor, CREATE OR REPLACE FUNCTION TEST (EMP_ID INTEGER) RETURN CHAR IS V_NOME CHAR (80); BEGIN SELECT FIRST_NAME||' '||LAST_NAME INTO V_NOME FROM EMPLOYEES WHERE EMPLOYEE_ID = EMP_ID; RETURN V_NOME; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN 'Não encontrado'|| EMP_ID; END; /, Triger, Def. É executado em determinada ação, CREATE OR REPLACE TRIGGER dados AFTER UPDATE ON EMPLOYEES FOR EACH ROW BEGIN INSERT INTO employees_aud VALUES(:old.employee_id,:old.salary,SYSDATE) END; /, Procudure, Def. Execução de varios processos sql, CREATE OR REPLACE PROCEDURE testes (p_empno interger) IS v_data_sistema Date; v_data_contratacao v_data_sistema%TYPE; v_salario employees.salary%TYPE; reg_empregados employees%ROWTYPE; BEGIN SELECT sysdate into v_data_sistema from dual; SELECT * INTO reg_empregados FROM employees WHERE employee_id =p_empno; v_salario := reg_empregados.salary; v_data_contratacao := reg_empregados.hire_date; dbms_output.put_line('O nome do empregado é'||reg_empregados.first_name); dbms_output.put_line('O salário dos empregados é:'||v_salario); dbms_output.put_line('A data de contratação do empregado é:'||v_data_contratacao); dbms_output.put_line('A data do sistema é:'||v_data_sistema); END testes;