O NeoMatrix Tech está de casa nova!

Você deverá ser redirecionado em 6 segundos. Se não, visite:
http://www.leonelfraga.com/neomatrixtech
e atualize seus favoritos.

Aviso IMPORTANTÍSSIMO!

Aviso aos navegantes:

O NeoMatrix Tech mudou de casa!!!

A partir de agora, acessem pelo novo endereço:

http://www.leonelfraga.com/neomatrixtech

Ué... mas é só o domínio mudou de lugar?

R: Na verdade, não é bem assim hehe. Este domínio que você acessa agora aponta para um blog hospedado no Blogger, enquanto no novo, aponta para um blog na plataforma Wordpress, hospedagem própria, muito mais rápida e com um layout mais agradável de ler ;)

Não vou fechar este domínio igual ao que eu fiz com o NM Light (que já está 100% na nova plataforma). Talvez beeeeeeem depois eu faça isso.

Todos os posts daqui se encontram lá, e novos posts serão colocados somente no novo endereço.
A única coisa que não consegui importar foram os comentários. Mas em breve vai ter um post contando sobre a epopéia que foi migrar o NeoMatrix Tech!

Somente vou fechar a área de comentários daqui. Caso queiram comentar, favor ver o post correspondente no "Novo NeoMatrix Tech" e comentem por lá. É bem melhor! (pena que os permalinks "amigáveis para SEO" não funcionam lá, dá erro 404 e não consigo fazer a configuração funcionar. E olha que eu já vi vários artigos falando desse assunto :( ).

Quem assina o feed, já está lendo o conteúdo do novo NeoMatrix Tech!

terça-feira, 24 de fevereiro de 2009

Simple PIM – Exemplo Nova Classe de Conexão – Parte 1

No post passado, falei sobre as modificações que foram feitas na minha Classe de Conexão para Múltiplos Bancos de Dados, descrevendo as novas propriedades e novos métodos.

Estas modificações foram feitas com a intenção de simplificar ainda mais a construção de aplicativos em .NET, principalmente Web Applications (que é o tipo de aplicação que faço com mais frequência). A versão anterior focava mais a parte de reaproveitamento de código para a execução das instruções SQL e conexão com Banco de dados proprieamente ditas.

O foco destas modificações é automatizar a atribuição das propriedades de uma classe na interface de usuário, além de melhorias na automação de construção de instruções SQL e afins.

Para demonstrar este novo “poder” da nova Classe de Conexão, construiremos um simples Personal Information Manager (PIM), mais conhecido como Agenda de Contatos, com interface Web e utilizando o banco de dados Firebird 2.0, e usaremos as rotinas da Classe de Conexão para fazer as operações necessárias.

Dividiremos a construção do Simple PIM nas seguintes postagens:

  • Introdução e Modelagem da Base de Dados (este post)
  • Estrutura da Aplicação e Construção da Biblioteca de Classes
  • Construção (Design e Codificação) da Interface Web
  • Conclusões

Esta aplicação não é nada se comparada a muitos downloads de PIM que temos Internet à fora, ela foi construída unicamente para fins didáticos, para demonstração dos novos métodos da nova Classe de Conexão, te dando uma base de como utilizá-la em seus projetos :-). Portanto, se acharem o design da interface “tosco” demais, não liguem… o importante aí é o código da aplicação e os conceitos que iremos utilizar ;-).

Após o break, vamos definir e analisar a estrutura de dados do Simple PIM.

Estrutura de Dados do Simple PIM

Nosso Personal Information Manager consistirá de um cadastro simples de dados pessoais, com múltiplos endereços e formas de contato. Para que isso seja possível, modelei a seguinte estrutura de tabelas:

img_diagrama_db

Como você pode ver, são 4 tabelas:

  • CONTATOS: Armazenas as informações básicas de cada contato;
  • ENDERECOS: Armazena os endereços de cada contato;
  • FORMA_CONTATO: Armazenas as formas de contato de cada pessoa (exemplos: telefone residencial, comercial, celular, msn, skype, etc)
  • TP_FORMA_CONTATO: Cadastro básico, armazena os tipos de forma de contato a ser utilizado pela tabela FORMA_CONTATO (ex: telefone residencial, comercial, etc).

Os campos ID de cada tabela são do tipo auto-incremento, sendo que o auto-incremento é implementado no Firebird com o auxílio de um generator e um trigger Before Insert.

Então temos, para cada tabela, um generator e um trigger associados, como no script abaixo, que demonstra esta estrutura para uma tabela:

   1: create generator GEN_CONTATO_ID;
   2:  
   3: ---
   4: ...
   5: ---
   6: CREATE TRIGGER AI_CONTATOS_ID FOR CONTATOS ACTIVE
   7: BEFORE INSERT POSITION 0
   8: AS
   9: BEGIN
  10:   IF (NEW.ID IS NULL) THEN
  11:       NEW.ID = GEN_ID(GEN_CONTATO_ID, 1);
  12: END
  13: ^

Caso o programa seja portado para o SQL Server, implementamos os campos auto-incremento com o atributo IDENTITY, não sendo necessária a construção de uma trigger para esta função.

Com isso, fechamos a parte do Banco de Dados do Simple PIM!

Caso você já queira ir estudando o que vai vir pela frente, faça o download do projeto completo:

Projeto de Exemplo da Classe de Conexão – Simple PIM (263 kB)

Aguarde que no próximo post a brincadeira começa de verdade!

0 comentários:


Postar um comentário

Para tornar este artigo ainda mais interessante, escreva suas críticas (desde que construtivas e sem ofenças), elogios, sugestões, complementos, dúvidas, etc, etc, etc!!!

  © Blogger templates ProBlogger Template by Ourblogtemplates.com 2008 - Editado e configurado por Leonel F.

Voltar ao TOPO