A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Modelagem de Banco de Dados através do ERwin

Apresentações semelhantes


Apresentação em tema: "Modelagem de Banco de Dados através do ERwin"— Transcrição da apresentação:

1 Modelagem de Banco de Dados através do ERwin

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

3 Ambiente de trabalho O Erwin possui duas formas de iteração como 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 com informações mais específicas sobre o banco de dados escolhido.

4 Trabalhando com o ERwin
Baseado no esquema abaixo demonstraremos recursos da ferramenta Erwin.

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

6 Definindo entidades Basta utilizar a opcão Entity na caixa de Ferramentas. ENTIDADE

7 Editando Atributos Para definir os atributos, é necessário somente chamar o editor de atributos com o botão direito do mouse sobre a entidade escolhida.

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

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

10 Inserindo Relacionamentos
Para a inserção de relacionamento é preciso realizar uma escolha entre os 4 tipos : Complete subcategory: relacionamentos do tipo especialização Non-identifying relationship: relacionamento entre duas entidades onde a chave estrangeira não 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. 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.

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

12 Inserindo Relacionamentos
Apó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

13 Editando Relacionamentos
Na inserção de um relacinamento 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)

14 Editando Relacionamentos
Pasta general: Na pasta general é possível definir o nome, a cardinalidade e também o tipo do relacionamento.

15 Editando Relacionamentos
Pasta General - 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.

16 Editando Relacionamentos
Pasta Rolename/RI Actions ROLENAME: nome atribuído ao atributo que será chave estrangeira num relacionamento. RI Actions: ações que devem ser configuradas para manterem as restrições de integridade(RI). Essas ações irão gerar triggers que serão disparados quando uma operação violar uma RI.

17 Editando Relacionamentos
Após configurar os relacionamentos teremos o seguinte diagrama:

18 Trabalhando com Triggers
De acordo com as ações definidas para garantir a integridade referencial no editor de relacionamentos, o Erwin irá gerar automaticamente os triggers que serão os responsáveis por executar essas ações relacionadas à manutenção das restrições de integridade referencial. Apesar disso, esse código pode ser melhor configurado. Para isso, é necessário utilizar o editor de triggers templates.

19 Trabalhando com Triggers
Para redefinir o código a ser gerado para cada ação, é necessário apenas: Modificar o texto da janela “Template Code”; Atribuir um “Template Name”; Adicionar o template na lista de templates do usuário(“User Overridde”); A partir daí, seleciona-se o “Referential Integrity Type”, desassocia-se o “Attached Trigger Template” já existente e, finalmente, faz-se a associação ao template definido pelo usuário através do botão Attach.

20 Trabalhando com Triggers


Carregar ppt "Modelagem de Banco de Dados através do ERwin"

Apresentações semelhantes


Anúncios Google