terça-feira, 31 de julho de 2012

Planejamento de um banco de dados (parte III)


  • Tipos de dados
    Antes de criar uma tabela deve-se definir os tipos de dados, pois estes especificam os tipos de informações que uma coluna pode conter, bem como a maneira como os dados são armazenados.
Segue abaixo tipos de dados (numérico, data e hora, sequência de caracteres, binários e integrados) suportados pelo SQL Server 2008.

Numérico
Tipos de dados
Descrição
Extensão
Int
Armazena números inteiros de -2.147.483.648 a 2.147.483.647
4 bytes
Tinyint
Armazena números inteiros de 0 a 255
1 byte
Smallint
Armazena números inteiros de -32.768 a 32.767
2 bytes
Bigint
Armazena números inteiros de -263 a 263 -1
8 bytes
Money
Armazena números financeiros de -922.337.203.685.477,5808 a 922.337.203.685.277,5807
8 bytes
Smallmoney
Armazena números financeiros de -214.748,3648 a 214.748,3647
4 bytes
Decimal (p,s)
Armazena valores decimais de precisão p e escala s. A precisão máxima é de 38 dígitos.
5-17 bytes
Numeric (p,s)
Funcionalmente equivalente a decimais

Float (n)
Armazena valores de ponto flutuantes com precisão de 7 dígitos (quando n=24) ou 15 dígitos (quando n=53)
4 bytes (quando n=24) ou 8 bytes(quando n=53)
Real
Funcionalmente equivalente a valor flutuante (24)


Obs.1: É melhor evitar fazer referência a colunas com tipo de dados float ou real em cláusulas WHERE em função de serem tipos de dados numéricos aproximados.

Obs.2: Em um caso de um valor inteiro que armazene valores entre 1 e 60 deve ser usado o tipo de dados tinyint e não int, pois desta forma haverá uma redução no consumo de espaço da coluna em 75%. 


sexta-feira, 20 de julho de 2012

Planejamento de um banco de dados (parte II)


2.1 Agrupar os dados relacionados em tabelas
Para criar um banco de dados relacional é preciso reunir todos os elementos que se deseja armazenar, lembrando que devemos sempre nos preocupar com a redundância.

Segue abaixo um exemplo com uma lista de atributos relativo a alocação de empregados em Projetos de consultoria:
  • Matrícula;
  • Nome do Empregado;
  • Endereço;
  • Código do projeto;
  • Título do projeto;
  • Horas trabalhadas.
Agora devemos organizar os atributos em Tabelas pensando, como disse acima, em evitar dados redundantes e na dificuldade de atualizar dados após uma alteração.

  • Seleção de chaves primárias:
Toda tabela em um banco de dados deve ter uma chave primária que identifique exclusivamente cada linha. Em resumo, basta que um atributo tenha a característica de ser único em relação a uma tabela para que seja chave candidata. Pode ser usado também a combinação de duas ou mais colunas como chave primária em uma tabela.

  • Relacionamento entre tabelas
Após a identificação da chave primária e da organização de atributos em tabelas pode-se fazer o relacionamento através da ligação entre uma tabela com chave primária e outra com a chave estrangeira. Normalmente a chave estrangeira em uma tabela contém o valor da chave primária na tabela relacionada.


Portanto neste caso a modelagem ficaria da seguinte forma (Utilizando o Diagrama de Banco de dados – SQL Server 2008):



Desta forma é possível saber por Empregado os projetos que participou e ainda as horas trabalhadas em cada um ou mesmo o total de horas gastas em todos os projetos. Se colocássemos o endereço na tabela de alocação, este deixaria de ser individualmente de cada trabalhador e passaria a ser do local onde o profissional teve sua alocação. Outra situação importante é a criação da tabela associativa TBALOCAÇÃO em função do atributo horas_trabalhadas pois somente desta forma é possível saber a quantidade de horas trabalhadas por um profissional em um determinado projeto. Nestes casos de associação a chave primária sempre será a concatenação das chaves primárias das tabelas que se associam formando uma chave primária composta.

quarta-feira, 11 de julho de 2012

Planejamento de um banco de dados (parte I)

  1. Criando um banco de dados relacional
Para não ter surpresas futuras o ideal antes de começar a implementar um projeto de banco de dados é pensar antecipadamente de forma escalonável para atender as novas necessidades de negócios que possam surgir. Também é importante identificar o que os usuários desejam que o novo sistema faça, além de identificar os problemas e limitações do sistema existente. Uma dica é reunir todos os documentos, como relatórios, controles pertencentes ao sistema atual e atas de reuniões com os usuários finais no início de seu planejamento e evitar ir direto a fase de concepção do projeto por achar que conhece bem o negócio.


Conceito para entendimento:
  • Banco de dados são sistemas de computador que armazenam e facilitam a inserção, recuperação e alteração desses dados;
  • Servidores de banco de dados: O Software de banco de dados é executado em servidores, pois estes computadores tem um hardware avançado para otimizar o desempenho do sistema para armazenamento de dados, cálculos e comunicação na rede. Fisicamente normalmente ficam em racks em centros de dados e seu acesso é remoto pois normalmente não possuem teclado e mouse.

    1.1 Identificando os objetos em um banco de dados relacional
Durante o processo de coleta de informações, deve-se identificar os objetos ou entidades principais que serão gerenciados pelo banco de dados. O objeto pode ser algo tangível, como uma pessoa ou um produto, ou pode ser um item mais intangível, como uma transação comercial, um departamento da empresa ou um período da folha de pagamentos. O modelo relacional organiza dados em uma série de tabelas relacionadas, que contém linhas e colunas. Cada coluna corresponde a um atributo (exemplo: nome) e cada linha corresponde a um registro (exemplo:José).


2 Modelando os objetos

Quando os objetos no sistema estiverem identificados, devemos registrá-los de um modo que represente o sistema visualmente, pois este modelo pode ser como uma referência durante implementação do banco de dados.

Para esse propósito, os desenvolvedores de banco de dados usam ferramentas de modelagem de dados para design de banco de dados como o ErWin, Oracle Designer ou o diagramas do MS SQL Server management studio. 



quarta-feira, 4 de julho de 2012

Microsoft SQL Server 2008 Express (Edição gratuita)

Microsoft SQL Server 2008 Express é um sistema de gerenciamento de dados que fornece um conjunto de recursos, proteção de dados e desempenho para clientes de aplicativos incorporados, aplicativos Web leves e armazenamentos de dados locais. Projetado para uma fácil implantação e prototipagem rápida, SQL Server 2008 Express está disponível sem nenhum custo, e o usuário está livre para redistribuí-lo com aplicações. 


Segue abaixo os requisitos do Sistema:



Sistemas operacionais suportados: Windows 7, Windows Server 2003 Service Pack 2, Windows Server 2008, Windows Server 2008 R2, Windows Vista Service Pack 1, Windows XP Service Pack 3
  • Sistemas 32-bit
    • Computador com processador Intel ou compatível processador de 1 GHz ou mais rápido (2 GHz ou mais rápido é recomendável. Apenas um único processador é suportado).
    • Mínimo de 256 MB de RAM (1 GB ou mais é recomendado)
    • 1GB de espaço livre no disco rígido
  • Sistemas de 64 bits
    • Processador de 1,4 GHz ou superior (2 GHz ou mais rápido é recomendável. Apenas um único processador é suportado).
    • Mínimo de 256MB de RAM (1 GB ou mais é recomendado)
    • 1 GB de espaço livre no disco rígido



segunda-feira, 25 de junho de 2012

Segurança da Informação


Eu li uma matéria na Computerword sobre segurança e achei interessante, principalmente pela informação de que 60,8 % dos problemas enfrentados nessa área são vazamento de informações.

Veja a seguir as dez práticas recomendadas pelo “Guia de Segurança para Funcionários” elaborada pelos especialistas da ESET na América Latina.

1. Siga as políticas de segurança
Toda companhia deve criar regras de como todos os empregados precisam lidar com a proteção das informações corporativas. As normas têm que ser escritas e muito bem explicadas no momento da contratação. Recomenda-se solicitar a assinatura de um contrato para o cumprimento dessas medidas.

2. Apoie-se nas ferramentas instaladas na máquina
As tecnologias são a base da segurança de informação das empresas. Assim, um funcionário cauteloso deve ficar atento aos alertas emitidos pelos antivírus, firewall, antispam entre outras ferramentas.

3. Proteja-se contra códigos maliciosos comuns
Atualmente, o malware – software malicioso – é um dos ataques mais comuns contra empresas e usuários. Apesar de nem sempre os profissionais terem ideia do impacto que essas pragas virtuais trazem para os negócios, elas podem representar o risco de perda de informações, de tempo e de dinheiro.

4. Evite cair no golpe da engenharia social
Essa ainda é uma forma bastante utilizada pelos os desenvolvedores de códigos maliciosos e criminosos digitais para enganar as pessoas e comprometer a segurança da empresa. Entre as táticas mais comuns estão os golpes por e-mail, com envio de links maliciosos que tentam remeter as pessoas para algum conteúdo interessante ou curioso.

5. Armazene e transporte dados corretamente
A perda ou furto de informações ocorre, muitas vezes, por um descuido dos próprios funcionários, a partir do desvio de dados transportados ou guardados em meios físicos ou digitais.

6. Crie travas para os dispositivos móveis corporativos
Recomenda-se ter uma senha de acesso aos equipamentos corporativos – como smartphones, notebooks ou tablets –, para evitar acessos não autorizados a informações. Além disso, deve-se tomar cuidado para só baixar aplicativos de locais confiáveis, contar com uma solução de segurança e criptografar a unidade de armazenamento dos dispositivos.

7.    Adote senhas fortes
Para que a senha seja considerada forte, ela deve ser fácil de lembrar e difícil de quebrar. É importante também não utilizar as mesmas senhas pessoais e corporativas, além de não guardá-las em lugares visíveis ou de fácil acesso.

8. Bloqueie links que não sejam confiáveis
Dessa maneira, minimiza-se a possibilidade de ser infectado com códigos maliciosos e ser vítima de phishing, roubo de informação pessoal ou financeira do usuário, por meio da falsificação de uma entidade confiável.

9. Cuide dos dados da empresa inclusive fora do âmbito corporativo
Quando se transfere documentos e papéis importantes para trabalhar fora do escritório, deve-se ter cuidado para evitar furto ou perda. Além do que, os documentos devem ser manipulados levando em conta o nível de confidencialidade requerido. No caso do uso de dispositivos USB ou memórias externas, é necessário realizar uma análise do produto com um antivírus no momento de sua inserção no equipamento.

10. Acesse rede Wi-Fi com segurança
Na hora de acessar Wi-Fi pública use Virtual Private Network (VPNs), que aumenta a segurança na transmissão dos dados. Caso seja necessária a utilização de dispositivos móveis de trabalho conectados a essas redes, recomenda-se não realizar conexões sensíveis para acessar e-mail corporativo, pois as informações podem ser expostas. No caso de uso de computador público, não se deve acessar arquivos confidenciais, evitando que fiquem disponíveis a outros usuários dessas máquinas.

quarta-feira, 20 de junho de 2012

Diferenças entre SO Móveis

Na semana  passada mais um concorrente de peso chegou para brigar de igual para igual com  com iPhones e Androids, foi o novo Sistema Operacional da Microsoft denominado Windows Phone.
Existem diferenças significativas entre o Windows Phone e seus concorrentes quando o assunto é a Interface . Portanto a briga vai ser boa...e espero que nós consumidores possamos sair ganhando. Segue abaixo um link com um vídeo interessante mostrando prós e contra de cada Sistema Operacional Móvel.


  Diferenças entre SO Móveis

Fonte: Olhar Digital

quinta-feira, 14 de junho de 2012

Compartilhamento da Internet (Hotspot)


Achei interessante o que o programa Connectify pode fazer em relação ao compartilhamento da Internet, tal qual acontece em Hotspot como Hotéis e Cafés, pois com este programa podemos criar nossa própria rede sem fios através de conexão 3G ou via cabo

Exemplo: Se você possui internet a cabo (Velox, GVT etc...) e instalar e configurar o Connectify, pode compartilhar a internet com o seu iPad ou Celular.

Obs.:  O programa está em fase de testes (Beta) e é gratuito para o uso.