Post on 17-Apr-2015
Adriano FernandesJosnei Tschoeke
Julio Cezar LidaniMarco Antônio Monteiro
Introdução O Erwin é uma ferramenta CASE para a modelagem de banco
de dados através do modelo ER (Entidade-Relacionamento).
Possibilita uma maior concentração na organização lógica dos
dados e na especificação das restrições.
Facilita manutenção do Banco de Dados e sua documentação.
Evita alguns erros de usuário na definição do esquema.
Contexto Histórico Foi lançado no ano de 1989 como a ferramenta de modelagem de
baixo custo;
Os primeiros dados disponíveis na plataforma Windows;
Devido a facilidade de utilização e acessibilidade tornou-se uma
das ferramentas mais populares ente os profissionais da área;
Integração com softwares líderes de mercado: Microsoft, Oracle,
Teradata, SAP, entre outros.
Ambiente de trabalhoO Erwin possui duas formas de iteração com o usuário durante
a modelagem dos bancos de dados:
Nível lógico: preocupa-se mais com os conceitos e formas
de organização lógica dos dados.
Nível físico: apresenta mais detalhes sobre o DER (Diagrama
Entidade-Relacionamento) com informações mais específicas
sobre o banco de dados escolhido.
Funcionalidades Diferenciadas Arquitetura de Design em Camadas: Modelo dos dados
físico e lógico independente, e físico / lógico combinado.
Tecnologia da Transformação: O design físico de uma base
de dados poucas vezes coincide com o design lógico original
dos dados.
Gerenciamento de grandes modelos: Divisão do modelo em
subconjuntos menores gerenciáveis.
Funcionalidades DiferenciadasComplate Compare: Ele compara um item com outro, mostra as
diferenças e permite a você selecionar quais diferenças foram movidas e em qual direção.
Projetos de Bases de Dados: Gera templates personalizáveis que facilitam a geração de um projeto de modelo físico completo e definições detalhadas.
Armazenamento de Dados e Data Mart: Suporta técnicas de modelagem específicas de armazenamento de dados, otimizando assim o armazenamento de dados para as necessidades de desempenho e análises.
Funcionalidades DiferenciadasDefinição de Padrões: A definição e manutenção de padrões
são suportadas através do Domain Dictionary (atributos
reutilizáveis), Naming Standards Editor (glossário de palavras
válidas, abreviaturas e regras de nomeação) e Datatype
Standards Editor(mapear tipos de dados definidos pelo usuário).
Relatórios podem ser gerados em diversos formatos, incluindo HTML, PDF, RTF e TXT.
Trabalhando com o ERwin Baseado no esquema abaixo demonstraremos recursos da
ferramenta Erwin.
Criando um Diagrama ER
Para criação do DER do esquema anterior, vamos trabalhar no
ambiente lógico;
Podemos começar definindo as entidades: CLIENTE, PEDIDO,
ITEM, PRODUTO.
Definindo entidadesBasta utilizar a opcão
Entity na caixa de
Ferramentas.
ENTIDADE
Editando AtributosPara definir os atributos, é necessário somente chamar o editor
de atributos com o botão direito do mouse sobre a entidade
escolhida.
Editando Atributos No editor de atributos é possível adicionar, remover e alterar os atributos.
Para cada atributo deve-se definir o tipo do atributo, e caso o atributo seja parte da chave, deve-se selecionar “Primary Key”.
Editando atributos
Note que os atributos que fazem parte de uma chave estrangeira(atributos de
referência) só serão definidos por ocasião da definição dos relacionamentos.
Se a entidade A tem uma referencia (chave estrangeira) para a entidade B
então existe um relacionamento entre A e B onde A é a entidade filha
(dependente) e B é a entidade pai.
Inserindo RelacionamentosPara a inserção de relacionamento é preciso realizar uma escolha
entre os 4 tipos :
Complete subcategory: relacionamentos do tipo especialização
Identifying relationship: relacionamentos onde uma entidade é dependente existencialmente de outra. A chave primária da entidade pai aparece como chave estrangeira na entidade filha, a qual faz parte da chave primária da entidade filha.
Many-to-many relationship: é usado quando uma entidade A relaciona-se com n tuplas de uma entidade B, e a entidade B se relaciona com m tuplas da entidade A.
Non-identifying relationship: relacionamento entre duasentidades onde a chave estrangeira não faz parte da chave primária da entidade filha.
Inserindo Relacionamentos O relacionamento entre CLIENTE e PEDIDO é do tipo Non-
identifying relationship, pois os atributos da chave estrangeira não
fazem parte da chave primária de PEDIDO(entidade filha).
O relacionamento de ITEM com PEDIDO é do tipo Identifying
relationship, pois o atributo da chave estrangeira correspondente faz
parte da chave primária de ITEM.
O relacionamento de ITEM com PRODUTO também é do tipo
Identifying relationship .
Inserindo RelacionamentosApós escolher o tipo de relacionamento, basta clicar na entidade pai e
depois na entidade filha.
A Inserção de um Relacionamento resulta no seguinte: 1) Para cada atributo que é parte da chave primária da entidade pai, insere um atributo correspondente na entidade filha o qual tem o mesmo nome e tipo. ( o nome pode ser redefinido através do editor de relac.) 2) Insere uma chave estrangeira composta dos atributos definidos no item 1. São atribuídos valores DEFAULTs para as restrições de cardinalidade e ações corretivas da chave estrangeira, que podem ser redefinidos através do editor de relacionamentos
Editando Relacionamentos• Na inserção de um relacionamento São atribuídos valores
DEFAULTs para as restrições de cardinalidade e ações
corretivas da chave estrangeira, as quais podem ser
redefinidos através do editor de relacionamentos
• No editor de relacionamentos pode-se redefinir a cardinalidade
do relacionamento, como também as ações que devem ser
tomadas quando houver a violação de uma restrição de
integridade referencial(RI)
Editando Relacionamentos
Pasta general:
Na pasta general é possível
definir o nome, a cardinalidade
e também o tipo do
relacionamento.
- As cardinalidades do relacionamento deve ser definidas de acordo com as restrições do Relacionamento. -Se o “pai” é mandatório :one, senão : zero or one. -Se “child” é mandatório: chave estrangeira é NOT NULL - senão é NULL.
Editando RelacionamentosPasta General
Editando Relacionamentos
ROLENAME: nome atribuído ao atributo queserá chave estrangeira num relacionamento.
RI Actions: ações que devem ser configuradaspara manterem as restrições de integridade(RI).Essas ações irão gerar triggers que serão disparadosquando uma operação violar uma RI.
Pasta Rolename/RI Actions
Editando RelacionamentosApós configurar os relacionamentos teremos o seguinte
diagrama:
Obrigado!Obrigado!