DBDesigner é uma ferramenta para projeto de banco de dados que integra a modelagem, projeto, implementação e manutenção em um mesmo ambiente. Desenvolvida pela empresa Fabulous Force Database Tools, atualmente encontra-se na versão 4 e está disponível para download em www.fabforce.net para plataformas Window e Linux (disponibilizada sob a licença GLP).
DBDesigner é direcionada para o desenvolvimento de banco de dados com o SGBD MySQL, portanto, para utilizarmos todas as funcionalidades desta ferramenta, faz-se necessário a instalação prévia do MySQL. Assumiremos aqui que o MySQL já está instalado e ativo em seu computador. Maiores informações sobre o MySQL podem ser encontradas em www.mysql.com.
Ao utilizar a ferramenta DBDesigner, você sempre trabalha com um modelo. Um modelo é uma visualização de uma meta-informação armazenada em uma base de dados (tabelas, relações, índices, etc). Dessa forma é possível definir e armazenar dados em tabelas diretamente no modelo.
Você pode criar e manter muitos modelos conforme a sua necessidade, contendo um número ilimitado de objetos. Quando se fala em objetos estamos nos referindo a tabelas, colunas, índices, relações entre tabelas e anotações, dentre outros.
Projetando o banco de dados
O projeto de um novo banco de dados dá-se em duas fases:
Modelagem conceitual. Nesta fase, é construído um modelo conceitual na forma de um diagrama entidade-relacionamento (DER). Este modelo captura as necessidades da organização em termos de armazenamento de dados de forma independente de implementação.
Projeto lógico. Esta etapa objetiva transformar o modelo conceitual obtido na primeira fase em um modelo lógico. O modelo lógico define como o banco de dados será implementado em um SGBD específico.
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.
Começando com o DBDesigner
A interface da ferramenta DBDesigner adota o layout padrão de softwares atualmente utilizados, tornando sua utilização muito fácil e intuitiva. Como pode ser visualizado na Figura 2, existem quatro principais áreas de trabalho:
Figura 2. Interface gráfica da ferramenta DBDesigner.
Modelando tabelas e relacionamentos
Tabelas são os componentes centrais no projeto de banco de dados relacionais. Relações conectam diferentes tabelas, cada qual com a sua forma: um-para-um, um-para-muitos, muitos-para-muitos e especializações/generalizações, dentre outras.
Para criar tabelas, selecione o botão Nova Tabela (New Table) e clique na área de desenho. Feito isto, uma nova tabela é inserida e é dado para ela o nome padrão de Table_ seguido do número de ocorrência do objeto.
Dando-se um duplo clique sobre a tabela criada, será apresentada a janela da Figura 3 onde podemos definir, entre outras coisas, o nome da tabela, tipo da tabela, e sobretudo os campos que a compõem.
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á obrigatório ou opcional (NN), auto incrementado (Al), dentre outros.
Figura 3. Janela de edição de tabelas.
Depois de definirmos todas as tabelas conforme nosso modelo conceitual (Figura 1), teremos o resultado apresentado na Figura 4.
Figura 4. Resultado da implementação do modelo conceitual utilizando DBDesigner.
Definindo os relacionamentos
Seguindo nosso exemplo, vamos estabelecer o relacionamento entre as tabelas FITA e CLIENTE. Essa relação 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 relações entre as tabelas, selecione o botão apropriado na barra de ferramentas (New 1:n Relation) e clique na tabela CLIENTES, e em seguida na tabela FITA. Note que existem duas opções para definirmos relacionamentos 1:N e 1:1: identificado ou não-identificado. A diferença entre elas é que na opção identificado, a chave estrangeira criada na tabela apropriada será definida, também, como chave primaria. Já na opção não-identificada, a chave estrangeira não será definida como chave primária. Essa definição caberá ao projetista do banco. Veja o resultado destas ações na Figura 5.
Figura 5. Definindo relacionamentos.
Observe que a cardinalidade N é substituída pelo símbolo * (asterisco) (ler Nota 1) junto à tabela CLIENTE e, além disso, é adicionada a chave estrangeira (FK) à tabela FITA referente à tabela CLIENTE. Dessa forma, todo o processo de definição de chaves estrangeiras é automatizado de forma muito simples.
Dando um duplo clique sobre a relação, podemos verificar suas propriedades, conforme mostra a Figura 6.
Figura 6. Janela de edição do relacionamento.
Nota 1. Configurando a notação utilizada.
Podemos escolher entre várias notações na ferramenta DBDesigner. Para isso, vá ao menu Display | Notation e escolha a notação desejada. Escolhendo, por exemplo, a notação Crows Foot (notação de James Martin sob a ótica de engenharia de informação, também conhecida como “pé-de-galinha”), todo o modelo será redefino. Veja o resultado dessa escolha na Figura 7. Observe que a cardinalidade N foi substituída pelo símbolo apropriado que ficou junto à tabela FITA.
Figura 7. Notação.
Depois de definirmos todos os relacionamentos, teremos o modelo apresentado na Figura 8.
Figura 8. Resultado da modelagem.
Perceba que quando temos um relacionamento de muitos-para-muitos (N:M), a ferramenta cria automaticamente uma tabela para implementar esse tipo de relação. Esse caso pode ser verificado na relação da tabela FILME com a tabela ATOR.
Leia mais em: devmedia
Projeto lógico. Esta etapa objetiva transformar o modelo conceitual obtido na primeira fase em um modelo lógico. O modelo lógico define como o banco de dados será implementado em um SGBD específico.
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.
Começando com o DBDesigner
A interface da ferramenta DBDesigner adota o layout padrão de softwares atualmente utilizados, tornando sua utilização muito fácil e intuitiva. Como pode ser visualizado na Figura 2, existem quatro principais áreas de trabalho:
- a paleta de ferramentas (Palete Tools): contendo as principais funcionalidades da ferramenta;
- a paleta de navegação (Palete Navigation & Info): que permite a visualização, zoom e navegação de uma determinada região do modelo;
- a paleta de tipos de dados (Palete Datatypes): que permite a visualização e definição de vários tipos de dados especificados para os campos das tabelas;
- a paleta do modelo (Palete Model): que permite a visualização e definição de todos os objetos do modelo (tabelas, índices, relações, etc).
Figura 2. Interface gráfica da ferramenta DBDesigner.
Modelando tabelas e relacionamentos
Tabelas são os componentes centrais no projeto de banco de dados relacionais. Relações conectam diferentes tabelas, cada qual com a sua forma: um-para-um, um-para-muitos, muitos-para-muitos e especializações/generalizações, dentre outras.
Para criar tabelas, selecione o botão Nova Tabela (New Table) e clique na área de desenho. Feito isto, uma nova tabela é inserida e é dado para ela o nome padrão de Table_ seguido do número de ocorrência do objeto.
Dando-se um duplo clique sobre a tabela criada, será apresentada a janela da Figura 3 onde podemos definir, entre outras coisas, o nome da tabela, tipo da tabela, e sobretudo os campos que a compõem.
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á obrigatório ou opcional (NN), auto incrementado (Al), dentre outros.
Figura 3. Janela de edição de tabelas.
Depois de definirmos todas as tabelas conforme nosso modelo conceitual (Figura 1), teremos o resultado apresentado na Figura 4.
Figura 4. Resultado da implementação do modelo conceitual utilizando DBDesigner.
Definindo os relacionamentos
Seguindo nosso exemplo, vamos estabelecer o relacionamento entre as tabelas FITA e CLIENTE. Essa relação 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 relações entre as tabelas, selecione o botão apropriado na barra de ferramentas (New 1:n Relation) e clique na tabela CLIENTES, e em seguida na tabela FITA. Note que existem duas opções para definirmos relacionamentos 1:N e 1:1: identificado ou não-identificado. A diferença entre elas é que na opção identificado, a chave estrangeira criada na tabela apropriada será definida, também, como chave primaria. Já na opção não-identificada, a chave estrangeira não será definida como chave primária. Essa definição caberá ao projetista do banco. Veja o resultado destas ações na Figura 5.
Figura 5. Definindo relacionamentos.
Observe que a cardinalidade N é substituída pelo símbolo * (asterisco) (ler Nota 1) junto à tabela CLIENTE e, além disso, é adicionada a chave estrangeira (FK) à tabela FITA referente à tabela CLIENTE. Dessa forma, todo o processo de definição de chaves estrangeiras é automatizado de forma muito simples.
Dando um duplo clique sobre a relação, podemos verificar suas propriedades, conforme mostra a Figura 6.
Figura 6. Janela de edição do relacionamento.
Nota 1. Configurando a notação utilizada.
Podemos escolher entre várias notações na ferramenta DBDesigner. Para isso, vá ao menu Display | Notation e escolha a notação desejada. Escolhendo, por exemplo, a notação Crows Foot (notação de James Martin sob a ótica de engenharia de informação, também conhecida como “pé-de-galinha”), todo o modelo será redefino. Veja o resultado dessa escolha na Figura 7. Observe que a cardinalidade N foi substituída pelo símbolo apropriado que ficou junto à tabela FITA.
Depois de definirmos todos os relacionamentos, teremos o modelo apresentado na Figura 8.
Figura 8. Resultado da modelagem.
Perceba que quando temos um relacionamento de muitos-para-muitos (N:M), a ferramenta cria automaticamente uma tabela para implementar esse tipo de relação. Esse caso pode ser verificado na relação da tabela FILME com a tabela ATOR.
Leia mais em: devmedia
Nenhum comentário:
Postar um comentário