30 de nov. de 2020

Operadores

    Logo que começamos a criar consultas SQL se faz necessário incluir condições para atender nossos objetivos, essas condições são basicamente operações e para tanto temos os operadores, os operadores básicos consistem em comparar colunas ou valores.

Igualdade

"=" sinal de igual é o operador de igualdade, valida se o valor da direita é igual ao da esquerda.

Desigualdade

Para validar se um valor é diferente de outro, temos algumas formas:

"!=" ponto de exclamação seguido pelo sinal de igual;

"^=" acento circunflexo seguido pelo sinal de igual;

"<>" sinais de maior e menor.

Comparação

    Também podemos comparar se um valor é maior ou menor que o outro valor, utilizando individualmente os sinais de maior e menor na comparação.

">" verifica se o valor a esquerda é maior que o valor da direta.

"<" verifica se o valor a esquerda é menor que o valor da direita.

    Da mesma maneira é possível validar se um valor é 'maior ou igual' ou 'menor ou igual' a outro valor, nesses casos devemos utilizar primeiro o sinal de maior(>) ou menor(<) seguido pelo sinal de igual(=).

">=" verifica se o valor a esquerda é maior ou igual ao valor da direita.

"<=" verifica se o valor a esquerda é menor ou igual ao valor da direita.

Exemplos de Operadores de igualdade e desigualdade, quando o resultado é verdadeiro retorna dados, quando o resultado é falso não retorna.

No caso da desigualdade o resultado é verdadeiro quando os dois lados da comparação são diferentes. No exemplo abaixo, mostrando que independente de qual forma de operador está sendo usada o resultado retornado é o mesmo.


Exemplos de expressões com comparação de maior e menor. Seguindo da mesma lógica, quando a comparação é verdadeira, temos o resultado exibido, o que não ocorre quando a comparação é falsa.

Uso dos comparadores de grandeza combinados com igualdade:





Operadores Matemáticos

    É possível realizar operações matemáticas dentro das consultas no banco dados, sendo possível incluí-las nas área do SELECT ou mesmo combinando com alguma coluna na área de filtragem da consulta.

Exemplos utilizando Soma:

Utilizando no retorno da consulta:



Utilizando no campo de filtragem, caso a operação esteja correta retorna dados, caso esteja incorreta não retorna.

    O mesmo pode ser efetuado para as operações de subtração, multiplicação e divisão.




Fontes:

4 de nov. de 2020

SQL - Primeiras consultas

   O comando SQL, necessariamente deve possuir ao menos 2 partes, a parte da consulta e a parte de onde consultar. Sendo assim, temos a estrutura básica de uma consulta SQL.

SELECT 
    *
 FROM 
    tabela


    Sempre iremos ter a cláusula SELECT que indica selecionar, buscar, o asterisco (*) indica tudo, e pode ser substituído pelo nome das colunas da tabela, funções, literais ou mesmo a combinação de todos.
    A segunda cláusula é o FROM que indica onde iremos buscar as informações solicitadas na cláusula SELECT, após a palavra chave FROM deve ser informada uma ou mais tabelas, podendo ser também views ou um sub-select.
    Tanto na cláusula SELECT quanto na cláusula FROM devemos usar a vírgula (,) para separar mais de um parâmetro.
    Também temos a cláusula WHERE onde são feitas as filtragens do resultado, a coluna utilizada na filtragem pode ou não estar entre as colunas exibidas no resultado da consulta.
SELECT 
    coluna1, coluna2, coluna3
FROM 
    tabela
WHERE
    coluna1 = 'valor'


    As palavras reservadas utilizadas na escrita de um comando SQL não são case-sensitive, ou seja, podem ser escritas em maiúsculas, minúsculas ou uma combinação de ambos. Embora a indentação, torne o código mais legível, os comandos SQL podem ser escritos em uma ou várias linhas, desde que não haja quebra no meio de um comando, as palavras chave também não podem ser abreviadas.
    Para testar alguns comandos no Banco de Dados Oracle, é possível utilizar a tabela dual, essa tabela é criada juntamente com o banco e por padrão possui uma coluna chamada dummy do tipo VARCHAR(1).

A tabela dual pode ser usada como coringa, para testar expressões e funções, conforme os exemplos abaixo, buscando a data atual, retornando operações matemáticas





30 de out. de 2020

SQL - Introdução

    Os comando SQL se dividem em tipos, são eles DML, DDL, DCL e TCL.

-> DML: Data Manipulation Language

        SELECT, INSERT, UPDATE, DELETE, MERGE

-> DDL: Data Definition Language

        CREATE, ALTER, DROP, TRUNCATE, RENAME, COMMENT

-> DCL: Data Control Language

        GRANT, REVOKE

-> TCL: Transaction Control Language

        COMMIT, ROLLBACK, SAVEPOINT

DML

    São os comandos utilizados para manipulação dos dados, permitindo inserir, atualizar, remover ou simplesmente selecionar dados das tabelas do banco de dados. Mais exemplos:
CALL
EXPLAIN PLAN
LOCK TABLE


DDL

    São os comando usados para a criação da estrutura do banco de dados, para criar tabelas, usuários, views, alterar todos esses objetos. Os comandos DCL também podem ser considerados DDL, visto que garantem as definições de acesso aos objetos do banco de dados. Mais exemplos:
ANALYZE
ASSOCIATE STATISTICS
AUDIT
DISASSOCIATE STATISTICS
FLASHBACK
NOAUDIT
PURGE


TCL

    São os comando utilizados na garantia das alterações dos comandos DML, podendo efetivar uma alteração ou descartá-la, ou mesmo em procedures e triggers servindo como controle de código. Mais exemplos:
SET TRANSACTION
SET CONSTRAINT

    Também existem os comandos que se encaixam como Controle de Sessão, que são SET ROLE e ALTER SESSION, e os comandos de Controle de Sistema como o ALTER SYSTEM.


Fontes:

19 de out. de 2020

Ambientes para Testes

    Para que possa fixar o aprendizado é necessário praticar, para isso é necessário montar um ambiente para testes.

    A opção mais fácil é utilizar o ambiente online da própria Oracle através do link Oracle Live, para utilizar esse ambiente é necessário previamente possuir uma conta no site da Oracle. Após efetuar o login, basta utilizar a aba SQL Worksheet.



    Lembrando que ao utilizar a versão Oracle Live, estamos utilizando o banco de dados Oracle 19c, caso o intuito da utilização seja puramente aprender SQL, com certeza essa plataforma atenderá, porem, caso o objetivo seja uma prova de certificação, o melhor é criar um ambiente com a versão citada na prova.

Oracle XE

    Oracle eXpress Edition é uma maneira fácil de ter um banco de dados disponível um sua máquina, o mesmo pode ser encontrado através deste link, e está na versão 18c, caso seja necessário uma versão mais antiga, pode ser encontrado neste link.

Ambiente Virtual

    Embora este seja o modo mais trabalhoso, é a melhor alternativa, pois simula um banco de dados de fato. Para ter um ambiente virtual é necessário utilizar o Oracle VM VirtualBox e criar uma máquina virtual dentro dele, após a criação da máquina virtual, é necessário instalar o sistema operacional na máquina virtual que foi criada, nesse caso o mais indicado é o Oracle Linux e após a instalação do sistema operacional finalmente efetuar a instalação do Oracle Database.

Utilizando o ambiente

Tanto no uso de uma instalação do Oracle XE ou de um ambiente virtual será necessário uma ferramenta para conectar ao banco de dados e de fato poder executar os comandos SQL, juntamente com a instalação do banco de dados, é instalado o SQLplus que permite fazer conexão no banco de dados e execução de comandos SQL, porem esta ferramenta é apenas modo texto, sendo bastante útil quando se está diretamente no servidor. A melhor opção acaba sendo a ferramenta gratuita Oracle SQL Developer que é visual e facilita muito o uso no dia a dia, tem funções para fazer a indentação do código, estrutura colorida para melhor leitura dos códigos, possibilidade de salvar conexões.


    Caso a necessidade seja de projetar um banco de dados, pode ser utilizado o Oracle SQL Developer Data Modeler.



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

7 de out. de 2020

O que é SQL?

Após a publicação do estudo de Edgar F. Codd sobre os bancos de dados relacionais no início da década de 70 e a aceitação desse como modelo para os RDBMS (Relational DataBase Management Systems), houve a necessidade de uma linguagem comum para os bancos de dados, foi ai que entrou o Structured English Query Language ou SEQUEL, que podemos chamar em português de Linguagem de Consulta Estruturada em Inglês. Por questões de registro de marca, mais tarde o SEQUEL passou a ser escrito como SQL.

Em 1986 o SQL passou a ter o regulamentação pelo padrão ANSI e em 1987 pelo padrão ISO.


Fontes:

https://docs.oracle.com/database/121/SQLRF/intro001.htm#SQLRF50932

6 de out. de 2020

Normalização

    Um bom banco de dados, passa antes de tudo por um bom desenvolvimento, para isso deve ser basear nas regras de normalização. A normalização assim como o modelo de banco de dados relacionais, teve seu conceito introduzido por E.F. Codd durante os anos 70. A normalização também é conhecida como Normal Forms (Formas Normais), visa manter um banco de dados otimizado para reduzir redundâncias e dependências.

    Quando se normaliza um banco de dados, tem como objetivo flexibilizar a estrutura do banco de dados, assegura que os atributos estão nas tabelas corretas, reduzir a redundância dos dados, aumentar a efetividade dos programadores, diminuir custos de manutenção das aplicações e maximizar a efetividade da estrutura dos dados.

Primeira forma normal (First Normal Form 1NF)

Basicamente, uma tabela na 1NF não consta dados repetidos, então, para atender a primeira forma normal devemos considerar que em uma tabela cada coluna seja única.

Exemplo:

Na imagem acima vemos que a tabela 'Registro' possui 3 colunas para o mesmo tipo de dados, o que gera repetição.

Para aplicar a 1NF, é criada uma nova tabela 'Telefone', com as informações referente aos números de telefone e tipo do número, cada registro possui um ID único, que é disponibilizado na tabela 'Registro' por meio de chave estrangeira Foreigner Key.

Segunda forma normal (Second Normal Form 2NF)

Como premissa para a 2NF, a tabela já deve estar normalizada na 1NF, sabendo disso, o conceito da 2NF é que nenhuma outra coluna da tabela deve ser dependente de parte do valor da chave primária. Para exemplificar, uma tabela que possui uma chave primária composta, ou seja, 2 colunas ou mais formam a chave primária, uma nova coluna não pode depender do valor que consta apenas em uma coluna que forma a chave primária, isso busca reduzir a redundância de dados.

Exemplo.

Um país pode ter vários estados, e um estado várias cidades, na tabela acima ao mudar o nome de um estado, vai ser alterado apenas ao registro que está sendo manipulado, e caso nos dados da tabela tenhamos mais de uma cidade do mesmo estado, estamos replicando o nome do estado.



Após aplicar o 2NF, temos uma tabela para o país, uma para o estado onde o id do país vem como chave estrangeira da tabela país, e uma para cidade ontem temos as chaves estrangeiras do estado e do país, dessa forma ao alterar o nome do estado ou sigla do país, por exemplo, a informação esta integra, pois todos os registros da tabela cidade apontam para o identificador das outras tabelas.

Terceira forma normal (Third Normal Form 3NF)

Como premissa para a 3NF, a tabela já deve atender as normas anteriores. A 3NF consiste em que uma tabela, não possua uma coluna que dependa de outra coluna que não seja uma coluna chave, para normalizá-la deve-se remover essa coluna para outra tabela.

Exemplo:

Uma pista de corrida, tem uma corrida em uma determinada data, nessa corrida temos um vencedor, e o vencedor tem uma data de nascimento. Nesse caso a data de nascimento do vencedor é dependente da coluna vencedor, sendo aplicada a 3NF, teremos uma nova tabela com as informações do competidor, ligada a tabela de ganhadores.



Existem mais normas formais, contundo, um banco de dados que atende a estas 3 normas, já se torna otimizado de modo que muitos problemas possam ser evitados.


Fontes:

https://docs.oracle.com/en/database/oracle/oracle-database/19/dwhsg/data-warehouse-logical-design.html#GUID-A5E3E278-E611-4AB1-BE17-C3AF0DF87A80

https://www.ibm.com/support/knowledgecenter/SSGU8G_12.1.0/com.ibm.ddi.doc/ids_ddi_066.htm

https://www.w3schools.in/dbms/database-normalization/


21 de set. de 2020

Uma breve introdução aos Bancos de Dados

    Estamos vivendo a era do conhecimento, era do dados, onde é cada vez mais comum a geração de informação, de qualquer tipo de informação. Embora saibamos a informação e os dados sempre existiram, nem sempre foi como é hoje e isso continua em permanente evolução.
    Antigamente, a informação era guardada em livros, cadernos, anotações. Com a tecnologia cada vez mais presente em nossas vidas, a maneira de como manter e organizar dados também tem mudado.
    Num passado não muito distante, dificilmente uma empresa tinha um computador com um sistema para organizar as informações, tudo isso ficava registrados em livros caixa, cartões ponto, por exemplo. Hoje, desde pequenas empresas até conglomerados possuem sistemas, onde constam informações como estoque de produtos, procedimentos que devem ser efetuados e até mesmo pagamentos digitais.
    Mas não basta ter informações, é necessário armazenar tudo isso, para que possam ser utilizadas em outras oportunidades, ou mesmo transformadas em dados relevantes.
    Sabendo dessas necessidades começaram a surgir entre as décadas de 60 e 70 os Bancos de dados, também conhecidos apenas como BD, ou na literatura inglesa como Databases (DB), e sendo amplamente conhecidos como Sistemas de Gerenciamento de Banco de Dados (SGBD), Database Management System (DBMS).

Mas em que consiste um SGBD/DBMS?

Basicamente um SGBD consiste em 3 partes:
  • Aplicação;
  • Repositório;
  • Linguagem.
A aplicação é o sistema em si, um código desenvolvido para efetuar todo o gerenciamento dos dados. O repositório é onde os dados ficam armazenados e a linguagem é a maneira de interagir com os dados.

Modelo Relacional

    Em meados de 1970, E. F. Cood publicou "A Relational Model of Data for Large Shared Data Banks" que definia um modelo de dados relacionais baseados na teoria matemática dos conjuntos, desde então este é o modelo de banco de dados mais aceitável.
    Sabendo disso, entendemos que um banco de dados relacional é um banco de dados que se baseia no modelo relacional publicado por Codd, basicamente esses bancos de dados tem 3 aspectos principais:
  • Estruturas;
  • Operações;
  • Regras de Integridade.
    O banco de dados relacional é formado basicamente por conjuntos de atributos e tuplas, que formam tabelas e são relacionadas entre si. A tabela é uma estrutura bidimensional, onde as linhas são as tuplas e as colunas os atributos. Cada linha de uma tupla de uma tabela vai ter os mesmos atributos.




Fontes: