Pesquisar no blog

quinta-feira, 29 de julho de 2010

SQL e seus Comandos


Linguagem de Consulta Estruturada (SQL  - Structured Query Language) é uma linguagem de pesquisa declarativa para banco de dados relacional, das quais muitas características são inspiradas na álgebra relacional. Ela é um padrão em banco de dados, isto decorre da sua simplicidade e facilidade de uso. Por ser uma linguagem declarativa ela reduz o ciclo de aprendizado dela.
O SQL foi desenvolvido no início dos anos 70 pela IBM, dentro do projeto System R, que tinha por objetivo demonstrar a viabilidade da implementação do modelo relacional proposto por Codd. O nome original da linguagem era SEQUEL, acrônimo para Structured English Query Language (Linguagem de Consulta Estruturada em Inglês).
Embora o SQL tenha sido criado pela IBM, surgiram vários "dialetos" desenvolvidos por outros produtores. Isso levou à necessidade da criação e adaptação de um padrão para a linguagem que foi realizada pela ANSI em 1986 e pela ISO em 1987.
Embora padronizado pela ANSI e ISO, o SQL possui muitas variações e extensões. Tipicamente a linguagem pode ser migrada de plataforma para plataforma sem mudanças estruturais principais.
A SQL é formada por vários tipos de comandos, que serão explicados a seguir:

·        DDL – Linguagem de Definição de Dados

Uma DDL permite definir tabelas novas e elementos associados. A maioria dos bancos de dados de SQL comerciais tem extensões proprietárias no DDL. Os comandos básicos da DDL são poucos: CREATE que cria um objeto, DROP que apaga um objeto, ALTER que permite ao usuário alterar um objeto.

·        DML – Linguagem de Manipulação de Dados

 A DML é um subconjunto da linguagem usada para inserir, atualizar e apagar dados. Os principais comandos são: INSERT que é usado para inserir um registro, UPDATE que é para mudar os valores de dados dos registros, DELETE que permite remover registros existentes, SELECT que permite selecionar registros existentes.

·        DCL – Linguagem de Controle de Dados

O DCL controla os aspectos de autorização de dados e licenças de usuários para controlar quem tem acesso para ver ou manipular dados. Possui dois comandos principais: GRANT que autoriza ao usuário executar ou setar operações e o REVOKE que remove ou restringe a capacidade de um usuário de executar operações. Os outros comandos são o ALTER PASSWORD e o CREATE SYNONYM.

·        DTL – Linguagem de Transação de Dados

O DTL tem três comandos, alguns que podem até terminar transações abertas:
1.      BEGIN WORK ou START TRANSACTION que é usado para marcar o começo de uma transação de banco de dados;
2.      COMMIT envia todos os dados das mudanças permanentemente;.
3.      ROLLBACK faz com que as mudanças nos dados existentes desde o último COMMIT ou ROLLBACK sejam descartadas;

·        DQL – Linguagem de Consulta de Dados

Embora tenha apenas um comando, a DQL é a parte da SQL mais utilizada. O comando SELECT permite ao usuário especificar uma consulta como uma descrição do resultado desejado. Esse comando é composto de várias cláusulas e opções, possibilitando elaborar consultas das mais simples às mais elaboradas.
As cláusulas são condições de modificação utilizadas para definir os dados que deseja selecionar ou modificar em uma consulta, as mais utilizadas são FROM, WHERE, GROUP BY, HAVING, ORDER BY, DISTINCT. Possuem também os operadores lógicos e os relacionais. Além das funções de agregações: AVG, COUNT, SUM, MAX, MIN.

terça-feira, 27 de julho de 2010

ITIL v3


ITIL (Information Technology Infrastructure Library) foi criada em 1989 pelo CCTA (Central Computer and Telecommunications Agency), hoje incorporado pelo Office of Government Commerce, um órgão independente do governo britânico. ITIL constitui-se de uma descrição coerente e integrada de práticas de gerenciamento de serviços de TI.
Estas práticas ajudam a implantar e manter um gerenciamento de serviços de TI focando em pessoas, processos, tecnologia e parceiros que são usados na entrega de serviços que atendam às necessidades dos clientes.
A ITIL busca promover a gestão com foco no cliente e na qualidade dos serviços de TI.  Ela lida com estruturas de processos para a gestão de uma organização de TI apresentando um conjunto abrangente de processos e procedimentos gerenciais, organizados em disciplinas, com os quais uma organização pode fazer sua gestão tática e operacional em vista de alcançar o alinhamento estratégico com os negócios. A ITIL dá uma descrição detalhada sobre importantes práticas de ITI com checklists, tarefas e procedimentos que uma organização de TI pode customizar para suas necessidades.
Desde sua primeira versão, ela tem sofrido revisões, para acompanhar a evolução do mercado e as novas tecnologias. Destas revisões, houve duas que se destacam: A primeira revisão que deu origem ao ITIL V2 e a segunda revisão que deu origem a versão atual, a ITIL V3. A versão atual foi lançada em junho de 2007. Junto com o lançamento da ITIL V3, também foi lançado um novo esquema de qualificação profissional.
Uma pesquisa realizada em 2005 aponta que 37% das empresas entrevistadas já adotaram ITIL e isso não é apenas um modismo de TI, mas sim uma estratégia para reduzir custos, aproveitar melhor os recursos disponíveis e aumentar a satisfação dos clientes.
Pesquisas indicam que a utilização do ITIL V3 tem trazido grandes benefícios para os serviços de TI. Abaixo vemos algumas dessas inúmeras vantagens:
·        Falhas - 30% de redução no número de falhas, 50% de redução no tempo de resolução;
·        Reparo – 80% de redução no tempo médio para reparo;
·        Mudanças - 25% de redução no tempo de conclusão das mudanças, 50% de redução no número de alterações urgentes e altamente dispendiosas;
·        Excesso de capacidade - 15% de redução no oneroso excesso de capacidade
·        Custo total da propriedade - 10% de redução do (TCO)
·        Disponibilidade - 10% a mais na disponibilidade dos sistemas

O ITIL V3 é composto por 5 volumes:

1.      Estratégia do serviço (SS - Service Strategy)

Como ponto de origem do ciclo de vida de serviço ITIL, o volume sobre estratégia do serviço é um guia sobre como tornar mais claro e priorizar investimentos sobre provimento de serviços. Os pontos chaves sobre este volume são:
·        Definição do valor do serviço;
·        Desenvolvimento de um caso de negócio;
·        Ativos do serviço;
·        Análise de mercado;
·        Tipos de provimento de serviço.

2.      Projeto de serviço (SD - Service Design)

O volume de Projeto de serviço é um guia sobre boas práticas nos projetos de serviços de IT, processos, e outros aspectos no esforço de gerenciamento de serviços.
Projetar com ITIL é entender como englobar todos os elementos relevantes à entrega de serviços de tecnologia, ao invés de focar somente no projeto da tecnologia propriamente dita. Assim, o projeto de serviços aponta para uma solução planejada de serviço que interage com o negócio e ambiente técnico.
Neste volume há processos que incluem gerenciamento do nível de serviço (Service Level Management - SLA), gerenciamento de disponibilidade, gerenciamento de capacidade, gerenciamento de serviços de IT continuados, gerenciamento de segurança da informação, gerenciamento de fornecedores e gerenciamento de catálogo de serviços.

3.      Transição do serviço (ST - Service Transition)

Este volume é direcionado à entrega dos serviços necessários ao negócio no uso operacional, e geralmente englobam o "projeto".
Tópicos deste volume incluem gerenciamento de configurações e ativos de serviço, planejamento de transição e suporte, gerenciamento de liberação e entrega (release and deployment), gerenciamento de alterações (Change Management), gerenciamento de conhecimento, assim como os papéis da equipe engajada na transição do serviço.

4.      Operação do serviço (SO - Service Operation)

Parte do ciclo de vida onde serviços e valores são entregues diretamente. Assim, o monitoramento de problema e o balanceamento entre disponibilidade de serviço e custo são considerados.
Tópicos inclusos nesse volume são: o balanceamento do conflito das metas (disponibilidade vs custo), gerenciamento de eventos, gerenciamento de incidentes, gerenciamento de problemas, cumprimento dos pedidos, gerenciamento de acesso.

5.      Melhoria contínua do serviço (CSI - Continual Service Improvement)

A meta desse volume é ajustar e reajustar serviços de TI às mudanças contínuas do negócio através da identificação e implementação de melhorias aos serviços de TI que apóiam processos negociais.
Para gerenciar melhorias, o CSI deve definir claramente o que deve ser controlado e medido.

Na tabela abaixo se encontram os principais processos do ITIL.

Processos de Gerenciamento de Serviço
Publicação
Extensão
Avaliação
ST

Cumprimento de Requisição
SO

Geração de Estratégia
SS

Gerenciamento da Capacidade
SD
SO, CSI
Gerenciamento da Configuração e de Ativo de Serviço
ST
SO
Gerenciamento da Continuidade do Serviço de TI
SD
CSI
Gerenciamento da Demanda
SS
SD
Gerenciamento da Disponibilidade
SD
CSI
Gerenciamento de Acesso
SO

Gerenciamento de Evento
SO

Gerenciamento de Fornecedor
SD

Gerenciamento de Incidente
SO
CSI
Gerenciamento de liberação e Implantação
ST
SO
Gerenciamento de Mudança
ST

Gerenciamento de Portfólio de Serviço
SS
SD
Gerenciamento de Problema
SO
CSI
Gerenciamento de Segurança da Informação
SD
SO
Gerenciamento do Catálogo de Serviço
SD
SS
Gerenciamento do Conhecimento
ST
CSI
Gerenciamento do Nível de Serviço
SD
CSI
Gerenciamento Financeiro
SS

Mensuração de Serviços
CSI

Planejamento e Suporte da Transição
ST

Processo de Melhoria em 7 Etapas
CSI

Relatório de Serviço
CSI

Validação e Teste de Serviço
ST

quinta-feira, 22 de julho de 2010

CobiT


O Control Objectives for Information and related Technology (CobiT) é um guia de princípios (boas práticas) para orientar gestores de TI, que foi criado e mantido pela Information Systems Audit and Control Association (Isaca), através de profissionais que atuam nas áreas de auditoria, segurança e governança de TI. O seu objetivo é auxiliar na adoção das boas práticas de mercado como o Information Technology Infrastructure Library (ITIL) e normas ISO para que a TI possa responder às necessidades dos negócios com transparência e eficiência.
Apresentado como um framework, ele traz uma série de recursos que podem ser adotados como modelo de referência para gestão de TI, tais como: sumário executivo, controle de objetivos, mapas de auditorias, ferramentas para implementação e passo-a-passo de técnicas de gerenciamento.
Muitas organizações brasileiras públicas e privadas estão sendo pressionadas a usar CobiT. Um dos exemplos é o Banco Central e o TCU que adotaram esse modelo em seus programas de auditoria. O uso do CobiT é recomendado por ser considerado o meio mais apropriado para otimizar os investimentos de TI, melhorando o retorno sobre o investimento (ROI) percebido, fornecendo métricas para avaliação dos resultados.
O CobiT independe das plataformas de TI adotadas nas empresas, tal como independe do tipo de negócio e do valor e participação que a tecnologia da informação tem na cadeia produtiva da empresa.
Além de ajudar os profissionais no dia-a-dia, o CobiT pode ser usado como material de consulta pelos que pretendem se candidatar à nova certificação da Isaca, criada para testar o conhecimento em governança de TI, que é o Certification in the Governance of Enterprise IT (CGEIT). O selo CGEIT foi lançado no mercado global no começo de 2009 e já credenciou pouco mais de 200 profissionais ao redor do mundo. Entre estes cerca de 40 brasileiros. No Brasil, a maior procura pelo selo é de talentos dos segmentos financeiros e de governo. Podem concorrer ao título de CGEIT somente os profissionais que têm bagagem em governança de TI, ou seja, é preciso ter no mínimo 5 anos de experiência comprovada na área. Entre os requisitos, está o domínio em CobiT, além de conhecimento em outros padrões do mercado.

Estrutura do CobiT

O CobiT é estruturado em quatro domínios, os quais possuem 34 processos. Os domínios são descritos a seguir:

    1. Planejar e Organizar

O domínio de Planejamento e Organização cobre o uso da informação e da tecnologia. Com isso, ele pode ser usado para que a empresa atinja seus objetivos e metas. Ele também salienta que a forma organizacional e a infra-estrutura da TI devem ser consideradas para que se atinjam resultados ótimos e para que se gerem benefícios do seu uso.

Processos: Planejar e Organizar
PO1
Definir um Plano Estratégico de TI
PO2
Definir a Arquitetura de Informação
PO3
Determinar o Direcionamento Tecnológico
PO4
Definir os Processos, Organização e Relacionamentos de TI
PO5
Gerenciar o Investimento em TI
PO6
Comunicar as Diretrizes e Expectativas da Diretoria
PO7
Gerenciar os Recursos Humanos de TI
PO8
Gerenciar a Qualidade
PO9
Avaliar e Gerenciar os Riscos de TI
PO10
Gerenciar Projetos

2.        Adquirir e Implementar

O domínio de Adquirir e Implementar cobre a identificação dos requisitos de TI, a aquisição de tecnologia e a implementação desta dentro dos processos de negócio da companhia. Esse domínio também lida com o desenvolvimento de um plano de manutenção que a companhia adota para prolongar a vida do sistema de TI e de seus componentes.


Processos: Adquirir e Implementar
AI1
Identificar Soluções Automatizadas
AI2
Adquirir e Manter Software Aplicativo
AI3
Adquirir e Manter Infra-estrutura de Tecnologia
AI4
Habilitar Operação e Uso
AI5
Adquirir Recursos de TI
AI6
Gerenciar Mudanças
AI7
Instalar e Homologar Soluções e Mudanças

3.         Entregar e Dar Suporte

O domínio de Entregar e Dar Suporte foca aspectos da entrega da TI. Cobre a execução de aplicações dentro do sistema de TI e seus resultados, assim como o suporte dos processos que habilitam a execução de forma eficiente e efetiva. Esses processos de suporte também incluem questões de segurança e treinamento.

Processos: Entregar e Dar Suporte
DS1
Definir e Gerenciar Níveis de Serviço
DS2
Gerenciar Serviços de Terceiros
DS3
Gerenciar Capacidade e Desempenho
DS4
Assegurar Continuidade de Serviços
DS5
Assegurar a Segurança dos Serviços
DS6
Identificar e Alocar Custos
DS7
Educar e Treinar Usuários
DS8
Gerenciar a Central de Serviço e os Incidentes
DS9
Gerenciar a Configuração
DS10
Gerenciar os Problemas
DS11
Gerenciar os Dados
DS12
Gerenciar o Ambiente Físico
DS13
Gerenciar as Operações

4.       Monitorar e Avaliar

O domínio de Monitorar e Avaliar lida com a estimativa estratégica das necessidades da companhia e avalia se o atual sistema de TI atinge os objetivos para os quais ele foi especificado e controla os requisitos para atender objetivos regulatórios. Ele também cobre as questões de estimativa, independentemente da efetividade do sistema de TI e sua capacidade de atingir os objetivos de negócio, controlando os processos internos da companhia através de auditores internos e externos.

Processos: Monitorar e Avaliar
ME1
Monitorar e Avaliar o Desempenho
ME2
Monitorar e Avaliar os Controles Internos
ME3
Assegurar a Conformidade com Requisitos Externos
ME4
Prover a Governança de TI


quarta-feira, 7 de julho de 2010

ACID

Do ponto de vista de gerenciadores de bancos de dados, ACID são propriedades fundamentais nos processos transacionais, onde cada letra representa uma dessas 4 propriedades que definem o termo ACID:
·                    A - Atomicidade
·                    C - Consistência
·                    I - Isolamento
·                    D - Durabilidade

Atomicidade

Trata a transação como parte indivisível (atômica). A transação deve ter todas as suas operações executadas em caso de sucesso ou nenhuma em caso de falha. Ou seja, após o término de uma transação deve ser dado um commit (sucesso) ou um abort (falha), a base de dados não deve refletir resultados parciais de uma transação, mas sim os resultados totais. O subsistema de restauração de transações do SGBD é o subsistema responsável por garantir a atomicidade: Recovery.

Exemplo:
Em uma transferência de valores entre contas bancárias, é necessário que, da conta origem seja retirada um valor X e na conta destino seja somado o mesmo valor X. As duas operações devem ser completadas sem que qualquer erro aconteça, caso contrário todas as alterações feitas nessa operação de transferência devem ser desfeitas. Ou seja, quando ocorrer um erro ocorrer após a retirada do valor X da conta origem e antes da soma desse valor X na conta destino. Os valores das contas origem e destino deverão ser mantidos aos valores que eram antes da operação.

Resumindo:
·        É um “ou vai, ou racha”.
·        É um tudo ou nada”.

Consistência

Indica que a base de dados está consistente no início da transação e ao seu final deverá permanecer consistente, porém durante a transação certas regras podem ser quebradas, o que comprometerá essa propriedade. A responsabilidade por garantir essa propriedade é dupla, sendo tanto do programador quanto do módulo do SGBD que garante as restrições de integridade.

Exemplo:
Imagine que seja tirada uma fotografia dos dados de um banco de dados. Este é o estado do BD. Após a fotografia, é feita uma transação neste BD e retira-se uma nova foto. Se na primeira o BD estava consistente, então na segunda ele tem que estar também.

Resumindo:
·        "antes de mamãe sair e depois que ele chegar as coisas têm que estar arrumadas, durante seja lá o que Deus quiser".  

Isolamento

Capacidade das operações de uma transação não ser vista pelas outras transações até que esta esteja encerrada. Tudo se parece como se o trabalho estivesse isolado. O resultado de uma transação executada concorrentemente a outra deve ser o mesmo que o de sua execução de forma isolada. Operações exteriores a uma dada transação jamais verão esta transação em estados intermediários. Uma transação só pode ser simultânea se elas não alterarem os mesmos dados. Essa propriedade é imposta pelo subsistema de controle de concorrência do SGBD.

Exemplo:
Duas transações executadas juntas: Transação Y altera o nome do cliente e transação X altera o nome do mesmo cliente. Ao fazer insert, update ou delete enquanto a transação estiver em andamento, todos os dados da tabela serão alocados para aquela transação, portanto a transação X só poderá ser executada após a conclusão da transação Y. Esta escolha é feita pelo banco de dados e ele executa primeiro uma transação depois a outra.

Resumindo:
·        “não mete o dedo no que estou fazendo”.
·        é um cada um por si”.

Durabilidade

Indica que depois de uma transação ser executada com sucesso, as alterações efetuadas persistam e não sejam desfeitas. Os efeitos de uma transação em caso de sucesso (commit) são permanentes mesmo em presença de falhas. A responsabilidade fica por conta do subsistema de restauração do SGBD.

Resumindo:
·        “ajoelhou tem que rezar”
·        “fez, está feito”