Mostrando postagens com marcador OCA. Mostrar todas as postagens
Mostrando postagens com marcador OCA. Mostrar todas as postagens

10 de mai. de 2021

Formatos

    Vimos como utilizar literais para incluir informações nas nossa consultas, mas há ainda como incrementar o uso de literais ao utilizar FORMATOS, que também podem ser chamados de máscaras, que permitem alterar o modo de exibição de um dado em relação a maneira que este dado está persistido no banco de dados.

Podemos utilizar formatos em números e datas ou ainda para aplicar um padrão de de exibição em um texto.

Formatos de Números

    A utilização de formatos em números é feita através das funções TO_NUMBER ou TO_CHAR. No caso da função TO_CHAR os formatos alteram a exibição de um tipo de dado NUMBER, BINARY_FLOAT ou BINARY_DOUBLE  para VARCHAR2. Já na utilização da função TO_NUMBER passamos a exibir um dados CHAR ou VARCHAR2 como NUMBER. Lembrando ainda que ao utilizar modelos de formatação os valores exibidos podem ser arredondados de acordo com o formato o que pode exibir no resultado valores # no arredondamento.

No exemplo abaixo, podemos ver a utilização de alguns padrões.

    A coluna salary da tabela HR.Employees é do tipo NUMBER, então para conversão utilizamos a função TO_CHAR() seguida da máscara. 

    Na coluna Tamanho temos a seguinte máscara '$09999.99', onde a inclusão do caractere $ a frente do valor vai exibir este mesmo símbolo no retorno e o 0 indica que caso o número tenha menos dígitos será complementado com 0 a esquerda como no caso da linha 20 onde o valor exibido é $09600.00.

    Na coluna Tamanho1 temos o exemplo que caso o valor tenha mais dígitos que a máscara o valor será substituído por #, como vemos nas linhas 16, 17, 18 e 19 do retorno, pois o formato definido é $9999.99 e temos valores como 10000 que excede em uma posição o formato suportado.

    Nas colunas CasaDecimal e CasaDecimal1 vemos a utilização de casas decimais nos formatos, na primeira coluna, $999999D99o D indica que o separador será o que está configurado na parametrização do banco de dados, enquanto na segunda coluna, $9999.99, temos o separador explicito, em ambos os casos, caso o número convertido não tenha casas decimais, será exibido como 00, caso tenha casas decimais será exibido esse valor, conforme exemplo 58.

    Na coluna NOME_MOEDA é possível incluir o nome da moeda local de acordo com parametrização do banco de dados, no caso do meu banco de dados sai o BRL, também é possível incluir o símbolo da moeda conforme utilizado na coluna NOTACAO_MOEDA, ainda sobre moedas, temos a coluna NOTACAO_ALTERNATIVA, onde é possível exibir uma outra notação da moeda. Para exibir esses dados é bastante simples, bastando incluir a respectiva letra antes do formato desejado C para o nome da moeda, L para o símbolo da moeda e U para o símbolo alternativo.

    Na coluna ApenasInteiro temos um arredondamento do valor, sendo ignorados os valores das casas decimais.

E por fim a coluna SINAL onde podemos exibir o sinal de positivo ou negativo do número, bastando incluir a letra S no formato, podendo ser exibido no início ou final.



Formatos de Datas

    Assim como com números é possível utilizar formatos para alterar a exibição de datas, para isso precisamos utilizar uma das funções de conversão TO_DATE, TO_TIMESTAMP ou TO_TIMESTAMP_TZ, também é possível utilizar a função TO_CHAR para conversão de datas em caracteres.

    Na imagem abaixo, temos exemplos do uso dos formatos de datas com as funções TO_CHAR, TO_DATE e TO_TIMESTAMP, podemos encontrar os seguintes formatos no exemplo abaixo.


DD     -> Indica o dia
MM     -> Indica o mês
YYYY   -> Formato para o ano
HH      -> Formato para horário de 12 horas
HH24  -> Formato para horário de 24 horas
MI      -> Formato para minutos
SS      -> Formato para segundos
FF9     -> Formato para fração de segundos, onde o 9 é a quantidade de casas decimais, podendo ser entre 1 e 9, caso a precisão seja ignorada retornará o padrão.

Opções para exibir o dia.

    Além da opção DD que exibe o dia, podemos utilizar o formato DAY que exibirá o nome do dia ou então DY que irá exibir as 3 primeiras letras do nome do dia, a exibição irá depender da maneira como for colocado o formato, por exemplo, DAY irá retornar DOMINGO, enquanto Day retornará Domingo e day o retorno será domingo. Da mesma maneira DY trará DOM, enquanto Dy o resultado será Dom e dy dom.
    Ainda para dias, temos as opções de exibir a data informando o dia da semana na forma de número onde 1 é domingo e 7 sábado para isso utilizamos a formato d, ou exibir o data na forma de dia do ano utilizando o formato ddd.

Opções para exibir o mês

    Assim como para os dias, para os meses também é possível exibir no formato por extenso ou abreviado, para exibir abreviado utilizamos o formato MON e por extenso o formato MONTH e também como os dias, a forma que o formato é passado na máscara será exibido no retorno, caso MONTH será MAIO, caso Month o retorno será Maio e no caso de month teremos maio. Nos casos que o formato configurado seja da maneira abreviada, teremos o retorno apenas das 3 primeiras letras, conforme o exemplo o retorno seria MAI. Existe também a possibilidade de exibir o mês em algarismo romano, para isso é necessário utilizar o formato RM.

Formatos DL e DS

    Os formatos DL e DS são formatos exibidos de acordo com as configurações NLS do banco, onde o DL é o formato longo e o DS o formato curto.



Formatos de semana

    Também temos formatos para retornar uma data com dados da semana. Onde através do formato W temos a semana do mês da data informada e usando o formato WW temos a semana do ano da data informada. Há ainda a possibilidade de utilizar o formato IW que é a semana do ano de acordo com o padrão ISO, ou seja, a primeira semana não necessariamente será semana do dia 01 de janeiro, mas sim a primeira semana que tem ao menos 4 dias no novo ano.


Sufixos para datas

    Há também a possibilidade de incluir sufixos para as formatações de datas da forma que as datas sejam exibidas de forma ordinal, escrita ou combinada. As opções para as máscaras de formatos são: SP, TH ou THSP/SPTH. Vamos ver alguns exemplos práticos de uso.

    Durante provas de certificação atentar nesse ponto, pois existem pegadinhas com a exibição de dados utilizando essas formatações. Por exemplo, embora a sintaxe TH esteja maiúscula, caso o dia(DD) esteja minúsculo será exibido minúsculo.





FX e FM

    Nas sintaxes de formatos para datas é possível incluir FX ou FM, e o que acontece ao adicionar FX ou FM no formato? Basicamente, FX se refere ao formato exato, ou seja, a máscara deve estar idêntica ao conteúdo que se deseja converter. Enquanto o FM é o modo de preenchimento, em que o conteúdo pode ser preenchido com espaços ou 0 para completar o formato, no caso do FM ainda é possível utilizar um separador diferente do formato.



Formato do Ano

    Para anos temos 2 possibilidades de formatos podemos utilizar o RRRR (RR) ou o formato YYYY (YY). O recomendado é a utilização do formato YYYY, pois esse formato elimina a ambiguidade e não prejudica a otimização das consultas. O formato RR é similar ao YY, contudo tem particularidades referentes ao século que basicamente permite armazenar anos de século 20 estando no século 21. Quando utilizamos o formato YY, os 2 primeiros dígitos serão sempre iguais do ano atual, porém quando utilizamos o formato RR os 2 primeiros dígitos vão depender dos 2 últimos dígitos da data e também dos 2 últimos dígitos do ano atual.

    Caso os 2 dígitos retornados para o ano sejam entre 00 e 49:

    - Se os 2 últimos dígitos do ano atual estiverem entre 00 e 49:

    será retornado os mesmos 2 dígitos do ano atual.

    - Se os 2 últimos dígitos do ano atual estiverem entre 50 e 00:

    será retornado 1 número maior que os 2 dígitos do ano atual.


    Caso os 2 dígitos retornados para o ano sejam entre 50 e 99:

    - Se os 2 últimos dígitos do ano atual estiverem entre 00 e 49:

            será retornado 1 número menor que os 2 dígitos do ano atual.

    - Se os 2 últimos dígitos do ano atual estiverem entre 50 e 00:

    será retornado os mesmos 2 dígitos do ano atual.



Fonte:

https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/Format-Models.html#GUID-DFB23985-2943-4C6A-96DF-DF0F664CED96

17 de mar. de 2021

Tipos de Dados

    Dentro do banco de dados Oracle temos as tabelas e cada tabela é formada por colunas, que representam tipos de dados semelhantes, ou seja, em cada linha da tabela os tipos de dados de cada coluna será igual.

E como podemos descobrir qual o tipo de dados de cada coluna de uma tabela? Simples, basta executar o comando abaixo.

    describe nome_tabela;

ou ainda, podemos abreviar o comando da seguinte maneira

    desc nome_tabela;

    O resultados destes comando é uma listagem das colunas da tabela com seu respectivo tipo de dados.


    Agora que já sabemos como identificar o tipo de dados das colunas de uma tabela precisamos saber o que são cada um deles. A importância do tipo de dados se deve a otimização de um banco de dados, por exemplo, em um banco bem modelado, um campo que contém datas deverá ser do tipo DATE, podemos até armazenar em uma coluna que armazene uma cadeia de caracteres, porém, isso não é o ideal, a maneira que o banco de dados trabalha será prejudicada nesse caso, da mesma maneira um número, podemos armazena-lo em uma coluna que não seja do tipo NUMBER, mas nesse caso ele será tratado pelo banco de dados não como número e sim como um caractere alfanumérico.

Fonte:

https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/Data-Types.html#GUID-A3C0D836-BADB-44E5-A5D4-265BA5968483

4 de mar. de 2021

Schemas e Schema Human Resources (HR)

 Schemas

       Para entender de maneira simples o que é um SCHEMA no Banco de Dados Oracle, podemos resumir que um schema é um usuário e tudo que tem dentro dele.

    O schema é criado automaticamente, quando um usuário é criado, embora possa ser criado através do comando CREATE SCHEMA. Dentro desta estrutura lógica ficam tabelas, procedures, índices entre outros objetos. E cada schema pertence apenas a seu usuário. Segue lista de objetos que fazem parte de um schema.

  • Analytic views
  • Attribute dimensions
  • Clusters
  • Constraints
  • Database links
  • Database triggers
  • Dimensions
  • External procedure libraries
  • Hierarchies
  • Index-organized tables
  • Indexes
  • Indextypes
  • Java classes
  • Java resources
  • Java sources
  • Join groups
  • Materialized views
  • Materialized view logs
  • Mining models
  • Object tables
  • Object types
  • Object views
  • Operators
  • Packages
  • Sequences
  • Stored functions
  • Stored procedures
  • Synonyms
  • Tables
  • Views
  • Zone maps

Embora muitas estruturas sejam armazenadas logicamente dentro de um schema, existem objetos que não fazem parte de um schema, tais objetos são os seguintes:

  • Contexts
  • Directories
  • Editions
  • Flashback archives
  • Lockdown profiles
  • Profiles
  • Restore points
  • Roles
  • Rollback segments
  • Tablespaces
  • Tablespace sets
  • Unified audit policies
  • Users

Schemas Sample

    Os schemas sample são estruturas disponibilizadas pela Oracle como exemplos, nela temos usuários, tabelas, índices, constraints, preenchidos com informações, o que torna possível aprender SQL utilizando os mesmos, pois é possível aplicar os conceitos de SQL, manipulando esses dados, criando joins entre as tabelas, testando o funcionamento de funções, enfim, um banco de dados completo e pronto para o uso. A familiaridade com esses schemas dummies, ajuda até mesmo nas provas de certificações da Oracle, visto que esses são utilizados nas questões, logo conhecendo a estrutura dos mesmo pode ajudar na hora da prova, onde se tem muitas questões e pouco tempo para pensar.

  • HR Schema (Human Resources) -
    • usado para tópicos de introdução ao SQL básico;
  • OE Schema (Order Entry)
    • usado para tópicos de dificuldade intermediária, possui mais tipos de dados;
  • OC Schema (Online Catalog) 
    • é uma coleção de objetos relacionais do utilizado no schema OE.
  • PM Schema  (Product Media)
    • dedicado para dados do tipo mídia;
  • CO Schema (Customer Orders)
    • é um schema moderno que possui demostrações de transações de e-commerce, permitindando armarzenar dados semi-estruturados usando JSON;
  • IX Schema (Information Exchange)
    • é um conjunto de schemas, usado para demonstrar as capacidades avançadas de consultas Oracle;
  • SH Schema (Sales History)
    • desenvolvido para demonstrar grandes quantidades de dados, possui suporte para processamento analítico.

    Até a versão 12 do banco do dados Oracle, era possível incluir a instalação desses schemas juntamente com a instalação do banco, nas versões mais recentes é necessário a instalação manualmente após o banco estar devidamente instalado.

    Maiores detalhes a respeito de cada um dos schemas de exemplo podem ser encontradas neste link.

    Para obter os samples schemas é necessário o download através do GitHub, disponível nesse link.

Instalando o Schema HR

    Como dito anteriormente, nas versões antigas do Oracle Database era possível definir a instalação dos schemas durante a instalação da aplicação, nas versões acima de 18c não temos essa opção, contudo, o schema HR fica disponível na instalação do Oracle Database no caminho: '$ORACLE_HOME/demo/schema/human_resources'.
    Após acessar o diretório onde se encontra os arquivos de instalação do schema, devemos acessar o SQLPlus utilizando um usuário com privilégios de administrador, podemos utilizar o comando abaixo para tal ação.

    $ sqlplus connect sys as sysdba

    Logo em seguida devemos executar o script hr_main.sql que contém os passos automatizados da instalação.
    SQL> @?/demo/schema/human_resources/hr_main.sql

Assim que o script for inicializado, serão apresentados prompts solicitando a inclusão de argumentos, na seguinte ordem:
    - Senha para o usuário HR;
    - Default tablespace para o schema HR;
    - Tablespace temporário para o schema HR;
    - Senha do usuário sys;
    - Diretório de log.

Seguido das informações solicitadas, é necessário aguardar finalizar a instalação.



    Assim que concluir a instalação devem ser verificados os logs para validação da instalação, em alguns casos podem ocorrer erros na criação do usuário HR, nesse caso, o restante da instalação também irá falhar, o erro pode estar relacionado com o tipo de sessão do usuário sys, nesse caso é necessário alterar o tipo de sessão para que e reexecutar o script para que seja concluído com sucesso.                            

    $ alter session set "_ORACLE_SCRIPT"=true;

Após a alteração da sessão, a instalação corre conforme o esperado.


E por fim temos schema devidamente instalado.

Para um detalhamento de todas as ações realizadas pelo script de instalação a Oracle disponibiliza essas informações nessa página.

Schema HR

    O schema HR mostra uma estrutura de recursos humanos de uma empresa, se divide nas seguintes tabelas:

  • EMPLOYEES
  • JOBS
  • JOB_HISTORY
  • DEPARTMENTS
  • LOCATIONS
  • REGIONS
  • COUNTRIES

 Segue abaixo modelo de dados do schema HR.



Finalmente com o ambiente completamente finalizado mãos a obra!


Fontes:

https://docs.oracle.com/en/database/oracle/oracle-database/19/comsc/index.html

https://docs.oracle.com/en/database/oracle/oracle-database/19/comsc/HR-sample-schema-scripts-and-objects.html

https://docs.oracle.com/database/121/COMSC/scripts.htm#COMSC00021

https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/Database-Objects.html#GUID-31BE00A7-7FF9-41CB-852A-F1416912CA9E

11 de fev. de 2021

Instalando Oracle Linux na VM

    Após ter a VM criada e configurada o passo seguinte é realizar a instalação do sistema operacional Oracle Linux.

    A versão atual do Oracle Linux é a 8.3. O download do SO pode ser feito gratuitamente através do site da Oracle, disponível neste link. Também é possível baixar imagens prontas para VM já com o SO instalado através deste link.

    Após realizar o download da imagem do SO Oracle Linux, é necessário colocar essa .ISO para rodar no drive virtual da VM. Para isso basta clicar no ícone 'Configurações' da VM, ir na opção 'Armazenamento', selecionar a opção 'Controladora IDE' e no ícone de um CD, clicar para localizar o arquivo .ISO.


O passo seguinte a inclusão da .ISO no drive é colocar a VM para rodar, selecionando a opção 'Iniciar'.


    Em algumas situações, pode aparecer uma janela solicitando para confirmar o caminho da .ISO que será utilizada no boot da VM.

    Assim que a VM fizer o boot e carregar as informações da .ISO, teremos a opção de dar início a instalação.

    Após selecionar a opção de instalação, devemos aguardar pela mesma.


    Em seguida, teremos a interface de instalação pronta para o início da configuração do Oracle Linux.


    O passo seguinte a seleção do idioma é a interface para as demais configurações. Nesse passo podemos definir a senha do usuário root.

    Seguimos com a seleção do disco onde a instalação será realizada e com a ativação da placa de rede da VM.



    Na área de seleção de aplicações, podemos definir a maneira que o SO irá se portar na VM. A escolha padrão irá optar por 'Server with GUI' que é uma instalação de servidor, porém com a possibilidade de acesso visual e não apenas modo texto, em muitas empresas, a opção utilizada é 'Server' e se utiliza ferramenta externa para emular o modo visual na instalação do Oracle Database.


    Com as devidas configurações selecionadas, basta dar início ao processo de instalação e aguardar.


E assim que a instalação for concluída, será necessário reiniciar a VM.



Após reiniciar a VM, temos a tela onde devemos aceitar os termos da licença e criar o usuário.


    E por fim, finalizamos a instalação.



    Assim que finalizar a instalação, a VM irá reiniciar, possibilitando a login com o usuário criado no último passo, e estando a VM pronta para o uso.


    Após esse ponto, devemos partir para a instalação do Oracle Database.

14 de out. de 2020

Certificações

O que é uma certificação?

    Certificação, como o próprio nome sugere, é um certificado emitido por uma organização reconhecida que atesta que o portador passou por uma prova e que atingiu um percentual mínimo de acertos, certificações podem ser emitidas pelo próprio fornecedor da tecnologia como Oracle, IBM, Microsoft, SAP ou instituições responsáveis por gerir tecnologias e metodologias como a Exin, por exemplo.

Por que tirar uma certificação?

    Ser um profissional certificado, atesta que o professional conhece a tecnologia, dedica tempo para estudo e tem comprometimento com o conhecimento e o crescimento profissional, um profissional certificado tem o reconhecimento da comunidade em que atua, juntamente com possibilidades de aumento salarial, aumento de responsabilidades na função que desempenha, possibilidade de um novo emprego e além de credibilidade junto ao mercado.

Por que uma certificação Oracle Database?

    Oracle é o banco de dados mais usado comercialmente, de acordo com a Oracle, cerca de 97% das empresas que integram o ranking da Fortune 500 utilizam soluções da Oracle para banco de dados, o que indica que existe muita demanda para profissionais que conhecem o mesmo, podendo ser como Administrador de Banco de Dados, o DBA, ou mesmo como desenvolvedor SQL ou PL/SQL.

Quais as certificações Oracle podem ser feitas?

Atualmente, a Oracle possui uma gama de certificações:

  • Oracle Certified Junior Associate OJA
    • Certificação para estudantes que estão entrando no mundo Oracle.
  • Oracle Certified Associate OCA
    • Primeiro passo nas certificações para profissionais Oracle, servem como introdução de conhecimento nas tecnologias.
  • Oracle Certified Professional OCP
    • Segundo nível das certificações, necessita previamente certificação OCA e valida conhecimentos mais avançados e específicos.
  • Oracle Certified Master OCM
    • Certificação após OCP, exige conhecimentos mais avançados que a OCP e prova pratica.
  • Oracle Certified Specialist OCS
    • Direcionada para áreas específicas, geralmente atribuídas para profissionais de parceiros Oracle que atuam com implementações.
  • Oracle Certified Expert OCE
    • Certificação independente do caminho OCA/OCP/OCM, explora nichos das tecnologias.

As provas para banco de dados Oracle podem ser divididas nos seguintes tópicos:

  • Administration
  • High Availability
  • New Features
  • Development
  • Security
A gama completa das certificações pode ser encontrada aqui.

Como é a prova?

    Cada prova tem sua particularidade, contudo basicamente as provas tem número de questões, percentual de acerto e tempo pré-determinados. Por exemplo, a prova 1Z0-071, o candidato tem 78 questões, que devem ser respondidas em 120 minutos e para a aprovação é necessário no mínimo 63% de acertos.

    Atualmente, algumas provas podem ser executadas da casa do candidato, sendo previamente necessária instalação dos devidos softwares de avaliação, nem todas as provas podem ser executadas da casa do candidato, porem todas podem ser executadas em um centro de exames credenciado. Esses locais de aplicação de prova, o candidato tem um computador com as aplicações de avaliação instaladas, durante a prova o candidato é monitorado por câmeras, não pode fazer uso de dispositivos externos como relógios ou telefones e tem um página e uma caneta fornecidos pelo centro de avaliação para anotações durante a prova, o qual não pode ser levado após o término da prova.

    As questões podem conter teoria a respeito do tema, ou mesmo trechos de códigos para avaliação e exibem várias opções de resposta, havendo ao menos 1 opção correta e podendo ter todas as opções corretas. Algumas provas têm suporte a vários idiomas como espanhol ou japonês, mas o idioma inglês é o disponível para todas as provas.

Que conteúdo estudar para uma prova de certificação?

    Na página de cada prova existe uma sessão com a informação de conteúdo cobrado na prova, como exemplo a prova 1Z0-071 tem os conteúdos abaixo solicitados:



Como se preparar para a prova?

  Embora todo conteúdo cobrado em prova possa ser encontrado nas documentações oficiais da Oracle. A Oracle também comercializa treinamentos oficiais que servem como preparação para suas provas. Também é possível encontrar cursos não oficiais ministrados por professionais certificados e com experiência profissional na área, que geralmente custam bem menos que os treinamentos oficiais. O treinamento oficial pode ser encontrado aqui e atualmente custa R$ 4185,00.

    Para saber como funciona a prova em si, é possível fazer testes simulados através do software da CyberVista, antigo Kaplan, homologado pela Oracle, o valor é US$129,00, porem atualmente o mesmo sai por US$64,50 usando o cupom CyberSecure.

Também é indicado que não apenas estude o conteúdo teórico, mas tenha uma ambiente para testar as funcionalidades e o conteúdo estudado.


Fontes:

https://www.oracle.com/br/corporate/features/oracle-certification.html

https://education.oracle.com/oracle-certification-paths-all?intcmp=WWOUOCOMCERTFEATURESTORY