Você está na página 1de 6

DBDESIGNER Dbdesigner uma ferramenta para projeto de banco de dados que integra a modelagem, projeto, implementao e manuteno em um mesmo

o ambiente. Desenvolvida pela empresa fabulous force database tools, atualmente encontra-se na verso 4 e est disponvel para download em( www.fabforce.net ou http://www.fabforce.net/dbdesigner4/) para plataformas Window e Linux. Dbdesigner direcionada para o desenvolvimento de banco de dados com o SGBD mySQL. Ao utilizar a ferramenta DBdesigner, voc sempre trabalha com um modelo. Um modelo uma visualizao de uma meta-informao armazenada em uma base de dados (tabelas, relaes, ndices, etc). Dessa forma possvel definir e armazenar dados em tabelas diretamente no modelo. Voc pode criar e manter muitos modelos conforme a sua necessidade, contendo um nmero ilimitado de objetos. Quando se fala em objetos estamos nos referindo a tabelas, colunas, ndices, relaes entre tabelas e anotaes, dentre outros.

Algumas caractersticas do DBDesigner:


Alm de ser imbatvel no uso com o MySQL, tambm oferece suporte a outros bancos, como Oracle, MS SQL Server, SQLite, e outros que suportem acesso via ODBC; multi-plataforma, e software livre; Permite engenharia reversa, gerando o modelo a partir das tabelas do BD; Faz a sincronia no BD das alteraes realizadas no DER; A interface com o usurio muito bem elaborada, tornando o seu uso bastante simples; Salva os arquivos em XML; Gera relatrios em HTML; muito bem documentado.

Projetando o Banco de dados O projeto de um novo banco de dados d-se em duas fases: Modelagem conceitual. Nesta fase, construdo um modelo conceitual na forma de um diagrama entidade-relacionamento (der). Este modelo captura as necessidades da organizao em termos de armazenamento de dados de forma independente de implementao. Projeto lgico. Esta etapa objetiva transformar o modelo conceitual obtido na primeira fase em um modelo lgico. O modelo lgico define como o banco de dados ser implementado em um SGBD especfico. Vamos implementar a partir de agora o modelo conceitual de banco de dados da figura 1 para descrever algumas funcionalidades da ferramenta. O exemplo se basear no modelo conceitual de uma locadora de filmes (retirado do livro do prof. Dr. Carlos Alberto Heuser, intitulado projeto de banco de dados).

figura 1. Modelo conceitual de uma locadora.

CONHECENDO O DBDESIGNER A janela principal do DBDesigner se divide em cinco reas, como pode ser visto na figura a seguir.

Janela principal Na rea de trabalho so inseridas as tabelas e seus respectivos relacionamentos. A interface da ferramenta DBdesigner adota o layout padro de softwares atualmente utilizados, tornando sua utilizao muito fcil e intuitiva. A tools palette (paleta de ferramentas) contm os componentes mais utilizados na criao e manuteno das tabelas. O navigator & info (paleta de navegao) permite o controle da visualizao da rea de trabalho possibilitando navegar no diagrama. Os datatypes (paleta tipo de dados) mostram os tipos possveis de dados e o db Model (paleta de modelo) apresenta as tabelas com seus campos e os relacionamentos com outras tabelas, ou seja, permite a visualizao e definio de todos os objetos do modelo. Modelando tabelas e relacionamentos Tabelas so os componentes centrais no projeto de banco de dados relacionais. Relaes conectam diferentes tabelas, cada qual com a sua forma: um-para-um, um-para-muitos, muitos-para-muitos e especializaes/generalizaes, dentre outras. Para criar tabelas, selecione o boto nova tabela (new table) e clique na rea de desenho. Feito isto, uma nova tabela inserida e dado para ela o nome padro de table_ seguido do nmero de ocorrncia do objeto. Dando-se um duplo clique sobre a tabela criada, ser apresentada a janela da figura 1 onde podemos definir, entre outras coisas, o nome da tabela, tipo da tabela, e sobretudo os campos que a compem. Definindo os campos da tabela Para definirmos os campos, basta apenas selecionar colunm name (nome da coluna) e digitarmos o nome do campo. Em seguida, escolher seu tipo (datatype), definir se o campo ser obrigatrio ou opcional (nn), auto incrementado (al), dentre outros.

figura 1 - Janela de edio de tabelas. Depois de definirmos todas as tabelas conforme nosso modelo conceitual (figura 1), teremos o resultado apresentado na figura 2.

figura 2. Resultado da implementao do modelo conceitual utilizando DBdesigner.

Definindo os relacionamentos Seguindo nosso exemplo, vamos estabelecer o relacionamento entre as tabelas fita e cliente. Essa relao foi definida como sendo do tipo um-para-muitos (1,n), ou seja, um cliente pode tomar emprestado muitas fitas e uma fita emprestada a, obrigatoriamente, um e somente um cliente em um dado momento. Para definir as relaes entre as tabelas, selecione o boto apropriado na barra de ferramentas (new 1:n relation) e clique na tabela clientes, e em seguida na tabela fita. Note que existem duas opes para definirmos relacionamentos 1:n e 1:1: identificado ou no-identificado. A diferena entre elas que na opo identificado, a chave estrangeira criada na tabela apropriada ser definida, tambm, como chave primaria. j na opo no-identificada, a chave estrangeira no ser definida como chave primria. Essa definio caber ao projetista do banco. Veja o resultado destas aes na figura 2.

figura 2. definindo relacionamentos. Observe que a cardinalidade n substituda pelo smbolo * (asterisco) (ler nota 1) junto tabela cliente e, alm disso, adicionada a chave estrangeira (fk) tabela fita referente tabela cliente. Dessa forma, todo o processo de definio de chaves estrangeiras automatizado de forma muito simples. Dando um duplo clique sobre a relao, podemos verificar suas propriedades, conforme mostra a figura 3.

figura 3. janela de edio do relacionamento.

Depois de definirmos todos os relacionamentos, teremos o modelo apresentado na figura 4.

figura 4. resultado da modelagem. Quando temos um relacionamento de muitos-para-muitos (n:m), a ferramenta cria automaticamente uma tabela para implementar esse tipo de relao. Esse caso pode ser verificado na relao da tabela filme com a tabela ator.

Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=6840