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

Post on 17-Apr-2015

105 views 0 download

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!