Mentor de Ferramentas: Projetando e Modelando Bancos de Dados Utilizando o Rational Rose Data Modeler
Este mentor de ferramenta descreve a criação de um modelo de dados com o Rational Rose Data Modeler. Além disso, esse mentor de ferramenta contém informações sobre a geração de um novo DDL ou esquema do banco de dados, e como reverter a engenharia de um banco de dados para criar um modelo de dados.
Ferramenta: Rational Rose
Relacionamentos
Elementos Relacionados
Descrição Principal

Visão Geral

Os recursos do Rational Rose Data Modeler permitem que o designer de banco de dados e o desenvolvedor de software desenvolvam o aplicativo e o design de banco de dados utilizando a mesma ferramenta. Como um designer ou desenvolvedor de banco de dados, você pode utilizar o Rational Rose Data Modeler para modelar e projetar bancos de dados, e para integrar o aplicativo e o banco de dados. 

O Rational Rose Data Modeler utiliza ou cria três tipos de modelo: um modelo de objeto, um modelo de dados e um modelo opcional. Um modelo de objeto representa classes, seus comportamentos e os relacionamentos entre as classes. Geralmente, o modelo de "objeto" do Rational Rose Data Modeler corresponde ao produto de trabalho Modelo de Design do RUP. O diagrama de classe do Rose representa uma visualização do modelo de objeto. Um modelo de objeto representa a estrutura do banco de dados, conforme implementado pela empresa. O modelo de armazenamento de dados opcional representa a estrutura de armazenamento físico do banco de dados.  Geralmente, o "Modelo de Dados" e o "Modelo de Armazenamento de Dados" do Rational Rose Data Modeler correspondem ao Produto de Trabalho Modelo de Dados do RUP.

É possível criar um modelo do design físico do banco de dados, transformando as classes persistentes do modelo de objeto em tabelas de um modelo de dados.  As classes persistentes devem ser designadas a um componente e estar localizadas no mesmo pacote lógico.  Outra forma de criar um modelo de design de banco de dados físico é reverter a engenharia no esquema do banco de dados existente ou script do DDL.

Utilizando as opções de transformação do Rose Data Modeler, é possível integrar designs de aplicativo e de banco de dados. As opções de transformação mapeiam os elementos contidos em um modelo de objeto para criar um modelo de dados, ou transformam elementos de um modelo de dados para criar um modelo de objeto. Você deve entender os conceitos de análise e design orientados por objeto (OOAD, object-oriented analysis and design) e a linguagem de modelagem unificada (UML) para criar um modelo de objeto. É necessário conhecer o design de banco de dados relacional para criar um modelo de dados. O Rose Data Modeler utiliza a terminologia do banco de dados e os estereótipos de UML para representar elementos do banco de dados.
 

Etapas da Ferramenta

  1. Desenvolver Modelo de Dados Lógico (Opcional)
  2. Desenvolver Design de Banco de Dados Físico
  3. Revisar os Resultados

Além das etapas descritas anteriormente, esse mentor de ferramenta também contém informações sobre os seguintes tópicos adicionais relacionados à criação e gerenciamento do Modelo de Dados no Rational Rose.

Consulte a seção  Ícone de manual de ajuda Introdução dos tópicos da Ajuda on-line do Rose Data Modeler para obter uma visão geral de como projetar e modelar bancos de dados utilizando o Rational Rose Data Modeler. 

1. Desenvolver Modelo de Dados Lógico (Opcional)

Alguns projetos podem precisar criar um modelo "lógico" idealizado do design de banco de dados que captura uma visualização independente do aplicativo das entidades de dados lógicos principais e seus relacionamentos.  Esse "Modelo de Dados Lógicos" podem ser considerados como um tipo de "análise" de modelo semelhante ao opcional Produto de Trabalho: Modelo de Análise que pode ser utilizado no desenvolvimento do design do aplicativo.  Observe que o Modelo de Dados Lógicos está incluso no Produto de Trabalho: Modelo de Dados, e não é considerado um produto de trabalho separado do RUP. 

O Modelo de Dados Lógico pode ser criado utilizando os recursos do Rational Rose Data Modeler para construção de um novo modelo de dados utilizando Diagramas do Modelo de Dados. No Rational Rose Data Modeler, o Modelo de Dados Lógicos será colocado em um pacote de esquemas separado na Visualização Lógica do Rational Rose.  Consulte os seguintes tópicos da Ajuda on-line para obter informações sobre a construção de um Modelo de Dados:

  • ícone de manual de ajuda Construindo um Modelo de Dados
  • ícone de manual de ajuda Criar um Esquema
  • ícone de manual de ajuda Trabalhando com Diagramas do Modelo de Dados.

O desenvolvimento de um Modelo de Dados Lógico idealizado é opcional com base nas necessidades específicas do projeto.  Nos projetos, é possível optar por desenvolver um modelo de dados com o uso de recursos de transformação de Objeto em Tabela do Rational Rose Data Modeler, em vez de construir o modelo independentemente. 

2. Desenvolver Design de Banco de Dados Físico

O design de banco de dados físico é o designs de tabela detalhada do banco de dados criado utilizando os Diagramas do Modelo de Dados na Visualização Lógica.  O design de banco de dados físico pode ser representado como um "Modelo de Dados Físicos" , que também inclui elementos do modelo para visualizações, índices, restrições, procedimentos armazenados e outros elementos do banco de dados, conforme descrito no tópico ícone de manual de ajuda Elementos do Modelo de Dados da Ajuda on-line.  Esse Modelo de Dados Físicos não é considerado um produto de trabalho separado, e, sim, faz parte do Produto de Trabalho: Modelo de Dados, e pode estar contido em um ou mais pacotes de esquemas na Visualização Lógica do Rational Rose. 

Os elementos do modelo de design de banco de dados físico inicial podem ser criados inicialmente de uma das seguintes formas:

  • Utilize os recursos de transformação de Objeto em Tabela do Rational Rose Data Modeler para criar um conjunto inicial de tabelas.
  • Reverter engenharia de um esquema do banco de dados existente ou um script DDL (Consulte  ícone de manual de ajuda Reverter Engenharia de um Banco de Dados ou um Arquivo DDL)
  • Desenvolva um modelo de dados físicos inicial com a evolução do design de banco de dados lógico contido em um modelo de dados lógico opcional.

As etapas restantes nesse mentor de ferramenta discutem como iniciar o design de banco de dados físico utilizando o processo de transformação de Objeto em Tabela. Consulte o tópico da Ajuda on-line ícone de manual de ajuda Transformando um Modelo de Objeto em um Modelo de Dados para obter informações sobre pré-requisitos para a utilização do recurso de transformação de Objeto em Tabela.

Criar Domínios

Crie Domínios para implementar os tipos de dados definidos pelo usuário que possam ser utilizados em todo o modelo de dados para impor os padrões de design de banco de dados. Consulte o seguinte tópico da ajuda on-line,  ícone de manual de ajuda Trabalhando com Domínios para obter uma visão geral do que são domínios e de como são utilizados .  Quando um pacote de esquemas no Modelo de Dados é criado pela primeira vez, o Rational Rose Data Modeler também cria um pacote de Tipos de Dados Globais na Visualização Lógica utilizada para armazenar pacotes de domínios e domínios. Consulte os tópicos da ajuda on-line do Rational Rose Data Modeler para obter mais detalhes sobre a criação de Domínios.

  • ícone de manual de ajuda Domínios
  • ícone de manual de ajuda Criar um Pacote de Domínios
  • ícone de manual de ajuda Criar um Domínio

Criar Elementos de Design de Banco de Dados Físico Inicial

Utilizando o Rational Rose Data Modeler, é possível transformar classes e seus relacionamentos no modelo de objeto para criar tabelas e relacionamentos do modelo de dados no modelo de dados. Consulte o tópico da Ajuda on-line do Rational Rose Data Modeler ícone de manual de ajuda Transformando Mapeamento de Elementos do Modelo de Objeto para obter uma descrição detalhada de como os elementos do modelo de objeto são transformados em elementos do Modelo de Dados.

 Antes de transformar um modelo de objeto em um modelo de dados:

  • Configure o estado das classes como persistentes.
  • Designe classes a um componente que utiliza as linguagens Java, Visual Basic ou Analysis.
  • Agrupe as classes no mesmo pacote lógico.

As etapas específicas de transformação estão descritas no tópico da Ajuda on-line do Rational Rose Data Modeler ícone de manual de ajuda Transformar um Modelo de Objeto em um Modelo de Dados. Os elementos do modelo de objeto transformam-se em elementos do modelo de dados utilizando mapeamentos de tipo de dados específicos ao DBMS selecionado. Quando a transformação é concluída, é possível criar Diagramas do Modelo de Dados para começar a trabalhar com o desenvolvimento do design de banco de dados físico detalhado.  Consulte ícone de manual de ajuda Cria Diagramas do Modelo de Dados para obter mais informações.

É possível modificar as tabelas e/ou criar tabelas e relacionamentos adicionais no Modelo de Dados. Consulte os tópicos a seguir para obter mais informações sobre a criação de tabelas e relacionamentos:

  • ícone de manual de ajuda Tabelas e ícone de manual de ajuda Criar Tabelas
  • ícone de manual de ajuda Colunas e ícone de manual de ajuda Criar uma Coluna
  • ícone de manual de ajuda Relacionamentos e ícone de manual de ajuda Criar Relacionamentos

Definir Tabelas de Referência

Crie tabelas de referência, conforme necessário, para gerenciar itens de dados estáticos no banco de dados.  Consulte a lista de tópicos de tabelas e relacionamentos na etapa anterior deste mentor de ferramenta para obter informações sobre a criação de tabelas e relacionamentos.

Criar Chave Primária e Restrições de Chave Exclusiva

Defina e restrições de chave primária e restrições de chave exclusiva para identificar as linhas de informações em uma tabela.  Para obter informações sobre como criar e utilizar restrições de chave primária e exclusiva, consulte os seguintes tópicos da ajuda on-line do Rose Data Modeler:

  • ícone de manual de ajuda Restrições Principais
  • ícone de manual de ajuda Criar uma Restrição Principal
  • ícone de manual de ajuda Criar Chaves (Primária e Exclusiva)

Definir Regras de Cumprimento de Integridade de Dados e Referencial

Definindo regras de integridade referencial para garantir que as atualizações do banco de dados sejam gerenciadas corretamente.  O Rational Rose Data Modeler suporta os acionadores de integridade referencial declarativa (DRI) e integridade referencial gerada pelo sistema (RI).  Consulte os seguintes tópicos da Ajuda on-line para obter informações sobre

  • ícone de manual de ajuda Integridade Referencial
  • ícone de manual de ajuda Definir Integridade Referencial

Aplique restrições de verificação para impor regras de negócios no Modelo de Dados.  O Rational Rose Data Modeler permite verificar restrições a serem designadas a uma coluna, um domínio ou uma tabela.  Os seguintes tópicos da ajuda on-line fornecem mais informações sobre a criação e utilização de restrições de verificação.

  • ícone de manual de ajuda Verificar Restrições
  • ícone de manual de ajuda Criar Restrições de Verificação
  • ícone de manual de ajuda Aplicar Regras de Negócios

As restrições de chave estrangeira são outro aspecto importante da imposição de integridade de dados e referencial.  As restrições de chave estrangeira são obtidas com a criação de um relacionamento entre tabelas.  Quando um relacionamento é criado, a chave primária da tabela-pai é migrada para a tabela-filho como a chave estrangeira. Consulte os seguintes tópicos da ajuda on-line para obter mais informações sobre a criação de restrições de chave estrangeira ícone de manual de ajuda Restrições de Chave e ícone de manual de ajuda Migrando Chaves.

Desnormalizar Design de Banco de Dados para Otimizar o Desempenho

Ocasionalmente, pode ser desejável, para aprimorar o desempenho, armazenar objetos recuperados na mesma tabela.  Essa técnica também é chamada de desnormalização.  Para representar isso no Modelo de Dados, combine as colunas exclusivas das duas tabelas em uma e remova a segunda tabela.  Para obter mais informações sobre desnormalização e otimização, consulte os seguintes tópicos da Ajuda on-line do Rational Rose Data Modeler:

  • ícone de manual de ajuda Desnormalizar o Modelo de Dados
  • ícone de manual de ajuda Otimizando o Modelo de Dados

Otimizar Acesso a Dados

Uma técnica de otimização adicional é utilizar o índice da coluna para acessar dados em tabelas de forma mais eficaz. Consulte os tópicos a seguir para obter informações sobre a criação de índices no Modelo de Dados.

  • ícone de manual de ajuda Índices
  • ícone de manual de ajuda Criar um Índice
  • ícone de manual de ajuda Otimizando o Modelo de Dados

Além disso, as verificações podem ser definidas para aprimorar o acesso a dados.  Elas podem ser utilizadas para criar uma tabela virtual que consiste em colunas de uma ou mais tabelas e/ou outras visualizações acessadas com freqüência pelo aplicativo. Os seguintes tópicos da ajuda on-line do Rational Rose Data Modeler contêm informações detalhadas sobre a criação de visualizações e os relacionamentos entre as visualizações e as tabelas do modelo.

  • ícone de manual de ajuda Visualizações e ícone de manual de ajuda Criar Visualizações
  • ícone de manual de ajuda Trabalhando com Visualizações
  • ícone de manual de ajuda Dependências e  ícone de manual de ajuda Trabalhando com Dependências de Visualização

Definir Características de Armazenamento

Você modela o armazenamento físico de dados criando um modelo de armazenamento de dados. Um modelo de armazenamento de dados consiste em um banco de dados que contém um ou mais espaços de tabelas.  Esse "modelo de armazenamento de dados" é considerado parte do Modelo de Dados Físicos, incluso no Produto de Trabalho: Modelo de Dados no RUP, e não é um produto de trabalho separado.  O modelo de armazenamento de dados está contido na Visualização de Componente do Modelo geral do Rose.

Um espaço de tabelas é um elemento de armazenamento lógico que armazena os dados da tabela. E possível designar uma ou mais tabelas ao espaço de tabelas e distribuir os dados da tabela entre um ou mais contêineres. Um contêiner é um dispositivo de armazenamento físico, como um disco, um arquivo ou um diretório. Cada contêiner é segmentado em extensões ou página e é medido em kilobytes.  Consulte a lista de tópicos nas seções da Ajuda on-line do Rose Data Modeler para obter mais informações sobre bancos de dados e espaços de tabelas.

  • ícone de manual de ajuda Modelando Armazenamento de Dados
  • ícone de manual de ajuda Construindo um Modelo de Armazenamento de Dados

Essas seções da ajuda também incluem tópicos que contêm informações sobre a definição de elementos do modelo de armazenamento de dados específicos aos DBMSs (Database Management Systems) suportados pelo Rational Rose Data Modeler.

Projetar Procedimentos Armazenados para Distribuir Comportamento de Classe ao Banco de Dados

Defina os procedimentos armazenados, conforme necessário, para suportar o armazenamento e recuperação eficazes de informações no banco de dados. Examine as operações das classes de design utilizadas para criar as tabelas iniciais para possíveis procedimentos armazenados.  Os procedimentos armazenados podem ser implementados como procedimentos ou funções.  Para obter mais informações sobre como criar procedimentos armazenados no Modelo de Dados, consulte os seguintes tópicos da Ajuda on-line do Rational Rose Data Modeler:

  • ícone de manual de ajuda Procedimentos Armazenados
  • ícone de manual de ajuda Criando Procedimentos Armazenados
  • ícone de manual de ajuda Trabalhando com Procedimentos Armazenados

Além disso, é possível definir acionadores, conforme necessário, para controlar e gerenciar modificações nas informações das tabelas. Consulte os seguintes tópicos da Ajuda on-line para obter mais informações sobre a criação de acionadores no Modelo de Dados:

  • ícone de manual de ajuda Personalizar Acionadores
  • ícone de manual de ajuda Criando Acionadores Personalizados
  • ícone de manual de ajuda Trabalhando com Acionadores Personalizados

3. Revisar os Resultados

Verifique os resultados do design de banco de dados no Modelo de Dados para consistência com o design do aplicativo no Modelo de Design e com a estrutura geral da arquitetura do aplicativo.  Consulte Lista de Verificação: Modelo de Dados para saber os itens específicos a serem revisados.

Tópicos Adicionais

Essa seção do mentor de ferramenta descreve alguns itens adicionais relacionados à engenharia round-trip e à manutenção do modelo de dados e do banco de dados.

Redirecionar Engenharia do Modelo de Dados

Quando o design de banco de dados detalhado (incluindo o design de armazenamento de dados) tiver se desenvolvido o suficiente no Modelo de Dados, você poderá utilizar o Assistente de Engenharia de Redirecionamento do Rose Data Modeler para gerar um DDL ou um esquema do banco de dados a partir do seu diagrama do modelo de dados. Esse assistente lê o esquema no modelo de dados e gera um script DDL para o DBMS especificado no assistente. No assistente, é possível optar por executar o script DDL para gerar um esquema do banco de dados.

No Assistente de Engenharia de Redirecionamento, você seleciona as opções a serem geradas:

  • Tabelas
  • Índices
  • Acionadores
  • Procedimentos Armazenados
  • Visualizações
  • Espaços de Tabelas
  • Nome completos. São utilizados como prefixo do nome do esquema para os nomes de tabelas.
  • Identificadores de aspas para tabelas, colunas e esquemas obrigatórios para a localização utilizando DBCS (double-byte code set)
  • Instruções de queda SQL para sobrescrever scripts DDL existentes, elementos ou comentários do banco de dados

Você deverá se certificar de que a conectividade do banco de dados tenha sido estabelecida corretamente para ativar o processo de engenharia de redirecionamento para execução.  Consulte os tópicos da ajuda on-line do Rational Rose Data Modeler para obter mais informações sobre a Engenharia de Redirecionamento:

  • ícone de manual de ajuda Redirecionar Engenharia de um DDL ou um Banco de Dados (Informações do processo de engenharia de redirecionamento)
  • ícone de manual de ajuda Redirecionar Engenharia de um DDL ou um Banco de Dados (Etapas específicas para execução do Assistente de Engenharia de Redirecionamento)

Consulte a lista de tópicos do DBMS na seção ícone de manual de ajuda Referência da Ajuda on-line do Rational Rose Data Modeler para obter informações específicas sobre mapeamento do tipo de dados, conexões com o banco de dados e outros tópicos relacionados à engenharia de redirecionamento do Modelo de Dados para um DBMS de destino específico. 

Manter o Modelo de Dados

Quando for executada a engenharia reversa de um Modelo de Dados para criar um banco de dados, você poderá utilizar o Assistente de Comparação e Sincronização do Rational Rose Data Modeler para manter a consistência do modelo de dados com o banco de dados implementado. 

Ao sincronizar o Modelo de Dados com um banco de dados implementado, você deverá se certificar de que a conectividade do banco de dados tenha sido estabelecida corretamente para ativar o processo de comparação e sincronização para execução.  Consulte os seguintes tópicos da Ajuda on-line do Rational Rose Data Modeler para obter mais informações sobre a Comparação e Sincronização do Modelo de Dados:

  • ícone de manual de ajuda Comparando e Sincronizando o Modelo de Dados  (Informações do processo de Comparação e Sincronização)
  • ícone de manual de ajuda Comparar um Esquema com um Banco de Dados ou um Arquivo DDL de um Banco de Dados ou Arquivo DDL (Etapas específicas para execução do Assistente de Comparação e Sincronização)

Consulte a lista de tópicos do DBMS na seção ícone de manual de ajuda Referência da Ajuda on-line do Rational Rose Data Modeler para obter informações específicas sobre mapeamento do tipo de dados, conexões com o banco de dados e outros tópicos relacionados à comparação e sincronização do Modelo de Dados com um DBMS de destino específico. 

Além disso, consulte a Ajuda on-line do Rational Rose Data Modeler ícone de manual de ajuda Modificando Modelos de Dados para obter informações sobre regras específicas para fazer modificações nos elementos do Modelo de Dados.

Reverter Engenharia do Modelo de Dados de um Script DDL ou um Esquema do Banco de Dados

Utilize o Assistente de Engenharia Reversa do Rational Rose Data Modeler para gerar um modelo de dados de um esquema do banco de dados ou arquivo DDL.  Esse assistente lê o esquema do banco de dados ou o arquivo DDL e cria um diagrama do modelo de dados que inclui os nomes de todas as entidades do identificador entre aspas. Dependendo do DBMS, o Assistente de Engenharia Reversa do Rose Data Modeler modela tabelas, relacionamentos entre tabelas, procedimentos armazenados e acionadores no diagrama do modelo de dados.

Você deverá se certificar de que a conectividade do banco de dados tenha sido estabelecida corretamente para ativar o processo de engenharia reversa para execução.  Consulte os tópicos da ajuda on-line do Rational Rose Data Modeler para obter mais informações sobre a Engenharia Reversa:

  • ícone de manual de ajuda Reverter Engenharia de um Banco de Dados ou um DDL (Informações do processo de engenharia reversa)
  • ícone de manual de ajuda Reverter Engenharia de um Banco de Dados ou um Arquivo DDL (Etapas específicas para execução do Assistente de Engenharia Reversa)

Consulte a lista de tópicos do DBMS na seção ícone de manual de ajuda Referência da Ajuda on-line do Rational Rose Data Modeler para obter informações específicas sobre mapeamento do tipo de dados, conexões com o banco de dados e outros tópicos relacionados à engenharia reversa do Modelo de Dados para um DBMS específico. 

Depois de reverter a engenharia reversa do banco de dados ou do DDL, você tem a opção de transformar as tabelas do Modelo de Dados geradas a partir do processo de engenharia reversa em classes no modelo de objeto (design). Consulte os tópicos a seguir para obter mais informações sobre o processo de transformação de tabela em objeto.

  • ícone de manual de ajuda Transformando um Modelo de Dados em um Modelo de Objeto (Informações do processo de transformação)
  • ícone de manual de ajuda Transformar um Modelo de Dados em um Modelo de Objeto (Etapas específicas para execução da transformação)
  • ícone de manual de ajuda Transformando o Mapeamento de Elementos do Modelo de Dados (Mapeamento de Elementos do Modelo de Dados em Elementos do Modelo de Objeto)