Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.
Transcript of Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.
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!