Artigo Clube Delphi 77 - Metadados no IB/FB

Neste artigo veremos como construir, utilizando o Delphi 7, uma ferramenta para criação de diagramas de ER (Entidade e Relacionamento) através da engenharia reversa das tabelas e views de bancos de dados InterBase e/ou Firebird.

Esse artigo faz parte da revista Clube Delphi Edição 77. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler esse artigo em PDF.

IB/FB

Metadados no IB/FB

 

Neste artigo veremos como construir, utilizando o Delphi 7, uma ferramenta para criação de diagramas de ER (Entidade e Relacionamento) através da engenharia reversa das tabelas e views de bancos de dados InterBase e/ou Firebird .

O principal objetivo é demonstrar diversas técnicas que podem ser utilizadas nas mais variadas situações vividas pelos desenvolvedores no dia a dia. O ERPlus, nome dado à ferramenta, terá como principais funcionalidades:

·Permitir a seleção do banco de dados IB/FB pelo usuário;

·Gerar o digrama ER contendo todas as tabelas e views selecionadas pelo usuário;

·Listar para cada tabela ou view todos os seus campos com os respectivos tipos;

·Identificar as colunas definidas como chave primária e estrangeira;

·Mostrar os relacionamentos entre as tabelas (Foreign Key);

·Salvar os digramas em um formato XML;

·Abrir os diagramas salvos a partir do arquivo XML gerado;

·Exclusão de uma tabela ou view do diagrama;

·Arrastar as tabelas ou views dentro da área do diagrama;

·Organização automática das tabelas e views contidas no diagrama.

 

Nota: Apesar de o aplicativo ter sido desenvolvido no Delphi 7, você pode compilá-lo sem problemas em qualquer outra versão do Delphi que possua suporte ao dbExpress, visto também que o mesmo não utiliza nenhum componente de terceiros.

 

Criando a aplicação

Crie uma nova aplicação no Delphi, altere o nome do formulário para “FrmPrincipal” e salve a unit como “untFrmPrincipal.pas”. Para o arquivo de projeto salve-o como “ERPlus.dpr”. Adicione alguns componentes visuais e não-visuais ao FrmPrincipal e configure-os como mostra a Figura 1.

 

Figura 1. Formulário principal da aplicação em tempo de design

 

Para o mmPrincipal (MainMenu) adicione os seguintes itens de menu:

·Diagrama

oNovo

oAbrir

oSalvar

oSalvar como

oFechar

·Banco de Dados

oConfigurar

·Tabelas

oSelecionar Tabelas

oApagar Tabela Selecionada

·Outros

oOrganizar Layout

oVisualizar Relacionamentos

oCaixa Sobre

·Sair

 

Você pode utilizar o imglPrincipal (ImageList) para adicionar alguns ícones para os itens do menu principal e para os botões da ToolBar. Todas as ações dos menus e botões ficarão centralizados em Actions no aclPrincipal (ActionList).

 

Nota: Por questões de espaço explicarei neste artigo apenas os principais métodos da aplicação. Para acompanhar o passo a passo, você poderá baixar o código-fonte completo do ERPlus a partir do link para download da revista.

 

Crie uma nova unit e salve-a como “untTabela.pas”. Para que possamos carregar o diagrama ER com as tabelas e views do banco de dados IB/FB, que será selecionado pelo usuário, vamos criar uma classe chamada “TTabela” na unit recém criada. Digite o código da Listagem 1 na unit.

 

Listagem 1. Criando a classe para acessar as tabelas e views do banco

unit untTabela;

 

interface

 

uses

  Classes, SysUtils, Graphics, Controls, ExtCtrls,

  ComCtrls;

 

type

 

  TTabela = class(TPanel)

private

FTabela: string;

FPnlTitulo: TPanel;

FLVCampos: TListView;

FChavesEstrangeiras : TStringList;

procedure EndDrag(Sender, Target: TObject;

X, Y: Integer);

procedure setTabela(const Value: string);

public

property Tabela: string read FTabela

write setTabela;

property PnlTitulo: TPanel read FPnlTitulo

write FPnlTitulo;

property Campos" [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados