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 pertencem a transacções distintas e, pelo menos, uma delas efectua uma operação de escrita sobre a mesma peça de informação. Uma peça de informação pode ser, por exemplo, uma linha de uma tabela, uma coluna de uma tabela, uma tabela inteira, ou um espaço de tabelas.
Uma história pode resumir-se num grafo de dependências que estabelece as marcas temporais no fluxo de dados entre transacções. Uma história é compreensível e é considerada realizável (serializable) quando é equivalente a um conjunto de eventos realizados em série, i.e., quando o seu grafo de dependências tem a mesma cronologia de uma história que execute sequencialmente (em série) as transacções.

O planeamento da pesquisa num projecto

Para o desenvolvimento de um projecto o planeamento da pesquisa é um passo imprescindível. O planeamento é a primeira etapa de uma jornada que será tanto mais curta quanto maior for essa acção; o planeamento é o primeiro passo em qualquer trabalho de investigação ou de escrita, qualquer tentativa de queimar esta etapa é um passo certo para o fracasso do projecto.

O tempo gasto nas tarefas organizativas nunca é um desperdício, muito pelo contrário, é sempre um bom investimento na maximização dos resultados esperados.

A fase de planeamento pode ser subdividida nas seguintes fases:

  1. Consulta da literatura de referência
  2. Esboço das ideias principais
  3. Análise do tipo, do conteúdo e da informação disponível relativamente as ideias chave do projecto
A utilização directa das primeiras referências bibliográficas que encontram na Fase 1, sem levar em consideração um universo mais vasto de conhecimento, limita drasticamente os resultados esperados de qualquer projecto de escrita.

O projecto de escrita é um trabalho contínuo e progressivo que tem o seu próprio tempo de desenvolvimento, e que deve ser constantemente avaliado por actores estranhos ao próprio autor ou equipa de desenvolvimento. A crítica é um dos elementos que mais pode contribuir para o sucesso do projecto.

Como procurar emprego na área das bases de dados

A candidatura a um emprego é uma tarefa que exige uma grande atenção aos detalhes e que, nomeadamente no caso do primeiro emprego, muita determinação e vontade de vencer.

As empresas na área das bases de dados variam entre, por exemplo, a Oracle, Microsoft ou IBM (ou seja empresas dos fabricantes), até à grande multiplicidade de empresas que utilizam bases de dados nas suas operações do dia-a-dia e que desse modo necessitam de pessoas para trabalhar nesses sistemas.

Por outro lado, há ainda o caso dos organismos oficiais (Administração Central e Local) que também contratam pessoal na área da informática – e em particular para trabalhar com bases de dados -, pelo que é aconselhável consultar o Diário da República II Série que está disponível on line de forma gratuita.

Em primeiro lugar vai ter que escrever ou organizar o seu curriculum vitae (CV), tente ver algum exemplo e comece a partir dai. O site EuroCV.eu é um bom ponto de partida para começar a estruturar o seu CV.

Tendo o seu CV organizado pode em seguida fazer três coisas:

  • Responder a anúncios de portais on line:
  • Consultar as páginas de ofertas de emprego publicados na imprensa diária, ou semanal, como: Diário de Notícias, Público, Correio da Manhã, Expresso, Sol, Jornal de Notícias.
  • Apresentar candidaturas espontâneas: pesquise e escolha uma ou mais empresas e remeta para cada uma delas uma carta de apresentação e o seu CV. Há empresas que já aceitam candidaturas on line e nesse caso tudo é feito de modo digital, enquanto que outras mantém o esquema clássico das candidaturas apresentadas em papel.

O que é o data warehousing?

As empresas e outras organizações precisam de desenhar estratégias de desenvolvimento e inovação de modo a estabelecerem políticas mais flexíveis, que consigam tirar o máximo proveito das oportunidades que surgem no mercado a todos os momentos.

O caminho para o sucesso de uma organização passa pela definição das estratégias adequadas e, como tal, pela utilização de sistemas de informação especializados e especialmente desenhados para servirem de suporte às decisões dos gestores e outros decisores.

Neste contexto os sistemas de data warehousing assumem um papel vital no planeamento das actividades empresariais, pois devido ao seu formato especial produzem aplicações optimizadas que são um auxiliar precioso no momento da escolha da melhor opção de entre o leque das alternativas possíveis.

Mas, o que são de facto os sistemas de armazenamento de dados?

São aplicações construídas de raiz com o único propósito de servirem como base, ou como um instrumento de apoio, à análise dos dados sobre os quais uma organização desenvolve as suas actividades. Não poderá dizer-se o mesmo, por exemplo, de uma base de dados tradicional? Que também é um sistema que permite tomar decisões? Claro que sim, senão não seriam uma das aplicações informáticas mais utilizadas na actualidade. Nenhum gestor, ou apenas um mau gestor, iria desperdiçar recursos da sua organização para adquirir software inútil. Devido às suas características estruturais as bases de dados têm uma grande capacidade em manter íntegros, e actualizados, grandes conjuntos de dados; sujeitos no entanto a alguns constrangimentos, sobretudo na área da usabilidade. De facto, e desde que construídas com suporte em modelos de dados robustos, a integridade e a baixa redundância dos dados são os pontos fortes de uma base de dados. Mas será que permitem tomar as melhores decisões?

As capacidades que as bases de dados têm em suportarem robustos sistemas de informação tem como contrapartida, e em consequência das regras semânticas que a suportam, uma estrutura muito complexa, composta normalmente por largas dezenas, e em muitos casos centenas, de tabelas e, sobretudo, ou acrescendo ainda a essa complexidade, um largo número de associações entre essas tabelas. Ora, a combinação entre a quantidade de tabelas e a forma como se relacionam entre si produz um autêntico quebra-cabeças, indecifrável, ou só muito dificilmente compreensível, pelos utilizadores. Bem, nem por todos os utilizadores, por vezes, essa estrutura complexa ainda consegue ser perceptível aos profissionais que a desenharam e por aqueles que têm a árdua tarefa de assegurarem a sua manutenção diária. Agora, quem não a consegue compreender, e muito menos utilizar de um modo eficiente são as pessoas que mais precisam desses dados para promover o desenvolvimento das organizações: os gestores.

How to teach computer programming?

  1. Maybe there are a lot of methods to teach computer programming to novices. All of them have been exhaustively used and documented in computer science literature. But most of those studies and related publications have forgotten the most basic and fundamental principle: in order to able to write a person have, in first place, to have a good reading capacity.
  2. Having forgotten this most teachers pretends that students begin to write even when they cannot read. Pursuing this line of thought whatever the chosen method (classical or less classical; with beautiful or ugly analogies; with more or less tutorial sessions; beginning with object-programming or structured-programming paradigm) the outcome will be always a “negative” one.
  3. The only way to teach students in firsts years of computer programming courses is to teach them how to read computer programs and only after that task accomplished it will make any sense to begin writing computer programs with them.

O que diferencia uma base de dados de um data warehouse?

O uso universal de bases de dados relacionais consolidou um conjunto de boas práticas que actualmente são respeitadas com um rigor quase religioso pela sua comunidade de utilizadores. O baixo, ou mesmo nulo, nível de redundância (repetição dos mesmos dados em mais do que um local da base de dados) é o exemplo paradigmático, e mais conhecido, de uma das regras basilares do desenho de bases de dados relacionais. Para atingir bons níveis de redundância e de integridade da informação uma base de dados é tipicamente composta por um grande número de tabelas que se encontram ligadas entre si através de campos comuns.

A exploração da informação numa base de dados é feita através da linguagem SQL (Structured Query Language). As técnicas de programação em SQL (vulgarmente designadas como queries) são complexas e, consequentemente, fora do alcance dos utilizadores das bases de dados. Desse modo, a exploração dos dados está sempre limitada a um conjunto relativamente restrito de queries pré-programadas por especialistas na matéria. E, quando o utilizador tem uma necessidade diferente das que estão previstas inicia-se um círculo vicioso em que é feito um pedido aos informáticos, esse pedido entra na “linha de montagem” das queries, e num momento no futuro o programa é, finalmente, disponibilizado ao utilizador que avaliará a sua eficácia e formatação, o que poderá provocar um feedback (neste caso negativo) que retomará todos as etapas do circuito.

Um gestor que pretenda analisar a informação de uma base de dados segundo uma perspectiva original, para tomar uma determinada decisão tem, além de ter conhecimentos de programação em SQL, a obrigação de conhecer em profundidade o esquema da base de dados, i.e., em que tabelas estão armazenados os dados que procura e a forma como essas tabelas estão relacionadas entre si. Para um mero utilizador essas tarefas são um autêntico quebra-cabeças. Penso que nenhuma organização terá qualquer proveito em perder um bom gestor e ganhar um mau programador.