Postagens

Joins - Relacionamento entre tabelas

Imagem
Nesse artigo vamos tratar de uma função muito comum no banco de dados relacionais, como o SGBD Oracle e SQL Server, a junção de tabelas (Join). O relacionamento entre tabelas normalmente é feito entre a chave primaria e a chave estrangeira, porem isso não é obrigatório o comando funciona ao comparar duas colunas desde que respeitando a tipologia dos campos. Inner Join Faz o relacionamento perfeito entre duas tabelas, retornando apenas os dados que existam nas duas. Left Join Retorna todos os dados da tabela a esquerda, mais as informações que encontrar na tabela à direita. Right Join Retorna todos os dados da tabela à direita, mais as informações que encontrar na tabela à esquerda. Cross Join Retorna tudo das duas tabelas, gerando inclusive linhas espúrias (falsas) no retorno. Tem alguma dica de JOIN para compartilhar ou ficou com alguma dúvida? Deixe seu comentário!

Gerando XML com PL/SQL: Desmistificando o DBMS_XMLGEN

Sabe quando você precisa gerar um XML com base nas informações existentes na sua base de dados?  Seja para integrar sistemas, enviar dados para uma API, ou gerar aquele relatório urgente?  A boa notícia é que o Oracle tem uma ferramenta perfeita para isso: o pacote DBMS_XMLGEN.  Ele resolve a parada de forma rápida, eficiente e sem complicação. E nem se preocupe em montar XML na mão com um monte de concatenações. O DBMS_XMLGEN pega o resultado de uma consulta SQL e transforma em XML pronto para usar. Simples assim!   Agora vamos a ação segue um exemplo fácil para usar o DBMS_XMLGEN   DECLARE     -- Variável para controlar a geração do XML     ctx DBMS_XMLGEN.ctxHandle;     -- Variável para guardar o XML final (pode ser grande!)     xml CLOB; BEGIN     -- 1. Cria o "contexto" do XML, informando a consulta SQL.     --  Dica de ouro: SEMPRE use bind variables (:x1) para segurança e perform...

Trigger

Imagem
São blocos de execução nomeados, sua principal diferença em relação as Procedures e Packages, é que não existe "chamada" para Trigger sua execução é iniciada a partir de de uma ação de DML (Insert, Update ou Delete) na tabela a qual ela esta vinculada. O Trigger é disparado toda vez que ocorre uma ação na tabela. Fonte: https://docs.oracle.com/cd/B19306_01/server.102/b14220/triggers.htm Os Triggers podem ser do tipo: ROW LEVEL (Linha)  STATEMENT (Tabela).  Podendo ser acionadas  antes (BEFORE) ou depois(AFTER)  da execução da DML  na tabela. Esse recurso de banco é utilizado principalmente quando existe a necessidade de se manter uma integridade dos dados alem das chaves (PK e FK), e para realizar a auditoria das alterações. Exemplo quando precisa-se manter um histórico de qual usuário realizou alteração e quando em outra tabela do sistema. Triggers é um recurso poderoso dos SGBDs porem pode causar muita lentidão no sistema se mal ...

Certificação Oracle - Segunda Chance

Imagem
"Se duas pessoas com, praticamente, a mesma experiência estiverem disputando a mesma vaga de trabalho, a pessoa certificada geralmente chegará ao ponto mais alto na pré-triagem do departamento de RH. A certificação concede margem a um funcionário." - Hans Forbrich, CEO, Forbrich Computing, provedor da Certificação Oracle Ter uma certificação Oracle é um diferencial no currículo e uma garantia para si mesmo que você conhece ( e utiliza) as melhores praticas em seu banco de dados, o post Certificações Oracle . Para aumentar sua confiança, a Oracle prorrogou a campanha Retake , fazem parte desta campanha os exames realizados em um Centro de Testes autorizado pela Pearson VUE® (Pearson VUE Authorized Test Center) até o dia 31 de maio de 2016 e o Retake Gratuito deve ser realizado até 15 de Julho de 2016. Para mais informação acesse o site da Oracle education . Se você tiver alguma dúvida, deixe um comentário terei o maior prazer em respondê-lo!!!

Blocos de Execução Anômimos

Imagem
O PL/SQL permite trabalhar com blocos de execução anônimos e  Subprogramas, nesse post vamos falar sobre a utilização do bloco anônimo. Sua estrutura é composta por: Declare : Parte do código especifica para declaração das variáveis,cursores e funções internas do código. Seção de Execução : parte do código que pode conter estruturas interativas ou condicionais, definição de variáveis, chamadas para blocos nomeados, é definido por:  Begin : Define o inicio dos comandos PL/SQL, podem existir vários no bloco End : Obrigatório para encerramento do bloco de execução, deve existir 1 para cada Begin. Exception : Tratamento para erros em tempo de execução, sua utilização é opcional.   É possível encadear varias seções de execução dentro de um bloco de execução, inclusive pode-se criar dentro de estruturas interativas ou condicionais da seção principal. Falando de forma mais objetiva podemos criar a estrutura Begin - End dentro de um Loop ou um IF. Domin...

PL/SQL x SQL

Imagem
Mais um post sobre diferenças de termos normalmente utilizados pelos profissionais de TI, de forma errada. Já tem um tempinho fiz um post sobre a Definição de PL/SQL , agora vou abordar mais a diferença entre SQL e PL/SQL. SQL: Structured Query Language(Linguagem de Consulta Estruturada ) - é a linguagem de manipulação de dados para banco de dados relacionais,  criada pela IBM na década de 70 baseada em conceitos da Álgebra relacional . Foi desenvolvida para padronização dos sistemas gerenciadores de banco de dados relacionais existentes. Seus comandos podem ser agrupado na seguintes categorias (DDL, DCL, DML, DQL) . PL/SQL: Procedural Language/Structured Query Language - é a linguagem própria de programação do SGBD  Oracle, é uma ferramenta robusta, podendo ser utilizada de várias formas para tratamento de dados no banco de dados. O PL/SQL possibilita a aplicação de regras de negocio diretamente no SGB. Principais Diferenças Podemos dizer que enquan...

Banco de dados X SGBD

Imagem
Nesse post vou tratar de um tema aparentemente simples mas que muitos se confundem em relação termos utilizados no universo de sistemas de banco de dados, vou falar sobre as diferenças entre banco de dado e SGBD. Banco de dados Um banco de dados é uma representação abstrata de um Mini-Mundo ou Universo de Discurso, ou seja, uma coleção de dados logicamente coerentes que juntos possam gerar informações. Para abstrair um pouco de universo da informatica uma agenda telefônica, aquele modelo antigo de papel, pode ser considerado um banco de dados onde as informações gravadas são relacionadas ao Mini-mundo de pessoas que o dono da agenda conhece, esta situação o caderninho com folhas marcando o Alfabeto seria o SGBD. Neste caso a agenda pode ser qualquer lugar onde você anota o nome da pessoa e seu telefone, já o SGBD seria o sistema de ordenação desses dados. SGBD - Sistema de Gerenciamento de Banco de dados O SGBD é um sistema desenvolvido para facilitar o armazenamento e a ma...