Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

22
Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro

Transcript of Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

Page 1: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

Adriano FernandesJosnei Tschoeke

Julio Cezar LidaniMarco Antônio Monteiro

Page 2: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco 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.

Page 3: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

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.

Page 4: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

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.

Page 5: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

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.

Page 6: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

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.

Page 7: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

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.

Page 8: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

Trabalhando com o ERwin Baseado no esquema abaixo demonstraremos recursos da

ferramenta Erwin.

Page 9: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

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.

Page 10: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

Definindo entidadesBasta utilizar a opcão

Entity na caixa de

Ferramentas.

ENTIDADE

Page 11: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

Editando AtributosPara definir os atributos, é necessário somente chamar o editor

de atributos com o botão direito do mouse sobre a entidade

escolhida.

Page 12: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

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”.

Page 13: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

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.

Page 14: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

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.

Page 15: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

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 .

Page 16: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

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

Page 17: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

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)

Page 18: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

Editando Relacionamentos

Pasta general:

Na pasta general é possível

definir o nome, a cardinalidade

e também o tipo do

relacionamento.

Page 19: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

- 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

Page 20: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

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

Page 21: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

Editando RelacionamentosApós configurar os relacionamentos teremos o seguinte

diagrama:

Page 22: Adriano Fernandes Josnei Tschoeke Julio Cezar Lidani Marco Antônio Monteiro.

Obrigado!Obrigado!