SlideShare una empresa de Scribd logo
1 de 63
Bando de Dados
    Relacional
                        RDBMS (Relational Database
                          Management System)


Treinar Informática : Oracle                         3/6/2013   1
O que é?

     Conceito abstrato que define maneiras de
armazenar, manipular e recuperar dados estruturados
  unicamente na forma de tabelas, construindo um
                 bando de dados.




Treinar Informática : Oracle                  3/6/2013   2
Visão Padrão




Treinar Informática : Oracle            3/6/2013   3
Integridade Referencial




Treinar Informática : Oracle   3/6/2013   4
Constraints


                                                           Not
                                      Manter a
   Definições de                                    Null, Unique, Prim
                                  integridade dos
      regras.                                        ary Key, Foreign
                                       dados.
                                                       Key e Check.




Treinar Informática : Oracle                                 3/6/2013   5
SQL
• Linguagem de pesquisa declarativa para banco
  de dados relacional.
• Características inspiradas na álgebra relacional.
• Padrão de banco de dados.
• Simplicidade e facilidade de uso.
• Uma consulta SQL especifica a forma do resultado
  e não o caminho para chegar a ele.
• Pode ser migrado de plataforma para plataforma
  sem mudanças estruturais principais.



 Treinar Informática : Oracle                 3/6/2013   6
SQL
• Consulta a dados
• Inserção, atualização e deleção das linhas de uma
  tabela
• Criação, substituição, alteração e eliminação de
  objetos
• Controle de acesso ao banco de dados e seus
  objetos
• Garantia de consistência e integridade do banco
  de dados.



 Treinar Informática : Oracle                 3/6/2013   7
Palavras Chaves SQL
•     DML – Linguagem de Manipulação de Dados
•     DDL – Linguagem de Definição de Dados
•     DCL – Linguagem de Controle de Dados
•     DTL – Linguagem de Transação de Dados
•     DQL – Linguagem de Consulta de Dados




    Treinar Informática : Oracle                3/6/2013   8
DDL
• Definição de novas tabelas e elementos
  associados.
• Os comandos básicos são:
• CREATE
• DROP




Treinar Informática : Oracle               3/6/2013   9
Tipos de Colunas
• Quando se cria uma tabela é necessário
  especificar o tipo de dados das colunas e a sua
  dimensão. Esta determina o comprimento máximo
  que podem ter os valores nela armazenados.

• VARCHAR2 (n)
• Armazena uma cadeia de caracteres de
  comprimento variável. O valor máximo de n são
  4000 bytes. O Oracle só guarda o que o utilizador
  introduzir não preenchendo o que falta para o
  limite n. Se usarmos BYTE n traduz o número de
  bytes;

 Footer Text                                    3/6/2013   10
Tipos de Colunas
• CHAR(n)
• Caracteres de comprimento fixo n. O valor por
  omissão é 1 sendo o valor máximo 2000. A base de
  dados ocupa sempre n caracteres pois preenche o
  que falta com espaços em branco;
• NUMBER(n,d)
• Número com n digitos sendo d casas décimais (à
  direita da virgula);




Footer Text                                 3/6/2013   11
Tipos de Colunas
• DATE
• Data desde 1 Jan de 4712 AC até 31 de Dez de
  9999 DC. Também é armazenada a hora, minuto e
  segundo. O calendário interno da base de dados
  tem em conta as alterações de calendário
  impostas ao longo do tempo, por exemplo a
  passagem do calendário Juliano para Gregoriano
  em 1582-10-05, onde foram eliminados 10 dias;




Footer Text                                3/6/2013   12
Tipos de Colunas
• VARCHAR2 surgiu na versão 7 para substituir VARCHAR
• Se criar uma coluna com o tipo VARCHAR o SGBD
  converte em VARCHAR2
• Quando insere valores do tipo VARCHAR2 o ORACLE
  não preenche espaços em branco no fim. Isto significa
  que JOSE e JOSE§§§ serão strings diferentes. Se os
  valores fossem do tipo CHAR o ORACLE acrescentava
  espaços no fim automaticamente;
• Quando um valor a introduzir numa coluna excede a
  sua dimensão a base de dados emite uma mensagem
  de erro;



 Footer Text                                      3/6/2013   13
DML
• Realizado para realizar inclusões, consultas,
  alterações e exclusões de dados presentes em
  registros.
• Pode ser executado em diversos registros de
  diversas tabelas ao mesmo tempo.
• Os comandos são:
• INSERT
• SELECT
• UPDATE
• DELETE


 Treinar Informática : Oracle                 3/6/2013   14
DCL
• Controla os aspectos de autorização de dados e
  licenças de usuários para controlar quem tem
  acesso para ver ou manipular dados dentro do
  banco de dados.
• Os comandos são :
• GRANT
• REVOKE




Treinar Informática : Oracle                 3/6/2013   15
DTL
• Próprio nome ja diz: controle de transação de
  dados.
• Os comandos são:
• BEGIN WORK (ou START
  TRANSACTION, dependendo do dialeto SQL)
• COMMIT
• ROLLBACK




 Treinar Informática : Oracle                     3/6/2013   16
DQL
•     É a mais utilizada
•     Possui apenas um comando : SELECT
•     Esse comando possui várias cláusulas:
•     FROM
•     WHERE
•     GROUP BY
•     HAVING
•     ORDER BY
•     DISTINCT


    Treinar Informática : Oracle              3/6/2013   17
DQL
•     Operadores lógicos:
•     AND
•     OR
•     NOT

•     Operadores Relacionais:
•     <
•     >
•     <=
•     >=

    Treinar Informática : Oracle         3/6/2013   18
DQL
•     Operadores Relacionais:
•     =
•     <>
•     BETWEEN
•     LIKE
•     IN

• Funções de Agregação:
• AVG
• COUNT

    Treinar Informática : Oracle         3/6/2013   19
DQL
•     Funções de Agregação:
•     SUM
•     MAX
•     MIN




    Treinar Informática : Oracle         3/6/2013   20
DBA (Administrador de
        Banco de Dados)
•     Avaliar o hardware do servidor de banco de dados
•     Instalar o Oracle
•     Planejar, criar e abrir banco de dados
•     Backup
•     Controlar usuários
•     Design
•     Recuperação após falhas
•     Monitorar




    Treinar Informática : Oracle                 3/6/2013   21
Arquitetura do Banco de
             Dados
•     Arquivos de Controle
•     Arquivos de dados
•     Arquivos de redo log on-line
•     Arquivo de parâmetros
•     Arquivo de senha
•     Arquivo de log arquivados




    Treinar Informática : Oracle     3/6/2013   22
Banco de dados objeto-
     relacional (BDOR)
• A maior parte dos sistemas gerenciadores de
  bancos de dados (SGBDs) utilizados é baseada no
  modelo relacional. No entanto, SGBDs baseados
  em outros modelos têm surgido devido à demanda
  de novas aplicações. Muitas aplicações,
  impulsionadas pela WEB, requererem técnicas de
  acesso que melhorem o desempenho e estruturas
  de dados muito mais complexas que as tabelas
  relacionais, com diversos tipos adicionais, como
  imagem e vídeo, fundamentados na tecnologia de
  orientação a objetos.


Footer Text                                  3/6/2013   23
Banco de dados objeto-
      relacional (BDOR)
• Sistema de gerenciamento de banco de dados
  semelhante a um banco de dados relacional,
  porém com um modelo de banco de dados
  orientado a objetos: objetos, classes e herança são
  suportados diretamente nos esquemas de banco
  de dados e na linguagem de consulta.
• Teve sua origem na combinação de idéias dos
  modelos de dados tradicionais e de linguagens de
  programação orientada a objetos.




 Treinar Informática : Oracle                   3/6/2013   24
Banco de dados objeto-
      relacional (BDOR)
• A principal estrutura do modelo objeto-relacional
  são as tabelas, entretanto, com muito mais recursos
  do que as tabelas puramente relacionais. Entre
  esses recursos podemos destacar:
• definição de tipos pelo usuário;
• registros e vetores;
• métodos e funções;
• referências, herança e polimorfismo.
• São acrescentadas também estruturas a
  linguagens de consulta relacionais, como SQL, para
  tratar os tipos de dados acrescentados.

 Footer Text                                   3/6/2013   25
Banco de dados objeto-
      relacional (BDOR)
• O objetivo é preservar os fundamentos relacionais,
  em particular o acesso declaratório ao dado,
  acrescentando novas funcionalidades.
• Para utilizar os recursos de orientação a objetos a
  Oracle, a partir da versão 8, implementou diversos
  conceitos que definem um modelo objeto-
  relacional tais como: tipo objeto, tabela de
  objetos, etc.




 Footer Text                                    3/6/2013   26
Banco de dados objeto-
      relacional (BDOR)
• Em que são utilizados:
• Objetos complexos – são formados por construtores
  (conjunto, listas, tuplas, registros, coleções e arrays)
  aplicados a objetos simples (inteiros, booleans,
  strings)
• Também podemos utilizar estes tipos de dados
  estruturados onde a consulta ao banco de dados
  precisa ser mais complexa, pois ao invés de acesso
  a tabela e registros, é necessário o acesso a listas,
  tuplas, arrays entre outros.


 Treinar Informática : Oracle                       3/6/2013   27
Banco de dados objeto-
         relacional (BDOR)
•     Exemplo de aplicações complexas:
•     Projetos de engenharia e arquitetura
•     Experiências científicas
•     Telecomunicações
•     Sistemas de informações geográficas
•     Multimídia




    Treinar Informática : Oracle             3/6/2013   28
Banco de dados objeto-
     relacional (BDOR)
• Características das aplicações complexas:
• Transações de duração mais longa
• Novos tipos de dados para armazenar imagens ou
  grandes itens de texto
• Necessidade de definir operações específicas de
  de aplicações não-padronizadas.




Treinar Informática : Oracle                 3/6/2013   29
Banco de dados objeto-
      relacional (BDOR)
• Características:
• Cada objeto possui um identificador de objeto ou
  OID (object identifer), que o torna único, não usa a
  linguagem SQL, por isso não há querys, você busca
  seus objetos através de metodologias predefinidas.
  Essas metodologias são chamadas de Native
  Query´s.
• Na diferenciação do modelo relacional e
  orientado a objeto, ficaria da seguinte maneira:




 Treinar Informática : Oracle                   3/6/2013   30
Banco de dados objeto-
     relacional (BDOR)




Treinar Informática : Oracle   3/6/2013   31
Banco de dados objeto-
      relacional (BDOR)
• A forma de acesso aos dados é remodelada
  porque os SGDBs orientados a objetos sugerem
  novos tipos de dados como sequência de bits,
  ponteiros, linhas, números complexos e elementos
  de dados do tipo array.
• Para acessar uma array, um modo especial de
  consulta teria que ser construído por exemplo:




 Treinar Informática : Oracle                 3/6/2013   32
Banco de dados objeto-
     relacional (BDOR)
• A consulta realizada retorna o nome dos carros
  vendidos no mês de fevereiro, representado pela
  sentença (2) e com quantidade acima de 200
  unidades; o mês de fevereiro faz parte de uma
  array de 12 elementos, representando os meses.




Treinar Informática : Oracle                  3/6/2013   33
Banco de dados objeto-
      relacional (BDOR)
• Oracle 11g – Um SGBD Objeto Relacional:
• Mistura banco de dados relacional com conceitos
  de orientação a objetos.
• Usa SQL no sistema Objeto Relacional.
• Existe no Oracle o Object Type que um tipo
  definido pelo usuário na qual equivale ao de classe
  em POO (Programação Orientada a Objetos) .
• O Object Type captura tanto a estrutura como o
  comportamento de um objeto. A sintaxe segue o
  exemplo:


 Treinar Informática : Oracle                  3/6/2013   34
Banco de dados objeto-
     relacional (BDOR)




Treinar Informática : Oracle   3/6/2013   35
Banco de dados objeto-
         relacional (BDOR)
• Vantagens:
• Capacidade de Armazenamento de Objetos
• Poder de processamento de requisições
• Não possuem chaves primárias nem
  estrangeiras, aumentando o desempenho das
  consultas e processos
• Os objetos se comunicam entre si através de
  mensagens




    Treinar Informática : Oracle            3/6/2013   36
Banco de dados objeto-
     relacional (BDOR)
• Desvantagens:
• Falta de padronização das linguagens de
  manipulação dos dados
• Alto custo de aquisição das novas tecnologias
• Curva de aprendizagem e adaptação ao novo
  ambiente demorada.




Treinar Informática : Oracle                 3/6/2013   37
Diferentes Meios de
            Armazenar Dados
• Os dispositivos de armazenamento foram um meio
  tecnológico inventado para trazer comodidade e
  mobilidade para as pessoas.
• Os dispositivos podem reter informações, processar
  informações ou ambos.
• Como exemplos de dispositivos de armazenamento
  por meio ópticos temos os CDs, DVDs e Blu-Ray.
• Como exemplos de dispositivos de armazenamento
  por meio eletrônico temos os pen drives e cartões
  de memória.


 Treinar Informática : Oracle                 3/6/2013   38
Modelo de Dados
• É um subconjunto do modelo de implementação
  que descreve a representação lógica e física dos
  dados persistentes no sistema.
• Abrange qualquer comportamento definido no
  banco de dados, como procedimentos
  armazenados, triggers, restrições etc.
• O designer de banco de dados é responsável pela
  integridade do modelo de dados, garantindo que
  ele esteja correto, consistente e compreensível
  como um todo.


Treinar Informática : Oracle                 3/6/2013   39
Modelo de Dados
• Precisa ser adaptado à semântica do banco de
  dados, que pode variar um pouco entre RDBMSes.
  Os sistemas de Bancos de Dados de Objetos
  possuem semânticas bem diferentes.




Treinar Informática : Oracle                3/6/2013   40
Joins
• Significa Unir ou União
• Utilizamos quando precisamos buscar dados em
  outras tabelas desde que satisfaça as
  condiçõespara isso.
• Funciona em qualquer banco de dados relacional.
• Existem 3 tipos de Joins:
• LEFT
• RIGHT
• INNER



Treinar Informática : Oracle                3/6/2013   41
Joins
• LEFT JOIN – o banco de dados irá analisar a
  estrutura da tabela da direita e comparar com a
  tabela da esquerda .




 Treinar Informática : Oracle                 3/6/2013   42
Joins
• Na primeira situação temos o Left Join, a seta está
  apontando para a tabela FUNCIONARIOS
  simbolizando que a precedência é da tabela da
  esquerda.
• RIGHT JOIN – Também conhecido apenas por JOIN,
  dependência da tabela da Direita.
• INNER JOIN – Oberva se existem registros
  combinados em ambas as tabelas, ou seja, para
  que um registro seja incluído na lista de resultados,
  o campo de ligação entre as duas tabelas deve
  satisfazer as condições de ambas.

 Treinar Informática : Oracle                    3/6/2013   43
Functions
• A function é usada para fazer um processamento
  e retornar o resultado deste processamento, ou
  seja, uma function obrigatoriamente precisa
  retornar um valor.
• Uma function pode ser de única linha ou de várias
  linhas. É preciso criar um tipo para que nossa
  function saiba o que retornar, ja que dentro de um
  tipo temos um ou vários atributos. Esses atributos
  são os valores que vamos retornar na nossa
  function.



 Treinar Informática : Oracle                  3/6/2013   44
Functions
• Exemplo function com única linha :
• CREATE OR REPLACE FUNCTION DIA_SEMANA (DATA
  DATE) RETURN DIA AS VARCHAR2(20);
• BEGIN
• SELECT DIA_SEM
• INTO RESULT
• FROM TABELA_DIAS_ANO
• WHERE DATA_ANO = DATA
• RETURN;
• END;

Treinar Informática : Oracle               3/6/2013   45
Functions
• Exemplo function vários dados.

• (Script exemplo aula)




 Treinar Informática : Oracle               3/6/2013   46
Funções de Caracter
• Sua forma de utilização é bem simples: só precisa
  saber o nome da função que precisa trabalhar e os
  argumentos que utilizará.




• Falaremos de algumas funções de caracter
  conhecidas e para isso usaremos a tabela de teste
  DUAL do ORACLE. A tabela DUAL permite ser
  utilzada por vários usuários do banco. ela contém
  apenas uma linha e uma coluna. Este objeto é
  muito utilizado para fazer testes.

 Treinar Informática : Oracle                 3/6/2013   47
Funções de Caracter
• Função LOWER
• Retorna a informação do campo com caixa
  baixa(letras minúsculas).
• Função UPPER
• Retorna a informação do campo com caixa
  baixa(letras minúsculas).
• Função INITCAP
• Retorna o primeiro caractere em maiúsculo.
• Função CONCAT
• Concatena campos

Treinar Informática : Oracle                   3/6/2013   48
Funções de Caracter
• Função SUBSTR
  Conta a partir do X caractere y caracteres

  Substr(campo,X,Y)
  X à posição
  Y à quantidade que vai contar
• Função LPAD

   Joga o conteúdo disponível do campo para
   esquerda
   SELECT LPAD(SAL,10,’*’) FROM EMP2;
   LPAD(Campo,número , ‘caractere’);


 Treinar Informática : Oracle                  3/6/2013   49
Funções de Caracter
• Função RPAD
• Joga o conteúdo disponível do campo para direita
• Função TRIM
• Tira os espaços do campo
• Função REPLACE
• Analisa a string de caracteres mencionada na
  função e substitui por outra string que foi
  especificada;
• SELECT REPLACE(‘JACK AND JUE’,’J’,’BL’) FROM
  DUAL;



    Treinar Informática : Oracle             3/6/2013   50
Funções de Data
• Com o Oracle é possível obter uma série de
  resultados a partir de uma ou mais datas, como por
  exemplo verificar o último dia do mês ou verificar a
  quantidade de meses entre duas datas, etc.
• Data atual do sistema: SYSDATE
• Remover meses de uma data:
  ADD_MONTHS(SYSDATE, -1)
• Adicionar meses de uma data:
  ADD_MONTHS(SYSDATE, +1)
• Buscar o último dia do mês: LAST_DAY(SYSDATE)
• Primeiro dia do mês: TRUNC(SYSDATE, ‘MONTH’)

 Treinar Informática : Oracle                   3/6/2013   51
Funções de Data
• Quantidade de meses entre duas
  datas: MONTHS_BETWEEN(SYSDATE, ‘27/07/1982’)
• Primeiro dia do ano: TRUNC(SYSDATE, ‘YEAR’)
• Dias da semana:
• DECODE( TO_NUMBER( TO_CHAR (SYSDATE, ‘D’) )
• ,1, ‘domingo’
• ,2, ‘segunda-feira’
• ,3, ‘terça-feira’
• ,4, ‘quarta-feira’
• ,5, ‘quinta-feira’
• ,6, ‘sexta-feira’
• ,7,’sábado’
• )

 Treinar Informática : Oracle                    3/6/2013   52
Funções para Conversão
            de Tipos
•     TO_DATE(string)
•     TO_CHAR(data)
•     TO_CHAR(número)
•     TO_NUMBER(string)




    Treinar Informática : Oracle   3/6/2013   53
Outras Funções
• INSTR
  Pesquisa a posição de um caracter dentro de uma
  string. A função retorna um inteiro indicando a
  posição do primeiro caractere localizado na string.
• SELECT INSTR(‘THIS IS A TEST’, ‘IS’) FROM DUAL;
• TRANSLATE
  Substitui uma seqüência de caracteres em uma
  string com um outro conjunto de caracteres. No
  entanto, é importante destacar que ele substitui um
  único caractere de cada vez.
• SELECT TRANSLATE(‘Mississippi’, ‘s’, ‘S’) FROM dual;

 Treinar Informática : Oracle                   3/6/2013   54
Outras Funções
• MEDIAN
  A ideia da mediana é separar a distribuição em
  duas partes iguais. Para calcular essa medida,
  inicialmente os dados devem ser ordenados. A
  mediana corresponderá ao ponto do meio da
  distribuição. Em nosso exemplo, se ordenarmos as
  punições de forma ascendente, teremos o seguinte
  conjunto de valores: 1, 2, 3, 3, 4, 4, 4.
• Nesse caso, o valor 3 é a mediana, pois é ele quem
  separa a distribuição em duas partes (1, 2, 3 e 4 , 4,
  4). No SGBD Oracle, a função MEDIAN (disponível a
  partir do Oracle 10) é responsável por realizar o
  cálculo da mediana.

 Treinar Informática : Oracle                     3/6/2013   55
Outras Funções
• MODA
• A moda é a medida de tendência central que consiste
  no valor mais frequente em uma distribuição.
• Para obter a moda da variável PUNICAO no SQL do
  Oracle, basta utilizar a função STATS_MODE.




• O resultado é 4, pois, a maioria das punições (3 casos)
  foi de 4 jogos para os jogadores expulsos.


 Footer Text                                         3/6/2013   56
Outras Funções
• GREATEST
  Função que irá retornar o maior valor de uma lista.
  Não confundir com MAX.
• greatest(2, 5, 12, 3) -> retorna 12
  greatest(’2′, ’5′, ’12′, ’3′) -> retorna ’5′
  greatest(‘apples’, ‘oranges’, ‘bananas’) -> retorna
  ‘oranges’
  greatest(‘apples’, ‘applis’, ‘applas’) -> retorna
  ‘applis’




 Treinar Informática : Oracle                   3/6/2013   57
Outras Funções
• LEAST
  Esta função é utilizada para retornar o menor valor
  de uma lista. Não confundir que MIN.
• least(2, 5, 12, 3) -> retorna 2
  least(‘apples’, ‘oranges’, ‘bananas’) -> retorna
  ‘apples’
  least(‘apples’, ‘applis’, ‘applas’) -> retorna ‘applas’
  least(‘apples’, ‘applis’, ‘applas’, null) -> retorna
  NULL




 Treinar Informática : Oracle                      3/6/2013   58
Union (all), Intersect e
               Minus
• Essas quatro funcionalidade ( UNION ALL é um caso a
  parte ) são primordiais para obter fragmentos de
  resultados. Ao invés de sobrecarregar sua query com
  diversas condições e controles tente utilizar essas
  funcionalidades.
• UNION
• Agrega o resultado da query subsequente a query
  anterior, EX:
• SELECT TABLE_NAME FROM USER_TABLES
• UNION
• SELECT TABLE_NAME FROM ALL_TABLES
• Ela retornará todas as tabelas do usuario e todas as
  tabelas do sistema, porém não repetirá.

 Treinar Informática : Oracle                     3/6/2013   59
Union (all), Intersect e
                  Minus
•     Se voce quiser trazer tudo, mesmo que repita, use:
•     SELECT TABLE_NAME FROM USER_TABLES
•     UNION ALL
•     SELECT TABLE_NAME FROM ALL_TABLES
•     A query acima trará as tabelas de USER_TABLES e
      também de ALL_TABLES repetindo caso seja
      necessário.




    Treinar Informática : Oracle                   3/6/2013   60
Union (all), Intersect e
               Minus
• INTERSECT
• Traz a diferença entre dois conjuntos de dados.
  Digamos que voce queira os registros que existam em
  uma query e NECESSARIAMENTE não existam na outra. (
  e vice-versa )
• SELECT TABLE_NAME FROM USER_TABLES
• INTERSECT
• SELECT TABLE_NAME FROM ALL_TABLES
• Isso trará todas as tabelas do usuário que não estejam
  em ALL_TABLES ( que no caso é 0 porque todas as
  tabelas estão lá ) e também trará todas as tabelas que
  tenham na ALL_TABLES e não na USER_TABLES.
• Podemos resumir o INTERSECT como: Traz todos os
  registros que se repetem nas sentenças.


 Treinar Informática : Oracle                      3/6/2013   61
Union (all), Intersect e
               Minus
• MINUS
• Traz todos os registros da primeira
  consulta MENOS ( MINUS ) os registros da segunda
  consulta. (ele também ignora os repetidos)
• SELECT TABLE_NAME FROM USER_TABLES
• MINUS
• SELECT TABLE_NAME FROM ALL_TABLES
• O resultado será vazio. Pois todos os registros da
  primeira query estão na segunda.



 Treinar Informática : Oracle                   3/6/2013   62
Truncate
• O comando TRUNCATE é como se fosse um DELETE
  (sem cláusula Where) com COMMIT implícito, ou
  seja, ele elimina todas as linhas da tabela,
  deixando apenas sua estrutura e, NOTA
  IMPORTANTE, sem opção de ROLLBACK.

• -- Executa um TRUNCATE (Delete+Commit implícito)
  na tabela
• truncate table teste;



Footer Text                                  3/6/2013   63

Más contenido relacionado

La actualidad más candente

Oracle architecture
Oracle architectureOracle architecture
Oracle architectureSoumya Das
 
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -歩 柴田
 
Oracle backup and recovery
Oracle backup and recoveryOracle backup and recovery
Oracle backup and recoveryYogiji Creations
 
Oracle Database Enterprise Edition で解決する データベースシステムの課題 (12c対応版)
Oracle Database Enterprise Edition で解決するデータベースシステムの課題 (12c対応版)Oracle Database Enterprise Edition で解決するデータベースシステムの課題 (12c対応版)
Oracle Database Enterprise Edition で解決する データベースシステムの課題 (12c対応版)オラクルエンジニア通信
 
Oracle Architecture
Oracle ArchitectureOracle Architecture
Oracle ArchitectureNeeraj Singh
 
Oracle database performance tuning
Oracle database performance tuningOracle database performance tuning
Oracle database performance tuningYogiji Creations
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuningSimon Huang
 
Oracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAsOracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAsGokhan Atil
 
Oracle Data Integrator R12.2.1.1 Agentセットアップガイド
Oracle Data Integrator R12.2.1.1 AgentセットアップガイドOracle Data Integrator R12.2.1.1 Agentセットアップガイド
Oracle Data Integrator R12.2.1.1 Agentセットアップガイドオラクルエンジニア通信
 
簡単!AWRをEXCELピボットグラフで分析しよう♪
簡単!AWRをEXCELピボットグラフで分析しよう♪簡単!AWRをEXCELピボットグラフで分析しよう♪
簡単!AWRをEXCELピボットグラフで分析しよう♪Yohei Azekatsu
 
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)Gustavo Zimmermann
 
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Glen Hawkins
 
Oracle Database Management - Backup/Recovery
Oracle Database Management - Backup/RecoveryOracle Database Management - Backup/Recovery
Oracle Database Management - Backup/RecoveryChien Chung Shen
 
Oracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAsOracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAsGokhan Atil
 
Oracle 資料庫檔案介紹
Oracle 資料庫檔案介紹Oracle 資料庫檔案介紹
Oracle 資料庫檔案介紹Chien Chung Shen
 
Indexes and Indexing in Oracle 12c
Indexes and Indexing in Oracle 12cIndexes and Indexing in Oracle 12c
Indexes and Indexing in Oracle 12cOren Nakdimon
 
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングしばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングオラクルエンジニア通信
 

La actualidad más candente (20)

Oracle architecture
Oracle architectureOracle architecture
Oracle architecture
 
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
 
Oracle backup and recovery
Oracle backup and recoveryOracle backup and recovery
Oracle backup and recovery
 
Oracle Database Enterprise Edition で解決する データベースシステムの課題 (12c対応版)
Oracle Database Enterprise Edition で解決するデータベースシステムの課題 (12c対応版)Oracle Database Enterprise Edition で解決するデータベースシステムの課題 (12c対応版)
Oracle Database Enterprise Edition で解決する データベースシステムの課題 (12c対応版)
 
Oracle Architecture
Oracle ArchitectureOracle Architecture
Oracle Architecture
 
Oracle database performance tuning
Oracle database performance tuningOracle database performance tuning
Oracle database performance tuning
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuning
 
Oracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAsOracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAs
 
Oracle Data Integrator R12.2.1.1 Agentセットアップガイド
Oracle Data Integrator R12.2.1.1 AgentセットアップガイドOracle Data Integrator R12.2.1.1 Agentセットアップガイド
Oracle Data Integrator R12.2.1.1 Agentセットアップガイド
 
簡単!AWRをEXCELピボットグラフで分析しよう♪
簡単!AWRをEXCELピボットグラフで分析しよう♪簡単!AWRをEXCELピボットグラフで分析しよう♪
簡単!AWRをEXCELピボットグラフで分析しよう♪
 
Estruturas de dados
Estruturas de dadosEstruturas de dados
Estruturas de dados
 
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
 
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive
 
Oracle Database Management - Backup/Recovery
Oracle Database Management - Backup/RecoveryOracle Database Management - Backup/Recovery
Oracle Database Management - Backup/Recovery
 
Oracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAsOracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAs
 
Oracle 資料庫檔案介紹
Oracle 資料庫檔案介紹Oracle 資料庫檔案介紹
Oracle 資料庫檔案介紹
 
Indexes and Indexing in Oracle 12c
Indexes and Indexing in Oracle 12cIndexes and Indexing in Oracle 12c
Indexes and Indexing in Oracle 12c
 
#5 CRUD no MongoDB
#5   CRUD  no MongoDB#5   CRUD  no MongoDB
#5 CRUD no MongoDB
 
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングしばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
 
Oracle Tablespace - Basic
Oracle Tablespace - BasicOracle Tablespace - Basic
Oracle Tablespace - Basic
 

Destacado

14100015 introducao-oracle-sqlplsql-vol2-pt
14100015 introducao-oracle-sqlplsql-vol2-pt14100015 introducao-oracle-sqlplsql-vol2-pt
14100015 introducao-oracle-sqlplsql-vol2-ptguest519a5b6
 
Apostila completa-oracle-programando-oracle
Apostila completa-oracle-programando-oracleApostila completa-oracle-programando-oracle
Apostila completa-oracle-programando-oracle79anderson
 
Apresentação Final de Banco de Dados
Apresentação Final de Banco de DadosApresentação Final de Banco de Dados
Apresentação Final de Banco de Dadossamlobo
 
Aula De Projeto De Bd E Mer
Aula De Projeto De Bd E MerAula De Projeto De Bd E Mer
Aula De Projeto De Bd E Merlinux.certifield
 
08 modelo conceitual_fisico_logico_er
08 modelo conceitual_fisico_logico_er08 modelo conceitual_fisico_logico_er
08 modelo conceitual_fisico_logico_erWalter Alves Pereira
 
Oracle 11g – Inteligência em Banco de Dados
Oracle 11g – Inteligência em Banco de DadosOracle 11g – Inteligência em Banco de Dados
Oracle 11g – Inteligência em Banco de DadosDaniela Macedo
 
Banco II - PostgreSQL - Funções
Banco II - PostgreSQL - FunçõesBanco II - PostgreSQL - Funções
Banco II - PostgreSQL - FunçõesGustavo Sávio
 
Oracle 11g - Fundamentos
Oracle 11g - FundamentosOracle 11g - Fundamentos
Oracle 11g - FundamentosGustavo Sávio
 
Bdm aula 8 - algebra relacional básica e consultas sql - ticianne darin
Bdm   aula 8 - algebra relacional básica e consultas sql - ticianne darinBdm   aula 8 - algebra relacional básica e consultas sql - ticianne darin
Bdm aula 8 - algebra relacional básica e consultas sql - ticianne darinTicianne Darin
 
Oracle 11g resumo
Oracle 11g resumoOracle 11g resumo
Oracle 11g resumomarcosgama
 
Bdm aula 4 - modelagem de dados com modelo er
Bdm   aula 4 - modelagem de dados com modelo erBdm   aula 4 - modelagem de dados com modelo er
Bdm aula 4 - modelagem de dados com modelo erTicianne Darin
 
Bdm aula 3 - modelo relacional e restrições de integridade
Bdm   aula 3 - modelo relacional e restrições de integridadeBdm   aula 3 - modelo relacional e restrições de integridade
Bdm aula 3 - modelo relacional e restrições de integridadeTicianne Darin
 
PL/SQL - Conceitos Básicos
PL/SQL - Conceitos BásicosPL/SQL - Conceitos Básicos
PL/SQL - Conceitos BásicosDanilo Braga
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamentoCarlos Melo
 
Isc aula 5 - estrutura e organização da informação
Isc   aula 5 - estrutura e organização da informaçãoIsc   aula 5 - estrutura e organização da informação
Isc aula 5 - estrutura e organização da informaçãoFábio Andrade
 
Bdm aula 5 - construindo modelos er e mapeamento er-relacional
Bdm   aula 5 - construindo modelos er e mapeamento er-relacionalBdm   aula 5 - construindo modelos er e mapeamento er-relacional
Bdm aula 5 - construindo modelos er e mapeamento er-relacionalTicianne Darin
 
Bancode dados modelagem conceitual
Bancode dados modelagem conceitualBancode dados modelagem conceitual
Bancode dados modelagem conceitualMario Sergio
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 

Destacado (20)

14100015 introducao-oracle-sqlplsql-vol2-pt
14100015 introducao-oracle-sqlplsql-vol2-pt14100015 introducao-oracle-sqlplsql-vol2-pt
14100015 introducao-oracle-sqlplsql-vol2-pt
 
Apostila completa-oracle-programando-oracle
Apostila completa-oracle-programando-oracleApostila completa-oracle-programando-oracle
Apostila completa-oracle-programando-oracle
 
Apresentação Final de Banco de Dados
Apresentação Final de Banco de DadosApresentação Final de Banco de Dados
Apresentação Final de Banco de Dados
 
Aula De Projeto De Bd E Mer
Aula De Projeto De Bd E MerAula De Projeto De Bd E Mer
Aula De Projeto De Bd E Mer
 
08 modelo conceitual_fisico_logico_er
08 modelo conceitual_fisico_logico_er08 modelo conceitual_fisico_logico_er
08 modelo conceitual_fisico_logico_er
 
Oracle 11g – Inteligência em Banco de Dados
Oracle 11g – Inteligência em Banco de DadosOracle 11g – Inteligência em Banco de Dados
Oracle 11g – Inteligência em Banco de Dados
 
Apostila de sql oracle
Apostila de sql oracleApostila de sql oracle
Apostila de sql oracle
 
Banco II - PostgreSQL - Funções
Banco II - PostgreSQL - FunçõesBanco II - PostgreSQL - Funções
Banco II - PostgreSQL - Funções
 
Oracle 11g - Fundamentos
Oracle 11g - FundamentosOracle 11g - Fundamentos
Oracle 11g - Fundamentos
 
Bdm aula 8 - algebra relacional básica e consultas sql - ticianne darin
Bdm   aula 8 - algebra relacional básica e consultas sql - ticianne darinBdm   aula 8 - algebra relacional básica e consultas sql - ticianne darin
Bdm aula 8 - algebra relacional básica e consultas sql - ticianne darin
 
Oracle 11g resumo
Oracle 11g resumoOracle 11g resumo
Oracle 11g resumo
 
Oracle 9i curso_completo
Oracle 9i curso_completoOracle 9i curso_completo
Oracle 9i curso_completo
 
Bdm aula 4 - modelagem de dados com modelo er
Bdm   aula 4 - modelagem de dados com modelo erBdm   aula 4 - modelagem de dados com modelo er
Bdm aula 4 - modelagem de dados com modelo er
 
Bdm aula 3 - modelo relacional e restrições de integridade
Bdm   aula 3 - modelo relacional e restrições de integridadeBdm   aula 3 - modelo relacional e restrições de integridade
Bdm aula 3 - modelo relacional e restrições de integridade
 
PL/SQL - Conceitos Básicos
PL/SQL - Conceitos BásicosPL/SQL - Conceitos Básicos
PL/SQL - Conceitos Básicos
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamento
 
Isc aula 5 - estrutura e organização da informação
Isc   aula 5 - estrutura e organização da informaçãoIsc   aula 5 - estrutura e organização da informação
Isc aula 5 - estrutura e organização da informação
 
Bdm aula 5 - construindo modelos er e mapeamento er-relacional
Bdm   aula 5 - construindo modelos er e mapeamento er-relacionalBdm   aula 5 - construindo modelos er e mapeamento er-relacional
Bdm aula 5 - construindo modelos er e mapeamento er-relacional
 
Bancode dados modelagem conceitual
Bancode dados modelagem conceitualBancode dados modelagem conceitual
Bancode dados modelagem conceitual
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 

Similar a SQL Oracle

364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdfQuitriaSilva550
 
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Banco dados i prof ivan (acesse  www.portalgsti.com.br)Banco dados i prof ivan (acesse  www.portalgsti.com.br)
Banco dados i prof ivan (acesse www.portalgsti.com.br)Andre Sidou
 
Primeira Aula BANCO DE DADOS II_2024.pptx
Primeira Aula BANCO DE DADOS II_2024.pptxPrimeira Aula BANCO DE DADOS II_2024.pptx
Primeira Aula BANCO DE DADOS II_2024.pptxsuellencarolinerosa
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosdiogocbj
 
Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J  Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J Daniel San Martin
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dadosFernando Palma
 
Minicurso Epoca mongoDB
Minicurso Epoca mongoDBMinicurso Epoca mongoDB
Minicurso Epoca mongoDBLelyBarros
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERRangel Javier
 
Programação em Banco de Dados - Aula 16/08/2018
Programação em Banco de Dados - Aula 16/08/2018Programação em Banco de Dados - Aula 16/08/2018
Programação em Banco de Dados - Aula 16/08/2018Elaine Cecília Gatto
 
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de DadosRodrigo Kiyoshi Saito
 

Similar a SQL Oracle (20)

Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
 
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Banco dados i prof ivan (acesse  www.portalgsti.com.br)Banco dados i prof ivan (acesse  www.portalgsti.com.br)
Banco dados i prof ivan (acesse www.portalgsti.com.br)
 
Primeira Aula BANCO DE DADOS II_2024.pptx
Primeira Aula BANCO DE DADOS II_2024.pptxPrimeira Aula BANCO DE DADOS II_2024.pptx
Primeira Aula BANCO DE DADOS II_2024.pptx
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dados
 
BD I - Aula 07 A - Projetando BD
BD I - Aula 07 A - Projetando BDBD I - Aula 07 A - Projetando BD
BD I - Aula 07 A - Projetando BD
 
Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J  Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J
 
Tema3.pptx
Tema3.pptxTema3.pptx
Tema3.pptx
 
Tema3.pptx
Tema3.pptxTema3.pptx
Tema3.pptx
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dados
 
Apostila de banco de dados da ucg
Apostila de banco de dados da ucgApostila de banco de dados da ucg
Apostila de banco de dados da ucg
 
Mongo db
Mongo dbMongo db
Mongo db
 
Sql
SqlSql
Sql
 
Minicurso Epoca mongoDB
Minicurso Epoca mongoDBMinicurso Epoca mongoDB
Minicurso Epoca mongoDB
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 
Programação em Banco de Dados - Aula 16/08/2018
Programação em Banco de Dados - Aula 16/08/2018Programação em Banco de Dados - Aula 16/08/2018
Programação em Banco de Dados - Aula 16/08/2018
 
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
 
Slide da aula 04
Slide da aula 04Slide da aula 04
Slide da aula 04
 

Más de Pablo Garcia

Más de Pablo Garcia (6)

Cursor
CursorCursor
Cursor
 
Instalação
InstalaçãoInstalação
Instalação
 
dbms output oracle
dbms output oracledbms output oracle
dbms output oracle
 
plsql oracle
plsql oracleplsql oracle
plsql oracle
 
Sub-Consultas Oracle
Sub-Consultas OracleSub-Consultas Oracle
Sub-Consultas Oracle
 
Intro Arquitetura Oracle
Intro Arquitetura OracleIntro Arquitetura Oracle
Intro Arquitetura Oracle
 

SQL Oracle

  • 1. Bando de Dados Relacional RDBMS (Relational Database Management System) Treinar Informática : Oracle 3/6/2013 1
  • 2. O que é? Conceito abstrato que define maneiras de armazenar, manipular e recuperar dados estruturados unicamente na forma de tabelas, construindo um bando de dados. Treinar Informática : Oracle 3/6/2013 2
  • 5. Constraints Not Manter a Definições de Null, Unique, Prim integridade dos regras. ary Key, Foreign dados. Key e Check. Treinar Informática : Oracle 3/6/2013 5
  • 6. SQL • Linguagem de pesquisa declarativa para banco de dados relacional. • Características inspiradas na álgebra relacional. • Padrão de banco de dados. • Simplicidade e facilidade de uso. • Uma consulta SQL especifica a forma do resultado e não o caminho para chegar a ele. • Pode ser migrado de plataforma para plataforma sem mudanças estruturais principais. Treinar Informática : Oracle 3/6/2013 6
  • 7. SQL • Consulta a dados • Inserção, atualização e deleção das linhas de uma tabela • Criação, substituição, alteração e eliminação de objetos • Controle de acesso ao banco de dados e seus objetos • Garantia de consistência e integridade do banco de dados. Treinar Informática : Oracle 3/6/2013 7
  • 8. Palavras Chaves SQL • DML – Linguagem de Manipulação de Dados • DDL – Linguagem de Definição de Dados • DCL – Linguagem de Controle de Dados • DTL – Linguagem de Transação de Dados • DQL – Linguagem de Consulta de Dados Treinar Informática : Oracle 3/6/2013 8
  • 9. DDL • Definição de novas tabelas e elementos associados. • Os comandos básicos são: • CREATE • DROP Treinar Informática : Oracle 3/6/2013 9
  • 10. Tipos de Colunas • Quando se cria uma tabela é necessário especificar o tipo de dados das colunas e a sua dimensão. Esta determina o comprimento máximo que podem ter os valores nela armazenados. • VARCHAR2 (n) • Armazena uma cadeia de caracteres de comprimento variável. O valor máximo de n são 4000 bytes. O Oracle só guarda o que o utilizador introduzir não preenchendo o que falta para o limite n. Se usarmos BYTE n traduz o número de bytes; Footer Text 3/6/2013 10
  • 11. Tipos de Colunas • CHAR(n) • Caracteres de comprimento fixo n. O valor por omissão é 1 sendo o valor máximo 2000. A base de dados ocupa sempre n caracteres pois preenche o que falta com espaços em branco; • NUMBER(n,d) • Número com n digitos sendo d casas décimais (à direita da virgula); Footer Text 3/6/2013 11
  • 12. Tipos de Colunas • DATE • Data desde 1 Jan de 4712 AC até 31 de Dez de 9999 DC. Também é armazenada a hora, minuto e segundo. O calendário interno da base de dados tem em conta as alterações de calendário impostas ao longo do tempo, por exemplo a passagem do calendário Juliano para Gregoriano em 1582-10-05, onde foram eliminados 10 dias; Footer Text 3/6/2013 12
  • 13. Tipos de Colunas • VARCHAR2 surgiu na versão 7 para substituir VARCHAR • Se criar uma coluna com o tipo VARCHAR o SGBD converte em VARCHAR2 • Quando insere valores do tipo VARCHAR2 o ORACLE não preenche espaços em branco no fim. Isto significa que JOSE e JOSE§§§ serão strings diferentes. Se os valores fossem do tipo CHAR o ORACLE acrescentava espaços no fim automaticamente; • Quando um valor a introduzir numa coluna excede a sua dimensão a base de dados emite uma mensagem de erro; Footer Text 3/6/2013 13
  • 14. DML • Realizado para realizar inclusões, consultas, alterações e exclusões de dados presentes em registros. • Pode ser executado em diversos registros de diversas tabelas ao mesmo tempo. • Os comandos são: • INSERT • SELECT • UPDATE • DELETE Treinar Informática : Oracle 3/6/2013 14
  • 15. DCL • Controla os aspectos de autorização de dados e licenças de usuários para controlar quem tem acesso para ver ou manipular dados dentro do banco de dados. • Os comandos são : • GRANT • REVOKE Treinar Informática : Oracle 3/6/2013 15
  • 16. DTL • Próprio nome ja diz: controle de transação de dados. • Os comandos são: • BEGIN WORK (ou START TRANSACTION, dependendo do dialeto SQL) • COMMIT • ROLLBACK Treinar Informática : Oracle 3/6/2013 16
  • 17. DQL • É a mais utilizada • Possui apenas um comando : SELECT • Esse comando possui várias cláusulas: • FROM • WHERE • GROUP BY • HAVING • ORDER BY • DISTINCT Treinar Informática : Oracle 3/6/2013 17
  • 18. DQL • Operadores lógicos: • AND • OR • NOT • Operadores Relacionais: • < • > • <= • >= Treinar Informática : Oracle 3/6/2013 18
  • 19. DQL • Operadores Relacionais: • = • <> • BETWEEN • LIKE • IN • Funções de Agregação: • AVG • COUNT Treinar Informática : Oracle 3/6/2013 19
  • 20. DQL • Funções de Agregação: • SUM • MAX • MIN Treinar Informática : Oracle 3/6/2013 20
  • 21. DBA (Administrador de Banco de Dados) • Avaliar o hardware do servidor de banco de dados • Instalar o Oracle • Planejar, criar e abrir banco de dados • Backup • Controlar usuários • Design • Recuperação após falhas • Monitorar Treinar Informática : Oracle 3/6/2013 21
  • 22. Arquitetura do Banco de Dados • Arquivos de Controle • Arquivos de dados • Arquivos de redo log on-line • Arquivo de parâmetros • Arquivo de senha • Arquivo de log arquivados Treinar Informática : Oracle 3/6/2013 22
  • 23. Banco de dados objeto- relacional (BDOR) • A maior parte dos sistemas gerenciadores de bancos de dados (SGBDs) utilizados é baseada no modelo relacional. No entanto, SGBDs baseados em outros modelos têm surgido devido à demanda de novas aplicações. Muitas aplicações, impulsionadas pela WEB, requererem técnicas de acesso que melhorem o desempenho e estruturas de dados muito mais complexas que as tabelas relacionais, com diversos tipos adicionais, como imagem e vídeo, fundamentados na tecnologia de orientação a objetos. Footer Text 3/6/2013 23
  • 24. Banco de dados objeto- relacional (BDOR) • Sistema de gerenciamento de banco de dados semelhante a um banco de dados relacional, porém com um modelo de banco de dados orientado a objetos: objetos, classes e herança são suportados diretamente nos esquemas de banco de dados e na linguagem de consulta. • Teve sua origem na combinação de idéias dos modelos de dados tradicionais e de linguagens de programação orientada a objetos. Treinar Informática : Oracle 3/6/2013 24
  • 25. Banco de dados objeto- relacional (BDOR) • A principal estrutura do modelo objeto-relacional são as tabelas, entretanto, com muito mais recursos do que as tabelas puramente relacionais. Entre esses recursos podemos destacar: • definição de tipos pelo usuário; • registros e vetores; • métodos e funções; • referências, herança e polimorfismo. • São acrescentadas também estruturas a linguagens de consulta relacionais, como SQL, para tratar os tipos de dados acrescentados. Footer Text 3/6/2013 25
  • 26. Banco de dados objeto- relacional (BDOR) • O objetivo é preservar os fundamentos relacionais, em particular o acesso declaratório ao dado, acrescentando novas funcionalidades. • Para utilizar os recursos de orientação a objetos a Oracle, a partir da versão 8, implementou diversos conceitos que definem um modelo objeto- relacional tais como: tipo objeto, tabela de objetos, etc. Footer Text 3/6/2013 26
  • 27. Banco de dados objeto- relacional (BDOR) • Em que são utilizados: • Objetos complexos – são formados por construtores (conjunto, listas, tuplas, registros, coleções e arrays) aplicados a objetos simples (inteiros, booleans, strings) • Também podemos utilizar estes tipos de dados estruturados onde a consulta ao banco de dados precisa ser mais complexa, pois ao invés de acesso a tabela e registros, é necessário o acesso a listas, tuplas, arrays entre outros. Treinar Informática : Oracle 3/6/2013 27
  • 28. Banco de dados objeto- relacional (BDOR) • Exemplo de aplicações complexas: • Projetos de engenharia e arquitetura • Experiências científicas • Telecomunicações • Sistemas de informações geográficas • Multimídia Treinar Informática : Oracle 3/6/2013 28
  • 29. Banco de dados objeto- relacional (BDOR) • Características das aplicações complexas: • Transações de duração mais longa • Novos tipos de dados para armazenar imagens ou grandes itens de texto • Necessidade de definir operações específicas de de aplicações não-padronizadas. Treinar Informática : Oracle 3/6/2013 29
  • 30. Banco de dados objeto- relacional (BDOR) • Características: • Cada objeto possui um identificador de objeto ou OID (object identifer), que o torna único, não usa a linguagem SQL, por isso não há querys, você busca seus objetos através de metodologias predefinidas. Essas metodologias são chamadas de Native Query´s. • Na diferenciação do modelo relacional e orientado a objeto, ficaria da seguinte maneira: Treinar Informática : Oracle 3/6/2013 30
  • 31. Banco de dados objeto- relacional (BDOR) Treinar Informática : Oracle 3/6/2013 31
  • 32. Banco de dados objeto- relacional (BDOR) • A forma de acesso aos dados é remodelada porque os SGDBs orientados a objetos sugerem novos tipos de dados como sequência de bits, ponteiros, linhas, números complexos e elementos de dados do tipo array. • Para acessar uma array, um modo especial de consulta teria que ser construído por exemplo: Treinar Informática : Oracle 3/6/2013 32
  • 33. Banco de dados objeto- relacional (BDOR) • A consulta realizada retorna o nome dos carros vendidos no mês de fevereiro, representado pela sentença (2) e com quantidade acima de 200 unidades; o mês de fevereiro faz parte de uma array de 12 elementos, representando os meses. Treinar Informática : Oracle 3/6/2013 33
  • 34. Banco de dados objeto- relacional (BDOR) • Oracle 11g – Um SGBD Objeto Relacional: • Mistura banco de dados relacional com conceitos de orientação a objetos. • Usa SQL no sistema Objeto Relacional. • Existe no Oracle o Object Type que um tipo definido pelo usuário na qual equivale ao de classe em POO (Programação Orientada a Objetos) . • O Object Type captura tanto a estrutura como o comportamento de um objeto. A sintaxe segue o exemplo: Treinar Informática : Oracle 3/6/2013 34
  • 35. Banco de dados objeto- relacional (BDOR) Treinar Informática : Oracle 3/6/2013 35
  • 36. Banco de dados objeto- relacional (BDOR) • Vantagens: • Capacidade de Armazenamento de Objetos • Poder de processamento de requisições • Não possuem chaves primárias nem estrangeiras, aumentando o desempenho das consultas e processos • Os objetos se comunicam entre si através de mensagens Treinar Informática : Oracle 3/6/2013 36
  • 37. Banco de dados objeto- relacional (BDOR) • Desvantagens: • Falta de padronização das linguagens de manipulação dos dados • Alto custo de aquisição das novas tecnologias • Curva de aprendizagem e adaptação ao novo ambiente demorada. Treinar Informática : Oracle 3/6/2013 37
  • 38. Diferentes Meios de Armazenar Dados • Os dispositivos de armazenamento foram um meio tecnológico inventado para trazer comodidade e mobilidade para as pessoas. • Os dispositivos podem reter informações, processar informações ou ambos. • Como exemplos de dispositivos de armazenamento por meio ópticos temos os CDs, DVDs e Blu-Ray. • Como exemplos de dispositivos de armazenamento por meio eletrônico temos os pen drives e cartões de memória. Treinar Informática : Oracle 3/6/2013 38
  • 39. Modelo de Dados • É um subconjunto do modelo de implementação que descreve a representação lógica e física dos dados persistentes no sistema. • Abrange qualquer comportamento definido no banco de dados, como procedimentos armazenados, triggers, restrições etc. • O designer de banco de dados é responsável pela integridade do modelo de dados, garantindo que ele esteja correto, consistente e compreensível como um todo. Treinar Informática : Oracle 3/6/2013 39
  • 40. Modelo de Dados • Precisa ser adaptado à semântica do banco de dados, que pode variar um pouco entre RDBMSes. Os sistemas de Bancos de Dados de Objetos possuem semânticas bem diferentes. Treinar Informática : Oracle 3/6/2013 40
  • 41. Joins • Significa Unir ou União • Utilizamos quando precisamos buscar dados em outras tabelas desde que satisfaça as condiçõespara isso. • Funciona em qualquer banco de dados relacional. • Existem 3 tipos de Joins: • LEFT • RIGHT • INNER Treinar Informática : Oracle 3/6/2013 41
  • 42. Joins • LEFT JOIN – o banco de dados irá analisar a estrutura da tabela da direita e comparar com a tabela da esquerda . Treinar Informática : Oracle 3/6/2013 42
  • 43. Joins • Na primeira situação temos o Left Join, a seta está apontando para a tabela FUNCIONARIOS simbolizando que a precedência é da tabela da esquerda. • RIGHT JOIN – Também conhecido apenas por JOIN, dependência da tabela da Direita. • INNER JOIN – Oberva se existem registros combinados em ambas as tabelas, ou seja, para que um registro seja incluído na lista de resultados, o campo de ligação entre as duas tabelas deve satisfazer as condições de ambas. Treinar Informática : Oracle 3/6/2013 43
  • 44. Functions • A function é usada para fazer um processamento e retornar o resultado deste processamento, ou seja, uma function obrigatoriamente precisa retornar um valor. • Uma function pode ser de única linha ou de várias linhas. É preciso criar um tipo para que nossa function saiba o que retornar, ja que dentro de um tipo temos um ou vários atributos. Esses atributos são os valores que vamos retornar na nossa function. Treinar Informática : Oracle 3/6/2013 44
  • 45. Functions • Exemplo function com única linha : • CREATE OR REPLACE FUNCTION DIA_SEMANA (DATA DATE) RETURN DIA AS VARCHAR2(20); • BEGIN • SELECT DIA_SEM • INTO RESULT • FROM TABELA_DIAS_ANO • WHERE DATA_ANO = DATA • RETURN; • END; Treinar Informática : Oracle 3/6/2013 45
  • 46. Functions • Exemplo function vários dados. • (Script exemplo aula) Treinar Informática : Oracle 3/6/2013 46
  • 47. Funções de Caracter • Sua forma de utilização é bem simples: só precisa saber o nome da função que precisa trabalhar e os argumentos que utilizará. • Falaremos de algumas funções de caracter conhecidas e para isso usaremos a tabela de teste DUAL do ORACLE. A tabela DUAL permite ser utilzada por vários usuários do banco. ela contém apenas uma linha e uma coluna. Este objeto é muito utilizado para fazer testes. Treinar Informática : Oracle 3/6/2013 47
  • 48. Funções de Caracter • Função LOWER • Retorna a informação do campo com caixa baixa(letras minúsculas). • Função UPPER • Retorna a informação do campo com caixa baixa(letras minúsculas). • Função INITCAP • Retorna o primeiro caractere em maiúsculo. • Função CONCAT • Concatena campos Treinar Informática : Oracle 3/6/2013 48
  • 49. Funções de Caracter • Função SUBSTR Conta a partir do X caractere y caracteres Substr(campo,X,Y) X à posição Y à quantidade que vai contar • Função LPAD Joga o conteúdo disponível do campo para esquerda SELECT LPAD(SAL,10,’*’) FROM EMP2; LPAD(Campo,número , ‘caractere’); Treinar Informática : Oracle 3/6/2013 49
  • 50. Funções de Caracter • Função RPAD • Joga o conteúdo disponível do campo para direita • Função TRIM • Tira os espaços do campo • Função REPLACE • Analisa a string de caracteres mencionada na função e substitui por outra string que foi especificada; • SELECT REPLACE(‘JACK AND JUE’,’J’,’BL’) FROM DUAL; Treinar Informática : Oracle 3/6/2013 50
  • 51. Funções de Data • Com o Oracle é possível obter uma série de resultados a partir de uma ou mais datas, como por exemplo verificar o último dia do mês ou verificar a quantidade de meses entre duas datas, etc. • Data atual do sistema: SYSDATE • Remover meses de uma data: ADD_MONTHS(SYSDATE, -1) • Adicionar meses de uma data: ADD_MONTHS(SYSDATE, +1) • Buscar o último dia do mês: LAST_DAY(SYSDATE) • Primeiro dia do mês: TRUNC(SYSDATE, ‘MONTH’) Treinar Informática : Oracle 3/6/2013 51
  • 52. Funções de Data • Quantidade de meses entre duas datas: MONTHS_BETWEEN(SYSDATE, ‘27/07/1982’) • Primeiro dia do ano: TRUNC(SYSDATE, ‘YEAR’) • Dias da semana: • DECODE( TO_NUMBER( TO_CHAR (SYSDATE, ‘D’) ) • ,1, ‘domingo’ • ,2, ‘segunda-feira’ • ,3, ‘terça-feira’ • ,4, ‘quarta-feira’ • ,5, ‘quinta-feira’ • ,6, ‘sexta-feira’ • ,7,’sábado’ • ) Treinar Informática : Oracle 3/6/2013 52
  • 53. Funções para Conversão de Tipos • TO_DATE(string) • TO_CHAR(data) • TO_CHAR(número) • TO_NUMBER(string) Treinar Informática : Oracle 3/6/2013 53
  • 54. Outras Funções • INSTR Pesquisa a posição de um caracter dentro de uma string. A função retorna um inteiro indicando a posição do primeiro caractere localizado na string. • SELECT INSTR(‘THIS IS A TEST’, ‘IS’) FROM DUAL; • TRANSLATE Substitui uma seqüência de caracteres em uma string com um outro conjunto de caracteres. No entanto, é importante destacar que ele substitui um único caractere de cada vez. • SELECT TRANSLATE(‘Mississippi’, ‘s’, ‘S’) FROM dual; Treinar Informática : Oracle 3/6/2013 54
  • 55. Outras Funções • MEDIAN A ideia da mediana é separar a distribuição em duas partes iguais. Para calcular essa medida, inicialmente os dados devem ser ordenados. A mediana corresponderá ao ponto do meio da distribuição. Em nosso exemplo, se ordenarmos as punições de forma ascendente, teremos o seguinte conjunto de valores: 1, 2, 3, 3, 4, 4, 4. • Nesse caso, o valor 3 é a mediana, pois é ele quem separa a distribuição em duas partes (1, 2, 3 e 4 , 4, 4). No SGBD Oracle, a função MEDIAN (disponível a partir do Oracle 10) é responsável por realizar o cálculo da mediana. Treinar Informática : Oracle 3/6/2013 55
  • 56. Outras Funções • MODA • A moda é a medida de tendência central que consiste no valor mais frequente em uma distribuição. • Para obter a moda da variável PUNICAO no SQL do Oracle, basta utilizar a função STATS_MODE. • O resultado é 4, pois, a maioria das punições (3 casos) foi de 4 jogos para os jogadores expulsos. Footer Text 3/6/2013 56
  • 57. Outras Funções • GREATEST Função que irá retornar o maior valor de uma lista. Não confundir com MAX. • greatest(2, 5, 12, 3) -> retorna 12 greatest(’2′, ’5′, ’12′, ’3′) -> retorna ’5′ greatest(‘apples’, ‘oranges’, ‘bananas’) -> retorna ‘oranges’ greatest(‘apples’, ‘applis’, ‘applas’) -> retorna ‘applis’ Treinar Informática : Oracle 3/6/2013 57
  • 58. Outras Funções • LEAST Esta função é utilizada para retornar o menor valor de uma lista. Não confundir que MIN. • least(2, 5, 12, 3) -> retorna 2 least(‘apples’, ‘oranges’, ‘bananas’) -> retorna ‘apples’ least(‘apples’, ‘applis’, ‘applas’) -> retorna ‘applas’ least(‘apples’, ‘applis’, ‘applas’, null) -> retorna NULL Treinar Informática : Oracle 3/6/2013 58
  • 59. Union (all), Intersect e Minus • Essas quatro funcionalidade ( UNION ALL é um caso a parte ) são primordiais para obter fragmentos de resultados. Ao invés de sobrecarregar sua query com diversas condições e controles tente utilizar essas funcionalidades. • UNION • Agrega o resultado da query subsequente a query anterior, EX: • SELECT TABLE_NAME FROM USER_TABLES • UNION • SELECT TABLE_NAME FROM ALL_TABLES • Ela retornará todas as tabelas do usuario e todas as tabelas do sistema, porém não repetirá. Treinar Informática : Oracle 3/6/2013 59
  • 60. Union (all), Intersect e Minus • Se voce quiser trazer tudo, mesmo que repita, use: • SELECT TABLE_NAME FROM USER_TABLES • UNION ALL • SELECT TABLE_NAME FROM ALL_TABLES • A query acima trará as tabelas de USER_TABLES e também de ALL_TABLES repetindo caso seja necessário. Treinar Informática : Oracle 3/6/2013 60
  • 61. Union (all), Intersect e Minus • INTERSECT • Traz a diferença entre dois conjuntos de dados. Digamos que voce queira os registros que existam em uma query e NECESSARIAMENTE não existam na outra. ( e vice-versa ) • SELECT TABLE_NAME FROM USER_TABLES • INTERSECT • SELECT TABLE_NAME FROM ALL_TABLES • Isso trará todas as tabelas do usuário que não estejam em ALL_TABLES ( que no caso é 0 porque todas as tabelas estão lá ) e também trará todas as tabelas que tenham na ALL_TABLES e não na USER_TABLES. • Podemos resumir o INTERSECT como: Traz todos os registros que se repetem nas sentenças. Treinar Informática : Oracle 3/6/2013 61
  • 62. Union (all), Intersect e Minus • MINUS • Traz todos os registros da primeira consulta MENOS ( MINUS ) os registros da segunda consulta. (ele também ignora os repetidos) • SELECT TABLE_NAME FROM USER_TABLES • MINUS • SELECT TABLE_NAME FROM ALL_TABLES • O resultado será vazio. Pois todos os registros da primeira query estão na segunda. Treinar Informática : Oracle 3/6/2013 62
  • 63. Truncate • O comando TRUNCATE é como se fosse um DELETE (sem cláusula Where) com COMMIT implícito, ou seja, ele elimina todas as linhas da tabela, deixando apenas sua estrutura e, NOTA IMPORTANTE, sem opção de ROLLBACK. • -- Executa um TRUNCATE (Delete+Commit implícito) na tabela • truncate table teste; Footer Text 3/6/2013 63