Oracle | Data aleatória

Pretende-se gerar uma data aleatória entre 2006-12-01 e 2006-12-20 (um intervalo de 20 dias). Para fazer o cálculo transforma-se a data para o dia juliano em número: TO_CHAR(TO_DATE('2006-12-01', 'YYYY-MM-DD'), 'J'): SELECT TO_DATE(TRUNC(DBMS_RANDOM.VALUE(        TO_CHAR(TO_DATE('2006-12-01', 'YYYY-MM-DD'), 'J'),        TO_CHAR(TO_DATE('2006-12-01', 'YYYY-MM-DD'), 'J')+20)), 'J') FROM...

DBA | Afinação da Aplicação

Gestão da Aplicação from Carlos Pampulim Caldeira...

Estatísticas | Oracle

Oracle | Estatísticas from Carlos Pampulim Caldeira...

Custo de Execução de Queries | Oracle

Custo Execução de Queries from Carlos Pampulim Caldeira...

Data Warehousing - Conceitos e Modelos - 2ª Edição

Já está disponível a 2ª edição revista e aumentada de "Data Warehousing: Conceitos e modelos"...

Valores booleanos em bases de dados

Em bases de dados não é nada aconselhável a utilização de booleanos. "Dados" como 'Sim' ou 'Não' não tem grande significado e geram múltiplas interpretações pelo que é sempre melhor atribuir valores explícitos, ou seja, que sejam clara e univocamente compreensíveis pelos utilizadores. Na presença de valores deste tipo é frequente que os utilizadores tentem interpretá-los à sua maneira ou, pior ainda, fazendo suposições que estão longe do que...

Big Data: o tamanho importa! (Parte I)

Tal como outras tecnlogias/técnicas que o antecederam (por exemplo o armazenamento Cloud, a virtualização ou mesmo o Data Warehousing) o Big Data, por enquanto, parece não ser mais do que um termo da moda. Será que passará a ser verdadeiramente útil? Quando, como e porquê? Para começar pode dizer-se que o Big Data é um conceito que se refere à colecta e análise de toda e qualquer peça de informação proveniente de todos os tipos de fontes. Se observarmos uma...

A Arte das Bases de Dados

 O planeamento é a mãe de todo o sucesso. Uma ideia tão simples que se expressa numa única linha, mas que no entanto não é habitualmente levada a sério. Ao longo de cerca de um quarto de século dedicado ao ensino e investigação de matérias associadas com o mundo das bases de dados relacionais, tenho-me deparado com inúmeras situações em que a pressa e o desleixo...

Trigger para validação de data | Oracle

Considerem-se as seguintes tabelas: Curso Disciplina Disciplina no Curso Pretende-se impedir que sejam introduzidas na tabela “Disciplina no Curso” datas de cessação inferiores à data actual. Como em Oracle não se pode validar datas comprando-as com o SYSDATE através de CHECK, então uma outra possibilidade será o da utilização de um trigger insert/update que...

SYSDATE numa restrição CHECK em Oracle

Como o valor de SYSDATE (data do sistema) é quase sempre diferente em cada momento de avaliação de uma cláusula CHECK então o Oracle não nos deixa fazer uma restrição desse tipo. Imagine-se, por exemplo, que se quer inserir apenas valores que sejam maiores do que SYSDATE e considere-se que o valor de SYSDATE vai aumentado com o tempo: [Data de Fim] > SYSDATE 30-JAN-2012 > 26-DEC-2011 ……………………………………… 30-JAN-2012 > 10-FEB-2013 O...

DBA | Isolamento de transacções

As normas ANSI SQL determinam os seguintes três tipos de isolamento transaccional nos sistemas de gestão de bases de dados: Dirty Read. A transacção T1 modifica um facto. Outra transacção T2 lê esse mesmo facto antes que T1 faça commit ou rollback. Se T1 desistir da transacção (rollback) então T2 leu um facto que nunca foi confirmado e, como tal, nunca existiu. Non-Repeatable Reads. A transacção T1 lê um facto. Outra transacção T2 modifica...

DBA | Gestão de Transacções

O papel da gestão de transacções é o de assegurar que as transacções são gravadas correctamente na base de dados. O gestor de transacções é o componente do SGBDR que processa esses movimentos de dados. Uma transacção é um conjunto de acções ou movimentos de dados considerados de modo a que sejam todos gravados na base de dados ou rejeitados na sua totalidade. Uma transacção é uma unidade atómica de trabalho em que todos os seus elementos têm...

ODS vs. Data Warehousing

O ODS (Operational Data Store) é um elemento fundamental do data warehouse empresarial proposto por Bill Inmon, para muitos considerado o pai do Data Warehousing. O ODS é uma estrutura de dados normalizada, uma base de dados normal, construída com todas as regras de integridade inerentes ao modelo de dados relacional, e que serve de transição entre o sistema transaccional e os data marts segundo o pensamento de Inmon.  Na óptica do modelo...

Máquina do tempo...em Oracle

Acontece por vezes que alguns dados podem inadvertidamente ser apagados ou modificados e não há tempo para os restaurar a partir de um dispositivo de backup. O Oracle possui uma tecnologia bastante útil denominada Flashback que permite que se façam queries "a um passado recente". O "quanto" é permitido recuar depende do espaço disponível em UNDO. Suponha-se que na última hora se apagou qualquer linha da tabela Curso e que agora é imperioso...

Tabela dual ou dummy

Este tipo especial de tabela, denominada em inglês de dummy, serve o propósito especial de fazer algumas operações sobre conjuntos sem aceder a tabelas de dados propriamente ditas. Isso alivia a carga do sistema e impede, por exemplo, que se façam utilizações indevidas a tabelas com muitas linhas. Este tipo de tabelas pode ser utilizado para trabalhar com triggers...

DBA | Transacção

Uma transacção agrupa um conjunto de operações que transformam a base de dados de uma estado consistente n para outro estado consistente n+1. Pode considerar-se que há uma história – ou cronograma ou processo – que modela/transforma a execução em simultâneo (interleaved) de um conjunto de transacções numa série temporal de operações lienares sobre determinadas peças de informação. Duas operações nesse cronograma entram em conflito quando...