O documento descreve o uso da ferramenta DBDesigner para modelagem de dados, incluindo como criar entidades, relacionamentos, salvar e atualizar modelos, além de realizar engenharia reversa a partir de um banco de dados existente.
1. Aula 03 - Ferramentas para Modelagem de Dados
Sumário
Descrição das ferramentas
A Ferramenta DBDesigner
Usando o DBDesigner
Barra de Ferramentas e Menus
Criando um modelo
Inserindo uma entidade no modelo
Inserindo uma entidade no modelo (cont.)
Criando um relacionamento entre entidades
Salvando o modelo criado
Atualizando o Banco de Dados
Engenharia Reversa
Aula 03 - Ferramentas para Modelagem de Dados
Descrição das ferramentas
Existem diversas ferramentas, comerciais e disponibilizadas no modelo (código aberto),open source
disponíveis para auxiliar na modelagem de dados de sistemas. Entre as diferentes ferramentas temos o
ERWIN da CA - Computer Associates (http://www.ca.com/us/products/product.aspx?id=260) ou o Microsoft
Visio da Microsoft (http://office.microsoft.com/en-us/visio/FX100487861033.aspx). Essas ferramentas possuem
recursos que auxiliam na construção dos diagramas e em tarefas relacionadas à atualização das estruturas
físicas dos bancos de dados. Entre as funcionalidades geralmente encontradas temos:
interface gráfica padrão Windows;
permite trabalhar com diferentes tipos de notações (ER, IDEF1X, ER-Chen, etc.);
exporta os diagramas gerados em formatos gráficos padrão como GIF, JPEG ou BMP;
permite trabalhar no modelo lógico ou físico;
permite conexão com diferentes SGBDs como MS SQL Server, Oracle, MySQL, etc.;
implementa o recurso de engenharia reversa, onde à partir de um banco de dados existente é gerado de
forma automática o diagrama do modelo ER.
Aula 03 - Ferramentas para Modelagem de Dados
2. A Ferramenta DBDesigner
O DBDesigner é uma ferramenta disponibilizada pelo grupo fabforce - Fabulous Force Database Tools
(http://www.fabforce.net) na forma de código aberto ( ) para os ambientes Windows e Linux. Noopen source
modelo , não existem custos para sua utilização, além do código fonte do programa estaropen source
disponível (aberto) para qualquer usuário, permitindo que possam ser adicionadas novas funcionalidades
ao produto, correções de eventuais defeitos, etc.
Figura 4 - Site fabforce.net
Aula 03 - Ferramentas para Modelagem de Dados
Usando o DBDesigner
A versão do DBDesigner que será utilizada nesse curso é a versão 4. Essa versão está disponível para
gratuito em http://www.fabforce.net/downloads.php, e, entre as vantagens oferecidasdownload
destacam-se:
possui versão para MS Windows e Linux;
permite a criação do modelo físico do banco de dados à partir do modelo ER (lógico);
importa diagramas do CA-Erwin (.ER1);
salva os diagramas no formato XML (eXtensible Markup Language - Linguagem de marcação
estendida);
exporta os diagramas gerados em formatos gráficos padrão como GIF, JPEG ou BMP;
permite trabalhar no modelo lógico ou físico;
permite conexão com diferentes SGBDs como MS SQL Server, Oracle, MySQL, etc.;
possui uma interface para teste de comandos SQL;
implementa o recurso de engenharia reversa.
3. Figura 5 - Tela Principal do DBDesigner
Área Descrição
Barra de Ferramentas Acesso através de ícones as principais funções e elementos para desenho dos
modelos
Menu Principal Acesso através de opções de menu pop-up as principais funções e elementos
para desenho dos modelos
Painel para Design do Modelo Área para construção do Modelo ER
Painel para Navegação Rápida Permite a navegação rápida no modelo através de uma visualização completa e
reduzida (menor escala)
Área de tipos de dados Apresenta os tipos de dados disponíveis para uso na definição física das tabelas
do banco de dados
Área de objetos do BD Apresenta a listagem com todos os objetos (tabelas e views) do banco de dados
que está sendo modelado
Linha de Status Apresenta informações gerais sobre o modelo e a conexão com o banco de
dados
Tabela 3 - Descrição das áreas da tela do DBDesginer
Aula 03 - Ferramentas para Modelagem de Dados
Barra de Ferramentas e Menus
4. A barra de ferramentas do DBDesigner possui os seguintes componentes:
Componente Descrição
Altera entre o modo de design e o modo de criação e execução de comandos
(“queries”)
Ponteiro para selecionar um objeto no modelo ou item na barra de ferramentas
Move um objeto na área de design
Altera o tamanho de um objeto
Exclui o objeto selecionado
Alinha os objetos na área de design
Movimenta todos os objetos que compõem o modelo
Ferramenta para aumentar ou diminuir a visualização (Zoom)
Cria uma região com os objetos selecionados
Cria uma nova tabela
Cria um relacionamento (1:N) não mandatório
Cria um relacionamento (1:1) não mandatório
Cria um relacionamento (M:N)
Cria uma generalização
Cria um relacionamento (1:1) mandatório
Cria um relacionamento (1:N) mandatório
Insere um bloco de texto
Insere uma figura
Sincroniza (atualiza) o banco de dados conectado com o modelo
Gera scripts dos objetos do modelo para atualização do banco de dados
Tabela 4 - Descrição da barra de ferramentas do DBDesigner
5. Aula 03 - Ferramentas para Modelagem de
Dados
Criando um modelo
Para criar um novo modelo acesse no menu a opção , será criada então uma novaFile New
janela com a área de design em branco para a criação do novo modelo.
Figura 6 - Menu para a criação de um novo modelo
Aula 03 - Ferramentas para Modelagem de
Dados
Inserindo uma entidade no modelo
Para inserir uma entidade (tabela) no modelo criado, na barra de ferramentas clique no botão
, o cursor apresentará o formato , aponte então para um local na área de design e
clique com o botão esquerdo do mouse. Aparecerá na tela a figura indicando a criação de
uma nova entidade. Dê um duplo clique sobre a entidade criada para informar seu nome e
atributos.
6. Figura 7 - Janela para criação de nova tabela
Aula 03 - Ferramentas para Modelagem de
Dados
Inserindo uma entidade no modelo (cont.)
Informe o nome da tabela no campo .Para criar os atributos, informe o nomeTable Name
no campo e em seguida tecle <Enter> para criar um novo atributo. No finalColumn Name
clique no botão para confirmar os dados informados.
Para determinar o tipo de dado do atributo clique na área de tipos de dados sobre o tipo
desejado e arraste sobre o campo na janela de definição de atributos. ADatatype
determinação do tipo de dados faz parte do projeto físico, sendo que cada SGBD (Oracle,
MS SQL Server, MySQL, etc.) possui seu conjunto de tipos de dados específico. No
projeto lógico, que será apresentado nesse curso, o tipo de dados não precisa ser
determinado.
Como padrão, o primeiro campo criado será identificado como sendo a chave primária (PK
- ) da entidade que é indicada pelo símbolo em frente ao nome do atributo.Primary Key
Para alterar essa atribuição, dê um duplo clique sobre o campo para que ele deixe de ser
considerado a chave primária, o que é indicado pelo símbolo .
7. Figura 8 - Definição dos atributos de uma tabela e dos tipos de dados
Aula 03 - Ferramentas para Modelagem
de Dados
Criando um relacionamento entre entidades
Para criar um relacionamento entre entidades, primeiro deve ser definido o tipo
(mandatório ou opcional) e a cardinalidade do relacionamento (1:1,1:N,M:N) pois
existem ícones específicos na barra de ferramentas para cada um deles.
Como exemplo, para criar um relacionamento opcional de cardinalidade 1:N entre a
entidade Produtos e a entidades Grupos, clique na barra de ferramentas no ícone
, o cursor irá assumir o formato , em seguida clique sobre a tabela Grupos que
contém a chave primária, e finalmente clique sobre a tabela Produtos para que seja
criada a chave estrangeira (FK - ). Note que o atributo correspondente aForeign Key
FK será identificado pelo símbolo e após o seu nome a notação (FK).
8. Figura 9 - Criação de relacionamento entre entidades
Aula 03 - Ferramentas para Modelagem
de Dados
Salvando o modelo criado
Para salvar o modelo acesse no menu a opção , se o modelo não tiverFile Save
sido salvo antes será solicitado o caminho ( ) e o nome do arquivo.path
Como padrão, os modelos criados pelo DBDesigner são salvos no formato
XML, porém através da opção Export do menu podem também ser salvos
como imagem ou ainda salvos em uma tabela no banco de dados através
da opção Save in Database...
9. Figura 10 - Salvando o modelo criado
Aula 03 - Ferramentas para
Modelagem de Dados
Atualizando o Banco de Dados
O DBDesigner permite que alterações efetuadas em um modelo sejam
atualizadas em um banco de dados. Para que um banco de dados seja
atualizado de forma automática é necessário primeiro que seja estabelecida
uma conexão, isso pode ser feito através da opção /Database Connect to
existente no menu (figura 10), informando os dados (servidor, usuário,Database
senha, etc.) para conexão. A atualização pode ser feita de forma automática
através do botão na barra de ferramentas, ou através da geração de um
arquivo ( ) com comandos SQL clicando-se no botãoscript .
10. Figura 11 - Conectando com um Banco de Dados
Aula 03 - Ferramentas para
Modelagem de Dados
Engenharia Reversa
Engenharia reversa é o recurso que permite a geração de um modelo a partir
de um banco de dados já existente. O DBDesginer, assim como outras
ferramentas, oferece esse recurso através da opção /Database Reverse
do menu. Assim como na atualização automática, naEngineering
engenharia reversa é necessária que seja estabelecida uma conexão com o
banco de dados desejado informando os dados (servidor, usuário, senha,
etc.) para conexão. Uma vez conectado com o banco de dados, podem ser
selecionados os objetos do banco que serão gerados no modelo.
11. Figura 12 - Seleção de objetos para Engenharia Reversa